Living in the Golden Age of Prototyping


Prototyping has long been an undervalued task in the world of software. It’s often seen as a necessary evil—useful, but riddled with downsides:

  • The output of a prototype is rarely production-ready because less care and attention go into crafting the backend and code.
  • Often, what you learn from a prototype reveals that the thing you tested isn’t relevant to the intended audience.
  • Coding a prototype is expensive compared to visualizing software with mockups in tools like Figma or even sketches on a whiteboard.

And yet, working prototypes are great for several reasons:

  • They are significantly less expensive to build than a production-ready version.
  • They help you learn what is most important to users in a context that looks and feels real.
  • Because they are disposable, there’s less pressure to get everything perfect.
  • High-fidelity prototypes make it easier for stakeholders to visualize the solution and provide meaningful feedback. In my professional life, I’ve often said, “The person who brings the highest fidelity prototype to the meeting wins.” Let’s call this Evnin’s Law.

For these reasons, product designers and user experience practitioners have long valued prototyping as a means to validate concepts before releasing them into the world.

The Evolution of Prototyping Tools

In the early days, experienced software designers relied on paper prototypes to mock up digital experiences and physical objects. Over time, digital tools evolved rapidly:

  • Microsoft PowerPoint was once my go-to for building complex interactions!
  • Adobe Fireworks offered a powerful toolset for static and dynamic prototypes.
  • Sketch and InVision made it easier to create clickable prototypes that “worked”—to some degree.
  • Figma entered the scene, steadily improving the experience but not quite reaching the finish line for creating fully functional prototypes.

Enter the Golden Age

Some critics complain that LLMs generate low quality code. That may be true if you’re thinking about production applications that serve tens, hundreds, or thousands of users. But no matter how you slice it, today’s LLMs are excellent at assisting with building simple applications – prototypes.

We are living in a golden age of prototyping, where AI and large language models (LLMs) have revolutionized the process. With these tools, you can mock up real software quickly. While the code quality can vary, it has never been easier to create functional prototypes from scratch.

Over the past few months, I’ve built a variety of prototypes with LLMs as my guide. There are so many tools out there available for free or cheap. LLMs like ChatGPT, Claude Sonnet, and Ollama. IDEs like Cursor, Windsurf (My current favorite!), and Zed.

Once you start toying with ideas, it’s hard not to start building.

Prototypes I’ve Built

  1. Storybuilder: Creates personalized stories for kids (storybuilder.club). Read more
  2. Trustfall: Helps parents quickly get and stay organized (go.trustfall.app).
  3. A phone number you can call to practice job interviews and receive feedback.
  4. A site that provides compensation information for various job titles.
  5. An iPhone app that puts silly images on my kids’ faces in a photo.

Each of these has taken me a few minutes to a few hours to build the basic concept out and get a feel for the interface. It’s such a powerful feeling!

The Call to Action

Prototyping has moved from a behind-the-scenes option to a tool that can be used early and often, empowering builders to move faster, test smarter, dream bigger, and build things that people want! The barrier to entry has never been lower, and the potential to create impactful, real-world solutions has never been greater. Whether you’re experienced or just starting out, there’s no excuse to sit on the sidelines.

The tools are accessible, and the opportunities are endless. If you’re ready to explore, reach out—I’d be delighted to give feedback on your practice.


Leave a Reply

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