Posts

How to self-publish a programming book

Ayush Newatia shares his journey of making the Rails and Hotwire Codex
Buckingham Palace, as viewed from its gardens.

Today I'm excited to share a conversation with Ayush Newatia, author of the Rails and Hotwire Codex.  He describes the project as “the most challenging and rewarding professional work I’ve ever done.”

I bought his book a couple of years ago to help me learn more about building full-stack applications with the Ruby on Rails and Hotwire frameworks. It bridges the gap between beginner-level tutorials and building Rails applications in a professional setting.

Ayush and I met in London last week to collaborate on some work with Find AI, so I thought it would be fun to record a chat about how and why he published this tome about full-stack development with Ruby and Rails.

We cover:

  • How he came from the iOS + Android mobile apps to Ruby on Rails
  • Why he decided to write a book unifying Rails + mobile apps
  • How he had never made a mobile app with Rails before starting a book on this topic
  • How he motivated himself to finish the book and get it shipped
  • Why writing is a superpower for programmers
  • The value of doing hard things without taking shortcuts
  • How doing hard things is the best way to stand out as a modern knowledge worker

Watch on Youtube. Listen to a recording of this conversation on Apple PodcastsSpotify, or other podcast players.

The next iteration of Contraption Company

From indiehacker back to venture-funded founder
Coffee at Allpress in Shoreditch

Listen to a recording of this essay on Apple PodcastsSpotify, or other podcast players.

When I left Webflow two years ago, I started working full-time on Contraption Company, a product studio that makes tools for online work. I sought to build independent software, and I launched products like Postcard, Booklet, and FRCTNL.

Two years later, my role with Contraption Company is changing. I am now focusing full-time on Find AI, a venture-backed startup I co-founded.

I started Find AI earlier this year, but the story precedes that. Around the time I left Webflow, I began working with an AI lab as a fractional head of product. This part-time work funded my studio while I built its first applications.

Over those two years, the AI lab experimented with several product ideas, ranging from enterprise software to consumer mobile apps. We built many cool experiments that pushed the edges of LLMs. I also enjoyed working with the AI lab founders—they contrasted my skills, and I learned from them.

Earlier this year, the AI lab shut down its last product, and the founders began exploring other ideas. One hatched plans to build a massive GPU data center. He hired an outbound sales company to find customers, and he was frustrated by how much time the agency seemed to waste just clicking around LinkedIn. So, I got a call - "Could we use OpenAI to automate this?"

I started by scraping the YC startup directory and then used OpenAI to analyze the data, asking, "Find startups that might want to rent GPUs." The script was slow—it took hours and thousands of dollars to run. But the results were excellent —and this system far outperformed human lead generation. Instead of using LLMs to write text or build a chatbot, this application used them to analyze data.

"This could be a product," we thought. I set up a website, Find AI, and got to work. I added more data, optimized the searches to be faster, and developed techniques to make them cheaper. As I did that, people began to find the website, sign up, and even pay us. Before launch, we had customers ranging from prominent investors to a Fortune 500 company. It was clear that we were solving a problem.

Initially, I continued building Contraption Company projects while working on Find AI. But, as time passed, I began waking up each morning with more excitement for Find AI than my indie projects.

As Find AI began hiring, I applied the future of work theories I had been developing at Contraption Company. I set up a Booklet for async communication, launched an official fractional work program, and began hiring from my FRCTNL community.

We launched Find AI two months ago, and the response was overwhelming. On launch day, we had about 50,000 visitors, made millions of requests to OpenAI, and gained more customers. I've spent the weeks since launch scaling the software, developing new features, and hiring more people.

Along the way, I realized - I'm not building indie software anymore.

I started Contraption Company to build the software I wanted. When it was clear that the market didn't love those products, I chose not to pivot because I was bored by the alternatives. In hindsight, I chose to build an "independent" business instead of raising money because, given the choice between interesting work and commercial success, I preferred interesting work.

With Find AI, everything changed. I found a project I want to work on and a project that the market wants. That's a rare and valuable confluence, so I've gone all-in on this startup and stopped building a product studio.

For the past two years, I have treated Contraption Company as a mix of both art and business. Now that I've picked a business pursuit, I can unbundle—with Find AI for business and Contraption Company for my creative interests.

Contraption Company will now be more of a media brand where I'll write essays, share conversations, and publish fun projects. I intend to pursue my interests here without applying the filter of commercial viability.

If you want to follow along with my journey and work, subscribe to get updates.

In most cases the recipe for doing great work is simply: work hard on excitingly ambitious projects, and something good will come of it.
- Paul Graham in "How to Do Great Work"
The opportunity of tech talent agents

With the shift to remote work, companies unlocked a global labor pool. Job posts began receiving hundreds of applications each. In the past months, AI tools accelerated this problem by enabling candidates to spray-and-pray applications to hundreds of jobs at a time. Companies are struggling to hire amid a sea of noise.

According to the Paradox of Choice, when faced with multiple options, people either approach the problem as “maximizers” seeking the best option or as “satisficers” who settle for a “good enough” choice. The status quo is fine for companies looking for “good enough” candidates, such as big corporations. But for startups and small businesses that care about finding the best talent, hiring in the current environment is a nightmare.

Sometimes, unexpected answers can be found by looking at how things are done in other industries. In the case of tech hiring, the solution might be Hollywood. Movie studios don't hold open castings for the starring role of every film. Instead, they seek out proven talent. To find that proven talent, studios go to talent agents.

Compared to ten years ago, far more startups hire contractors instead of employees. This shift started with the rise of remote work, where companies structured almost all foreign hires as contractors to simplify compliance. The recent tech downturn drove more contractor and fractional hires because these workers were more flexible and expendable than employees. The slashing of middle management across companies like X and Meta further reduced incentives to hire "good enough" employees because managers became judged on output instead of headcount.

As AI has driven a recovery in the tech industry, many companies have stuck with contractors because they get work done. Contractors tend to be experienced professionals who focus on output instead of politics. And, the contractor process bypasses the slow and bureaucratic process of hiring or firing an employee.

Historically, companies leveraged external recruiters to find employees. These recruiters earned a sizeable fee per hire - typically 25% of the employee’s first-year salary. This pricing made sense in an era when employees expected to stay at a company for years. However, over time, recruiters became incentivized to have candidates change jobs frequently. By the mid-2010s, as companies such as DeveloperAuction offered employees $2,000 and a bottle of Dom Perignon to switch jobs, companies began pushing back on high recruiter fees. Recruiters have been struggling ever since.

Modern recruiting fees are rooted in US tax law. Companies can write off the fee as a business expense, but employees can’t. So, it’s cheaper for the company to pay the cost because it comes from pre-tax dollars.

Attempts to have employees pay the recruiter fees have largely failed. Lamba School popularized Income Share Agreements (ISAs), and Free Agency tested them in tech recruiting. Both companies struggled because fees were calculated on pre-tax salaries but paid post-tax, leaving employees with sticker shock as their 25% ISA ate up 40% of their take-home pay.

Hollywood originated the talent agent model. Talent agents help their clients find work, negotiate better terms, and navigate their careers. In exchange, they clients pay the agent 10% of all of their earnings. (If you work in tech recruiting, definitely read Powerhouse).

Pricing is inexact for freelance labor in tech, deal flow is inconsistent, and career growth is uncertain. A talent agent could help with all of these—setting the right price, avoiding feast-or-famine work cycles, and finding the best opportunities instead of taking the first one that comes along. The value of those services offsets a 10% fee for an independent contractor, and the contractor can classify the fee as a business expense.

Tech companies aren’t used to working with talent agents. But, they act like no-fee recruiters who can curate the best matches for a company. And that’s what startup hiring managers want right now - a curated selection of two to four outstanding candidates. Talent agents can provide the Goldilocks zone between the noise of job boards and the high fees of recruiters, with a more personal and human relationship than any marketplace can provide.

I think it’s time for people to try becoming tech talent agents. With a 10% fee, you only need to represent nine clients to make the same income as them. Finding nine clients seems more straightforward than building a job board or making one-off placements, and the revenue is recurring. Start by finding freelancers, offering to help find them clients, and setting up a deal referral agreement.

Remote work has flattened the global labor market, and hiring managers need help navigating a world of candidates. Recent tech layoffs began shifting knowledge work to be more transactional—hiring managers are no longer sitting in an office with their team, so performance matters more than “culture fit” when hiring. The most exceptional talent has realized they have more leverage than ever and can demand higher rates and more flexible terms. Companies seeking the best talent will increasingly find that talent agents are the best way to hire them.

Thanks to Aaron and Emma for reading drafts of this.

Before and after Almost Perfect

At the beginning of this year, I spent a couple of weeks at the Almost Perfect creative residence in Tokyo, run by Luis and Yuka.

This week Luis and Yuka published a podcast we recorded during my residence. The first half was recorded on the first day of my stay, and the second half was recorded on the last day. We discuss the creative process, attitudes toward work in Japan, and how my thinking evolved during my time at Almost Perfect.

Use the player below to listen, or check out the episode on Apple Podcasts or Spotify.

Coding a Booklet AI feature

This morning, I added a new feature to Booklet. I used OpenAI to suggest new posts to write, to make it easier for members to post. It looks like this:

0:00
/0:09

Booklet AI post suggestions

Inspired by a podcast I was listening to on the way to my office, I decided to record the process of building the feature and publish it as a video.

You can watch the full video below, where I go from idea to launching the feature to all Booklet communities in two and a half hours. I hope it's helpful to see how I work, the tools I use, and the process of building an AI-powered feature from scratch.

I start with an idea, implement multiple-draft post support, write an OpenAI prompt to suggest new posts, test the AI in production, tweak the prompt based on its performance, implement a skeleton loader to display the suggestions, connect the suggestions to the editor, then deploy it to all Booklet communities.

Recording a coding video is a bit of a crazy experiment, but I hope some people find it useful. If you have questions or feedback, email me.

Watch the video on YouTube →

Notes from the recording

Talking shop with Ben Weiss

Today I'm publishing a podcast with Ben Weiss about creator versus software businesses.

While a student at Northwestern University, Ben founded Zcruit - a software for college football recruiting. After graduating, he continued to grow the business, and eventually sold it to a private equity firm.

After being a successful software founder, Ben transitioned to working on creator businesses as he became the head of operations at Meat Mafia, a media company in a period of rapid growth. Today, he continues to work with creator businesses to help them grow and scale.

In this episode, we discuss the differences between creator and software businesses, the challenges of each, and how they can collaborate.

Listen to the episode on Apple Podcasts, Spotify, Overcast, Pocket Casts, Castbox, Google Podcasts, Amazon Music, or many other players. Watch the interview on YouTube here.


Show notes

  • 00:00 Introduction to the podcast and guest
  • 00:25 From software to creator businesses: Ben Weiss's journey
  • 01:43 Deep dive into ZCruit: Building and selling a software company
  • 02:33 Transition to creator business: Operations at Meat Mafia
  • 07:09 Exploring the creator business model and value capture
  • 09:27 Operational challenges and solutions in creator businesses
  • 14:15 Advice for creators and software brands on media strategy
  • 21:58 Reflections on the shift from software to creator space
  • 23:41 The allure of the creator economy
  • 23:56 Transitioning from founder to creator
  • 24:47 The changing prestige of working in tech vs. creator world
  • 25:38 The power of attention in the information economy
  • 26:02 Creators vs. Hollywood: The battle for eyeballs
  • 26:52 Choosing between software and creator careers
  • 27:57 The value of content creation and audience building
  • 28:40 Breaking into industries through content
  • 29:31 Marketing strategies for software startups in the creator age
  • 39:39 Leveraging creators for software product growth
  • 46:20 Final thoughts on software and creator business models
How I build multiple products

I recently joined the SaaS Growth Podcast to talk about Contraption Company, product studios, and building multiple products like Booklet and Postcard. I think the interview covered some interesting topics, so I wanted to share it here.

In the podcast, I discuss the concept of a product studio, the challenges of running multiple products, and the importance of creating products that solve real problems. I also explore the value of building communities, the significance of asynchronous communication, and the need for intentional decision-making in product development. We end with some discussion about the nuances of onboarding and product documentation.

Listen to the podcast and find links for your podcast player on carlanderson.xyz.

Show notes

  • 00:00 Welcome to the SaaS Growth Podcast with Philip Thomas
  • 00:54 The Genesis of Contraption Company and Product Studio Philosophy
  • 05:15 Exploring the Product Suite: From Postcard to Booklet
  • 06:38 The Asynchronous Communication Revolution with Booklet
  • 14:30 Building and Sustaining Online Communities
  • 18:43 Navigating the Challenges of Remote and Asynchronous Work
  • 24:12 The Contraption Company's Future and Product Strategy
  • 31:18 Advice for Builders: Thinking Big and Staying Resilient
  • 38:44 Onboarding and Documentation: Balancing User Education and Discovery
  • 43:04 Wrapping Up: Insights and Future Directions
Talking shop with Aaron Cohn from realnice

Today I'm publishing an conversation I had with Aaron Cohn for the Contraption Company podcast. Aaron is the co-founder of realnice, a simple personal website builder. realnice competes with my product, Postcard, which is also a personal website builder. So, I thought it would be fun to sit down with a competitor and talk shop.

This isn't the first time that Aaron and I have competed. In this episode, we discuss how we met, our different approaches to building website software, no-code, craft versus indie software, and more. This conversation offers a deep dive into the nuances of modern software development, valuable for anyone interested in the tech industry's latest trends.

Listen to the episode on Apple Podcasts, Spotify, Overcast, Pocket Casts, Castbox, Google Podcasts, Amazon Music, or many other players. Watch the interview on YouTube here.

Show notes

  • 00:00 Introduction and Welcome
  • 00:32 The First Guest: Aaron Cohn
  • 01:10 The Competitive History
  • 01:59 The Shift to Craft Software
  • 03:27 The Challenges of Building a Personal Website
  • 03:29 The Journey to Indie Software
  • 03:50 The Birth of Personal Website Builders
  • 04:41 The Struggles with Marketplaces
  • 05:22 The Evolution of Website Builders
  • 06:41 The Importance of Simplicity in Software
  • 11:03 About Postcard, Philip's product
  • 12:09 The Power of Personal Email Updates
  • 14:14 About realnice, Aaron's product
  • 23:03 The Power of No-Code Tools
  • 27:22 The Power of Bubble: A Developer's Superpower
  • 27:34 The Indie Maker's Journey: From Scarcity to Abundance
  • 27:46 The Pieter Levels Approach: Launching Multiple Apps
  • 27:50 Craft Software: The Art of High Conviction Development
  • 28:10 The Rise of Craft Businesses: A Case Study of Glass.photo
  • 29:09 The Indie Hacker's Dilemma: Money vs. Passion
  • 29:44 The Artistic Element in Software Development
  • 30:21 The Power of Distinctiveness in Craft Software
  • 32:38 The Challenges of Building Personal Website Builders
  • 36:09 The Future of Personal Website Builders: New Features and Ideas
  • 37:15 The Importance of Design in Product Development
  • 38:47 The Real Competition: Battling the Status Quo
  • 39:19 The Power of Collaboration in Business
  • 39:33 Conclusion: The Contraption Company Podcast

People mentioned