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.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 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