DEV Community

Rails Designer
Rails Designer

Posted on β€’ Originally published at railsdesigner.com

3

Build Features from the Outside In

This article is part of a new Rails Designer section, called Build a SaaS with Rails


Depending on how much of a developer you (think) you are, this process describe might be the only logical one to you. But it happens often enough, when I explain how I build features (from the outside-in), I get weird looks and questions what it is. So here I am doing the only logical thing when things like this happen too much; I write it down in this short article.

This process, sometimes referred to as Outside-In Development or Frontend-First Development, is nothing more than starting with the user perspective: the HTML (a UI component or HTML form). Then from here, you go up the chain: to the router, controller and then the model (or some class).

Why work from the outside-in?

To me it helps to develop quicker. You start with what the user interacts with or with the data they enter. And never more. You don't need the full production-ready UI, but the bare minimum HTML works well enough (Tailwind CSS is great for this).

This means the requirements are clearer: you know exactly what data you need to handle. And it shows any UX issue early on. But the biggest plus to me is limiting over-engineering: you only build what's necessary for the UI. It happened too often to me that I made a great and smart API (fully OO, Solid, etc.), only to discover it missed certain attributes or, the opposite, it wanted too much.

This is why static mockups might seem like a time waster, but they are the Outside-In Development process in overdrive.

When I build a SaaS for others this is the process I follow for every feature.

Hot sauce if you're wrong - web dev trivia for staff engineers

Hot sauce if you're wrong Β· web dev trivia for staff engineers (Chris vs Jeremy, Leet Heat S1.E4)

  • Shipping Fast: Test your knowledge of deployment strategies and techniques
  • Authentication: Prove you know your OAuth from your JWT
  • CSS: Demonstrate your styling expertise under pressure
  • Acronyms: Decode the alphabet soup of web development
  • Accessibility: Show your commitment to building for everyone

Contestants must answer rapid-fire questions across the full stack of modern web development. Get it right, earn points. Get it wrong? The spice level goes up!

Watch Video 🌢️πŸ”₯

Top comments (0)

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

πŸ‘‹ Kindness is contagious

Explore a trove of insights in this engaging article, celebrated within our welcoming DEV Community. Developers from every background are invited to join and enhance our shared wisdom.

A genuine "thank you" can truly uplift someone’s day. Feel free to express your gratitude in the comments below!

On DEV, our collective exchange of knowledge lightens the road ahead and strengthens our community bonds. Found something valuable here? A small thank you to the author can make a big difference.

Okay