The Pillar
Week 1 was all about giving this thing a real start. I'd been thinking about it for a while if it is worth the time? Turns out, it didn't matter because I just like building software. Couldn't get the domain I wanted (domain squatters beat me by a few hours), but found a solid alternative. Set up professional email, claimed social handles, and picked orange as the primary brand color.
These small wins made Bite feel less like a side project and more like a problem I am solving.
Building Production-Ready
I think Next.js 16 is the perfect tool to ride this storm out. Clerk handles auth because rolling your own in 2026 is not worth it. Built a proper relational database with Drizzle ORM and Neon Postgres (chose them because they don't cost any money).
Takes longer to set-up upfront, but I've learned that cutting corners always come back to haunt you later. Also threw in Gemini 1.5 Flash for future AI features since I've been wanting to work with AI in a project.
Shipping
By the end of Week 1, Bite is live, actually deployed and working. We can sign up with email or Google, create recipes with structured ingredients and instructions, view collection, and click into full recipe details.
Protected routes, type-safe queries, the whole flow from auth to database just works. It's very minimal at its core, but it's real. The best part? Runs entirely free. The only cost I had to incur is a few bucks for getting the domain.

Bite database schema
Technical Decisions
Production database: Could've used JSON fields for ingredients/instructions, but built proper relational tables (recipes → ingredients, instructions, tags). More work now, zero re-engineering later.
Clerk over rolling auth: Their free tier (10k users) is generous and the DX is awesome. It was such a breeze setting up the auth, and the best part — takes care of the entire auth and management lifecycle from session to security.
Gemini over GPT: Gemini 1.5 Flash is permanently free, and I think I trust Gemini with images more, and should have a solid accuracy for recipe parsing. So it was an easy choice.
Cloudflare DNS over Vercel*: Extra setup time, but free email forwarding and better long-term control (all-in-one dashboard).
Thoughts
Doing the boring stuff first takes time. I spent some time on DNS, env variables, and database schemas so that I'm not re-engineering things later, and not trying to end up with technical debt by Week 3.
Server Actions in Next.js are surprisingly good. No API routes and can be called from anywhere. Type-safe and way less boilerplate.
Week 1 felt slow with no flashy UI to show. But having auth, database, and deployment done means Week 2 is pure features. Also, documenting as I build helps. Writing this forced me to articulate some design decisions, and making decisions feel less random and more intentional.