Product development with Claude AI, lessons learned

Posted on Posted in Business, business advice, Hiring Consultants, Marketing, Outsourcing IT

For the past five years I have been an angle investor and Board observer to a startup company.  The company has been doing well developing and marketing its B2B services.  However, I’ve been advocating for a B2C product, as well.  After several conversations with the Board and founders, I offered to take the lead on developing the B2C site as a sort of skunk-works operation, thereby allowing the founders and the company to stay on task while we explored this opportunity.  In short, I’ve taken on the role of acting Product Manager for a new product line.  This will be the first of my posts on the project.

In order to minimize impact on the company’s day-to-day operations, my plan was to gather specifications and hire outside developers to build an MVP site, launch it, drive traffic to it and see if it proved my thesis right.  If you are a follower of my site and show, you’ll know that I have a background of over 25 years of software development experience on large-scale enterprise projects, as well as experience being the COO of several successful B2C companies (and a few not so successful, too).  I’ve learned that you need to get something out to market quickly, see if it gets traction, and use the data to determine whether to keep it going or kill the project.

Flow Chart Visio document uploaded to Claude
Flow Chart Visio document uploaded to Claude

So, I set out to develop specifications that I could hand off to a couple developers to get a quote for building an MVP site.  To do so, I created a detailed Visio diagram showing the entire logical process flow (sorry, the attached figure is low-res to maintain confidentiality).  Along the way I had to create documents to explain the Visio diagram and produce the ancillary text, define lookup tables, determine what elements we’d build from scratch and decide what services we would offload to 3rd party vendors via APIs (i.e. credit card processing, sales tax processing, persistent storage, analytics, A/B testing, etc.).  As I got to the point of seeking bids, I thought to myself, I wonder if an AI tool might be able to build the site for me?  I’ve heard good things about Claude, so I thought, let’s give it a try…

I fed my Visio diagram and Word docs into Claude and viola, a couple seconds later it created a full prototype site in a single HTML file.  Mind you this was a standalone site with no persistent storage; however it was a beautiful simulation of what I’d designed.  Claude did an excellent job of reading the Visio file and created perfect decision branches for each diamond in the file as well as the actual user interfaces for each step along the way.  Being able to show the founders a “functioning” site completely piqued their interest in the possibility of going B2C.  It allowed us to explore the user experience, refine our product offering and realize that this could really be a game changer.

By iterating through several prototypes, we were able to see how our B2C product differed from our B2B product.  In short, it helped us define three tiers of our product line for consumers, where only one exists for our B2B customers.  We were able to reveal and talk through how a B2C offering might conflict with our B2B customers and, therefore, take steps to mitigate any risk.  All this occurred in a matter of three weeks, a time frame that we never could have accomplished with the traditional route of handing this off to an outside development team.

As of this post, I’ve spent about 70 hours over four iterations of: 1) modeling, 2) writing detailed instructions for Claude and 3) developing end-user copy (Product detail pages for three tiers of the product, FAQs, compare features tables, etc).  Of that, approximately two to three hours is the actual time interacting with Claude.  And, of that time, maybe 15 minutes is Claude’s actual processing time!

We now have a fully functional, fully developed, self-contained demonstration site in a single compact HTML file.  It simulates user signup and account creation (with email validation and 2FA), takes a user down three distinct product offering paths (each with multiple options),  gathers all user selections into a professional-looking, fully functional shopping cart with the ability to input a customer’s shipping and billing information, allow for payment in full or installments, perform sales tax calculations, and require users to confirm important terms and conditions before completing the checkout.  Claude was able to provide full data field validation for numbers, strong passwords, email address and for preventing malware insertion; implement geotargeting based on a user’s zip codes and, for those out of our service area, capture a lead for when we are available in their area.  It created complex mandatory and optional user selections, provide hooks to call services for scanning in driver’s licenses, collecting and reporting sales taxes, allows for geotargeting so we can roll-out in phases nationwide, accept valid Visa, MC or Amex cards and so much more.

Plan selection page
Claude generated plan selection page

Claude crafted excellent readable code.  However, it was not bug free.  There were several iterations where the page would not load, where the site would crash mid-way through a task, or simply display a blank screen at some random point.  To get past these issues, at times Claude would ask me to look through Chrome’s Code Inspector to help it solve the issue.  At other times it offered me code snippets to run, which would either fail or complete.  In the end, with my prompting and help, Claude was able to debug everything.

To be clear, this is not a deployable site.  There is no middleware and backend persistent storage.  I have no doubt that Claude could help me create that, but I do not want to own the coding, long term.  My role is product manager and Claude helped me define and build out a perfect demo site.  In that regard, it has helped me produce what is probably the best-defined specification I’ve ever been able to give to a developer, because I don’t need to explain what the site needs to do, it already does it.  In other words, the developer doesn’t have to create any of the logic, it’s already fully baked and fully functional.  They only need to create a node.js layer, persistent storage and insert API calls into locations in the code that Claude has clearly marked.  I can hand this off to the engineers and move on to marketing and business development to bring this product to market.  To do by hand what Claude did for me would have taken at least 4-5x the time and involved at least one or two FT developers.

Lessons learned –

  1. Claude can make extremely sophisticated and complete code.
  2. For a complicated site you’ll need to purchase at least a Max plan ($100/mth). I quickly ran out of resources in the free and pro plans. In my case, I ran out of resources within a given chat which means I had to take the end result of one chat and carry it forward into a new chat.  Carrying the prior context forward to the next chat is non-trivial.  Expect Claude to approach the new chat with very different responses, approaches to coding and other anomalies.  You’ll need to optimize and practice economy when moving to the next chat, in order to preserve its resources as well. (After upgrading from Pro to the Max plan, the chat session did not run out of resources, so I don’t know if that would have been the case if I had been a Max subscriber from the start)
  3. Claude will make random and odd changes to the copy you’ve asked it to include. You need to re-read everything to make sure your product says what you want it to say.  Even when it gets the copy right it may rearrange the paragraphs or bullet lists in random ways.
  4. Claude will contradict itself often and may even hallucinate mid-project. Can be funny but scary, too.
  5. If you are careful and detail oriented, you can achieve amazing results.
  6. Claude is not intelligent.  It will program what you ask it to do, but don’t expect it to “think”.  It’s not going to suggest a better way to do something.  Its not going to think of security or privacy matters unless you specifically ask it to.  In other words, it will do an excellent job of producing what you ask it to, but it is not “thinking” and therefore, it is not like a colleague looking at the overall task and considering what’s missing, what’s strategically necessary and anticipating what you haven’t thought about.
  7. I have not been a programmer for almost two decades but, prior to that, had over 25 years of extensive experience. Knowing how to craft a thorough flowchart and description made this work possible.  If I didn’t have the prior experience, I think my results would have been very random and unsatisfactory.
  8. I am concerned about what Claude, and tools like it, will mean for young developers looking for entry level positions.  On the one hand, they won’t have to do some of the tedious work that I did.  On the other hand, how do you become a senior developer if you were never allowed to be a junior developer?  My advice to those pursuing CS careers would be to work on developing analytical and communication skills.  Learn how to gather very thorough specifications, how to put those into a design diagram and how to carefully explain what you want the AI tool to achieve.  In doing so, one will be handed very nice code to review, learn from and iterate.  Over time, these skills will be the ones most needed to make sure the tool is serving its master and not the other way around.  This could be another post in itself, but briefly, learn how to ask questions, listen and translate what you’ve heard into clearly documented specifications.  Feed that information into your AI tool and use the output to iterate until your product is done.  Use your CS skills to verify the code and look for ways to make it more efficient.  Claude created bug free usable code, but I found may many routines duplicated rather than generalized into efficient functions.

As the project moves into production, I’ll follow up with the results of our test.  Till then, thanks for reading.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.