Building elegant, scalable software products: UX and product decisions

Executive overview

As software scales to more users and use cases, ad hoc design choices compound into a confusing, costly mess. The antidote is principled architecture applied early: a design system, customer observation, and deliberate naming.

Drip co-founder Derrick Reimer shares frameworks used at Drip and SavvyCal for keeping products elegant under complexity, plus how to maintain a knowledge base and approach podcasting.

The best product teams treat UX architecture the same way they treat code architecture — abstract the reusable parts, avoid repeat work, and never let the user feel the seams.

Building a design system before you need one

  • Ad hoc interface design produces a hodgepodge of inconsistent choices that confuse users and slow the team.
  • Standardise buttons, form elements, tables, and banners early — even a single reference page beats nothing.
  • Consistent spacing units (e.g. Tailwind CSS margin/padding scale) eliminate the 12px vs 16px drift that accumulates invisibly.
  • Developers should be able to take a first pass at an interface by pulling components off the shelf.
  • A lightweight internal design system speeds up new feature builds and reduces costly rethinking.

Understanding how customers actually use the product

  • Friction accumulates when expected actions aren't where users look for them.
  • Session replay tools (e.g. FullStory) and live dashboards showing real usage reveal confusion that analytics miss.
  • Technical founders carry the curse of knowledge — most users do not navigate products the way builders do.
  • Listen to customer problems, not their proposed solutions; the solution is usually wrong, the problem is real.
  • The Drip workflow builder emerged from months of hearing requests for inline if/then logic in sequence tables — the actual fix was a completely different paradigm, not a patch on the existing feature.

Naming, feature flags, and serving multiple verticals

  • Naming deserves more time than feels warranted — top-nav labels and core concepts shape how users understand the entire product.
  • Industry-standard names are worth considering even when imprecise; diverging creates onboarding friction.
  • Feature flags let you build niche functionality without polluting the UI for everyone — Drip's RSS-to-email feature was hidden from all but the ~50 users who needed it.
  • Resist adding separate products or modules until the market for the core product is genuinely exhausted.
  • If differences between verticals are mostly nomenclature, solve it with configurable labels before building separate SKUs.
  • Treat internal modules as you would external integrations — modular, installable, without wrecking the core UX.

Maintaining a knowledge base and changelog

  • Write a KB article for every feature of substance; make publishing it a condition of closing the project ticket.
  • Keep articles granular and phrased as answers to questions, not descriptions of subsystems.
  • Favour text and screenshots over video — screenshots are cheap to update; videos accumulate as documentation debt.
  • Empower support agents to update articles in real time; they spot outdated content first.
  • Use a changelog widget (e.g. Headway) to surface new features to existing users who miss announcement emails.
  • Keep changelog entries to one or two sentences: what it does and why it matters to the customer.

Podcasting: getting good faster

  • Fewer people listen in the early days — treat that as cover to be bad while building the skill.
  • Reps alone are not enough; develop taste by actively studying what makes other podcasts work.
  • Add one notch of energy above your natural conversational level — it sounds authentic on playback even when it feels artificial in the moment.
  • A co-host you can talk to naturally for 30 minutes without effort is a structural advantage.
  • Good editing removes awkward pauses and transforms a mediocre recording into a solid one.
  • Watch game tape: listen back to every episode with the intent to improve, not to cringe.

More like this — when you're ready for early access.

Join the waitlist for a personal account and content recommendations based on what you're working on.

No spam. Unsubscribe at any time.

You're on the list. We'll be in touch before launch.

Get early access to the full library.

Join the waitlist for a personal account and content recommendations based on what you're working on.

No spam. Unsubscribe at any time.

You're on the list. We'll be in touch before launch.

Be among the first to get personalised recommendations tailored to your stage in business.

No spam.

You're on the list. We'll be in touch before launch.

Be among the first to get personalised recommendations tailored to your stage in business.

No spam.

You're on the list. We'll be in touch before launch.