Skip to content
Blog

Build in Public articles

Rebuilding Book A Sloth in real time — daily field notes from shipping a SaaS.

Build in Public3 min read

Eighty-five commits and the dashboard went dark

The biggest single day of the entire build. Admin dark mode, Explore going live, DPDP compliance, and the feeling of a product outgrowing its founder.

Read article
Build in Public3 min read

A new pricing page and 57 commits

Starter, Host+, Studio. Three tiers, a coupon system, and the kind of day where you forget to eat.

Read article
Build in Public3 min read

The blog went live (yes, this one)

Somewhere between building competitor pages and an About page, I shipped the thing you're reading right now. The recursion isn't lost on me.

Read article
Build in Public3 min read

One account, two lives

A person who books a yoga class and a person who hosts a yoga class might be the same person. Today I made the product understand that.

Read article
Build in Public3 min read

The homepage I should have built first

Nine sections, a pricing table, testimonials, and the question I'd been avoiding: what does this thing even look like to a stranger?

Read article
Build in Public3 min read

The security audit that humbled me

I thought my code was secure. A proper audit disagreed -- loudly, across critical, high, and medium findings.

Read article
Build in Public3 min read

Actually live. And then the lawyers showed up.

The door opened. Real traffic, real money, real legal obligations I'd been pretending didn't exist.

Read article
Build in Public3 min read

The day after launch, I stopped building features and built a safety net

The scariest bug in a payments product is the one that happens while you sleep. So the day after going live, I built for the failures I can't watch.

Read article
Build in Public3 min read

Standing at the door, hand on the handle

Thirty posts ago I told you I was doing something that made no sense. I'm standing at the end of it, and my hand is on the handle.

Read article
Build in Public3 min read

Everything that's still duct tape (an honest list)

I could launch this and stay quiet about the rough parts. Most people would. I'm not going to.

Read article
Build in Public3 min read

Reminders, badges, and the polish that makes it feel real

The layer on top — the small touches that don't change what the product does but completely change how it feels.

Read article
Build in Public3 min read

The pricing page I rewrote five times

I counted. Five. Knowing what to charge and explaining it on one page are two completely different things.

Read article
Build in Public3 min read

Edge cases are where bookings go to die

The happy path is smooth. And the happy path is a liar, because almost nobody walks it exactly.

Read article
Build in Public3 min read

Cleanup week: deleting my own scaffolding

A stranger booked my page yesterday and it just worked. So today I started trying to break it on purpose.

Read article
Build in Public3 min read

Small win: a stranger booked my test page and it just worked

I need to tell you about the best five minutes of the whole month, and why something this small was this big.

Read article
Build in Public3 min read

The onboarding flow that decides everything

Every other screen matters to people who are already customers. Onboarding matters to people who aren't sure they want to be.

Read article
Build in Public3 min read

Cutting features so I can actually ship one

Himanshi handed me a real deadline shaped like a real person. Today I did the thing every builder secretly hates.

Read article
Build in Public3 min read

Climbing out: the message that said "when can I move my page over?"

Two posts today, two halves of the same emotional whiplash. A migration nearly took my table down; one message put me back together.

Read article
Build in Public3 min read

The migration that nearly nuked my bookings table

Yesterday I was tired. Today I was scared, which — strangely — is a more useful feeling.

Read article
Build in Public3 min read

Honestly? I'm tired.

I don't have a lesson today. Some days don't have a moral. This is one of them.

Read article
Build in Public3 min read

Google Calendar and the Meet link that wouldn't generate

A lot of bookings on Book A Sloth are online — and a confirmed booking isn't finished until both people have a link to click.

Read article
Build in Public3 min read

A paying PHP customer told me I built the wrong reschedule

The best feedback I've ever gotten came in slightly annoyed, over a phone call, from a physiotherapist named Yukta.

Read article
Build in Public2 min read

I built the WhatsApp integration, then ripped it out

Booking confirmations needed to go out on WhatsApp. That was never in question. In India, an email confirmation is half a confirmation — people live in…

Read article
Build in Public3 min read

The first time a stranger could have booked me — and it actually worked

Today the whole thing finally stood up on its own two legs.

Read article
Build in Public3 min read

Pricing a product when you already know the unit economics

Today I didn't write much code. I wrote numbers, erased them, wrote them again, and stared at a spreadsheet until the spreadsheet stared back. Pricing is the…

Read article
Build in Public3 min read

I spent two days on a calendar nobody will thank me for

Nobody will ever send me a message that says "I love your availability editor." It will never trend. No one screenshots a settings screen and says "look how…

Read article
Build in Public3 min read

Razorpay, GST, and the math that has to be exactly right

There's a category of code where "mostly works" is a disaster, and money is at the top of it. A button can be slightly off. A color can be a little wrong. A…

Read article
Build in Public3 min read

The day the whole booking flow silently created garbage

It was my birthday.

Read article
Build in Public3 min read

An 11pm rabbit hole: timezones in availability

Two posts in one day. I'm flagging that honestly, because the whole point of doing this in public is to show the real rhythm, and the real rhythm is: some days…

Read article
Build in Public3 min read

Row Level Security broke my brain (then saved it)

Before today's technical pain, a human thing, because it mattered more than the code.

Read article
Build in Public3 min read

The bug that only happens in production: vanishing OTPs

Remember the smug version of me from a few days ago? The one who stored OTP codes in a quick in-memory list because it was fast and worked perfectly on his…

Read article
Build in Public3 min read

OTP without accounts: the booking flow nobody talks about

Every booking tool I've ever used asks me to make an account before I can do the one thing I came to do. I have always hated this. You want to book a 20-minute…

Read article
Build in Public3 min read

Auth was supposed to be the easy part

I had it scheduled for a day. One day. "Set up auth." That's the line I wrote in my plan, with the smug confidence of a man who has clearly forgotten every…

Read article
Build in Public3 min read

The first page that actually looked like something

Up to now, the new Book A Sloth looked like a database in a trench coat. Real data, sure, but it rendered like a tax form. Today I built the first page that…

Read article
Build in Public3 min read

Day one of an empty repo (the good kind of scary)

There's a specific feeling to an empty repository. Anyone who's started something from nothing knows it. It's the same feeling as a blank page, a fresh…

Read article
Build in Public3 min read

Why Next.js + Supabase instead of just more PHP

Okay. The fight everyone's been asking about.

Read article
Build in Public3 min read

Throwing away working PHP code (and why it still hurt)

I told Naman first. He had to be first — he built half of it with me.

Read article
Build in Public2 min read

We already sold this thing. So why am I rebuilding it from zero?

Let me start with the part that makes no sense.

Read article