Jeremy Smith is a Ruby on Rails developer with a designer’s eye who runs his own web studio. He’s also the co-host of the IndieRails podcast focused on indie developers and small business owners who share a deep passion for the Rails framework.

After talking to him at the RailsWorld conference in Toronto and later at Balkan Ruby in Sofia, I found his experience unique and was glad he shared so many of his learnings for Developer Bites.

How did you become a developer, what’s your developer story?

When I was a teenager in the mid-90s, my dad got dialup internet through the university where he was getting his masters degree. I remember that first website I saw after getting online and opening the browser. It was just the university’s homepage, but for me, it was love at first site. I knew I had to learn how to make websites.

Fast forward to freshman year at university. I entered the computer science program, but for the first time in my academic career, I really struggled with the programming classes I was taking. I left the program and switched majors after getting my first-ever D on a midterm, deciding I just wasn’t smart enough. But at the same time, I had a student job building web applications for a department on campus, and I was designing and building websites in my dorm room every day.

It took a long time, but I taught myself to program first with HTML, then with something called Filemaker CDML, then ASP classic, then PHP, and eventually I found Ruby and Rails in my twenties. That’s when I really started to get somewhere with my learning.

Looking back, I realize that conventional education often expects students to go from theoretical to practical. And some people seem to manage this with relative ease. But for me, I had to build real, practical things and come to understand the theoretical concepts through building. For example, I had to learn Rails before I could learn Ruby and object oriented programming. What I wanted most was to build web applications. The knowledge of how to program was more incidental, and came through the doing.

From your experience, what makes someone a 10x engineer, and how can a developer become one?

The 10x concept always strikes me as a little strange, and more mythical than true to life. Like, I never hear someone talking about a 10x guitarist, or 10x plumber, or 10x farmer. If I heard of a 10x guitarist, I would guess they took some raw talent and combined it with very dedicated practice over a long period of time. If I heard of a 10x plumber, I would guess they learned how to diagnose and fix lots of issues by doing lots of jobs, and found a way to get serious efficiency gains along the way. If I heard of a 10x farmer, I would guess they learned wisdom and care for plants and animals growing up in a strong farming culture, and were equally blessed with fertile land.

If there is such a thing as a 10x developer, I’m guessing they take some amount of raw talent and combine it with very dedicated practice over a long period of time. They learn to diagnose and fix lots of issues by doing lots of jobs, and find ways to get more efficient. And they learn wisdom and care within a strong culture of craft, and find fertile environments where they can thrive with high output.

What motivated you to start your own web studio, and how did you know the time was right?

It was a combination of things. I had stopped growing professionally in the organization I was working for, but I didn’t want to move my family for a new job. I wanted to have flexible hours so that I could work on my own projects. And I wanted to work from home while our kids were little.

But I think the core motivation was autonomy. In Drive: The Surprising Truth About What Motivates Us, author Daniel Pink argues that there are three aspects to motivation: autonomy, mastery, and purpose. Looking back at how I’ve made professional and personal decisions in life, it’s clear to me that I prioritize autonomy almost every time.

In terms of timing, there were several things that weren’t ideal. We had three young children, I didn’t have much business savings, and we were living solely off my income. I didn’t have much of a professional network, I didn’t have many leads, nor did I know how to find them. And I still had a lot to learn about managing client relationships.

But, I had developed some solid design and development skills, knew Rails pretty well, and most importantly, my employer had agreed to become my first long-term client. This gave me a lot of stability as I got going.

What’s a belief about running a small software business that you think most people get wrong?

The first thing that comes to mind is that people tend to overindex on the technical aspects and underestimate how much of the work is relational: listening, understanding, diagnosing, imagining, collaborating, consensus-building, persuading, de-risking, presenting, and reflecting. If you want to build a freelancing or consulting business, developing relational and communication skills is an absolute must.

What makes Ruby on Rails still the right choice for indie developers in 2025?

I may not be a fair judge, as I don’t have much experience with other web frameworks. But there are few things I would highlight for why Rails is a great choice. It’s been around long enough that much of it is stable and boring, allowing you to focus more on what you’re building than on your tooling. It’s well-suited for small teams and individuals. There’s a culture of openness and sharing, allowing you to follow the paths that others have cut through the jungle. There’s a large enough ecosystem that, if your product takes off, you’ll be able to hire developers or consultants or agencies to scale and grow.

As a developer with a designer’s eye, how do you approach UX when building your own products?

Start with screens and flows. So many developers working on their own apps start with data modeling and CRUD interfaces, but this usually leads to suboptimal user experiences. The problem is, if you start by modeling data objects, you can’t see anything else other than those objects when you move to laying things out on a screen. So you end up with tables of records that look like a spreadsheet, and one single, long form with inputs for every model attribute.

You need to turn off the developer part of your brain and start by thinking about and designing the screens users see and the flows as they move through the app. This doesn’t have to be high fidelity mockups in Figma, it can just be rough sketching with pencil and paper. If you’re struggling to figure out layouts, go study the screens and flows of apps you like or apps that are analogous to what you are building. Expect that design should take every bit as much time, care, and attention as your code.

Do you think developers should learn design basics, and if so, where should they start?

I think it depends on the developer’s proximity to the delivery of visual interfaces. (I think this is also true for other domains as well, whether product, marketing, security, operations, etc.) The closer they are, the more design skills are a benefit, or even a requirement.

Refactoring UI is the practical resource I suggest developers start with. The book is great, but the accompanying videos can also be really eye-opening about the process of getting better design results.

What’s a recurring theme or challenge you’ve noticed among the indie founders you interview on IndieRails podcast?

One of the most common themes is the necessity of marketing, whether selling SaaS products or consulting services. I’m coming to see that sales and marketing should be around 50% of the effort for getting a software product off the ground, and at least 25% of the effort for a service business.

Has hosting the podcast changed how you think about your own business or development approach?

Absolutely. It’s broadened my perspective on the number of paths there are to build a business as a Rails developer. It’s increased my respect for marketing and finding customers. It’s helped me see just how true it is that everyone is mostly just figuring things out as they go along. And it’s made me more confident in the work I’m doing and the business I’ve been trying to create for myself.

Tell us about Liminal — what problem does it solve, and why bring back forums in 2025?

Chat has come to dominate the online communication landscape over the last few years. I don’t know about you, but I’m in dozens of Slack and Discord groups, not to mention WhatsApp and group texts. It’s just too many inboxes, and far too much noise. I’m either frantically clicking on every ā€œnew messageā€ badge and notification, scrolling back through chat logs, trying not to miss anything good. Or, more likely, I’m ignoring everything but work chats, and missing interesting discussions and connections with people I’d like to keep up with.

On top of that, almost all of the private community Slack groups I’m in are on the free plan (because the pricing on paid plans is absurd for anything but business). And on the free plan, you can’t search or read any discussions older than 90 days! How can you run a team, or build a community with no long-term memory? Also, many of the groups I’m in could easily be made public, search indexable, and accessible without a login. Sometimes there are good reasons for private, restricted groups, but in many cases, it’s only the tools that are keeping them private.

The alternative is something we’ve had for a long time: forums. But there are some challenges. First, many existing forum tools were built a decade or more ago and feel out-of-date. Also, the success of Slack and Discord show that community hosts and members like having multiple groups within a single app. It’s easy just to add one more when everyone is already using those tools.

My goal with Liminal was to bring old-school forums into the present, provide a modern UI that feels like the chat interfaces we’re used to these days, but optimize the experience for long-form, topic-based discussion. One app, one login for all your Liminal forums. One username identity across all your Liminal forums. And one personal inbox for all your active discussions.

What were the biggest technical or product challenges in building it, and how did you overcome them?

Initially, the biggest challenge is just going from 0 to 1. Getting something workable and into the hands of users that can try it out. Last August, I committed to a goal of building the MVP on the side in 3 months. Along the way, I shared about the experience on Twitter and in the Building Liminal podcast.

There weren’t too many really difficult technical challenges in building the MVP, but one that stands out was how to track topics with unread posts within channels that users were subscribed to. (Each forum is a space made up of channels. Channels have topics, which have posts.) Long story short, I ended up creating the concept of topic subscriptions, so that when a user subscribes to a channel, a topic subscription record is created for every topic in that channel, which tracks the unread status. This approach means that table will get really big over time, but it makes it so that I can use topic subscriptions as the source of truth (like a feed) when displaying the topics in a channel to a logged-in user. There’s a longer discussion about this here on Twitter.

You’ve said you’d never go back to building in private — what benefits have you seen from building in public, and how has it impacted your product or mindset?

For every product I’ve attempted to build, it was never a matter of if I could actually build it or not. It was a matter of if other people would actually use it or not. And I’ve built many things that never got user traction. Building in private pushes all the work of marketing to the end, and gives you no early signals if you are on the right track. Building in public isn’t a guarantee of success, but it improves your odds. It also helps you learn the skill of earning other people’s attention, and that’s essential if you create things that other people will use.

What’s your approach to marketing Liminal — how do you plan to get it in front of the right audience?

One thing that building and launching the MVP in public showed me is that I had earned the attention of other developers and product folks. And they had many nice things to say about the product. But most of them were not the buyers. They weren’t community organizers or team leaders looking for a place to have async, long-form discussions with their groups. One challenge I have is that Liminal is general-purpose–it’s meant to be horizontal. That means there’s not really a vertical to target as the right audience. What I need is to find the people that are about to pull the trigger on setting up a Slack or Discord, or considering paying for a forum product. And so far, that’s been hard to figure out. If I’ve learned anything from trying to build my own products, it’s that marketing is the hard part.

How are you using AI tools in your workflow—whether to speed up development, build products like your forum app more efficiently, or automate daily tasks? Any unexpected wins or tools you’d recommend?

Nothing too fancy. My daily editor is Zed, and I’m currently using it’s Edit Prediction and Inline Assistant tools. I also use Claude chat pretty regularly, and that’s probably what I get the most value out of, honestly.

What advice would you give to a Rails developer who wants to transition from full-time employment to indie work?

Do as much as you can to improve your chances of success before going out on your own. Assuming your development skills are already sufficiently good, work on marketing and sales, build your network, and build up some business savings. You are going to need some extra margin in your life, so I’d recommend not trying this when you are going through other big life transitions, or if you have young children or elders to care for, etc. Work on the side for as long as possible, to learn how to market, sell, and deliver the work you’ll be doing when you go out on your own. Find at least one ā€œmarketing channelā€ where you are earning attention and building trust with the kinds of people who could be your customers or clients in the future. This might be a newsletter, a social media presence, a blog, or something else. But you need at least one.

How do you stay motivated during the inevitable low points in indie building?

One big motivation is that there’s no guaranteed paycheck. I need to make payroll every month for my tiny company of one, and that helps me stay focused. I’m also highly motivated by my clients. I love building relationships with them, learning about their businesses, coming to understand what they are trying to achieve for others and for themselves, and then working alongside them to help them get there. And finally, I’m motivated by the professional community I’ve found in Ruby and Rails, whether connecting with people online, through podcasting, or at conferences. I’m inspired by what others are doing, I’ve gotten help with technical and professional challenges, and I’ve been encouraged by many folks with the goals I’ve set or things I’ve shared.

What’s a mistake you made early on that taught you something critical for your later success?

I’ve made so many mistakes, it’s hard to know what to pick! But I’d say a big one in line with the themes here is that building a solo dev business should not mean doing your work alone. I spent many years just heads-down in client work and my own side projects, with very little professional community and rarely interacting with others in my field. My professional satisfaction improved dramatically when I started investing more time and energy into professional community. For me, that was sharing more on social media, attending and speaking at conferences, starting a podcast with a friend, joining a mastermind group, and collaborating on side projects with others.

In the Picks section you can share any resource that’s worth checking out. Do you have any picks for us?

Ok, I’ve got three picks for you:

  1. I’ve been watching The Wheel of Time with my youngest daughter. We just finished season 3, and I think it’s now one of my favorite fantasy shows.
  2. I’ve been learning a lot about attachment theory for the past few years. One of the best resources I’ve found is Heidi Priebe’s YouTube channel.
  3. This post from PostHog’s Product for Engineers blog is one of the best things I’ve read this year related to building products: 50 things we’ve learned about building successful products