W2 Recap: 4o, TailwindUI, lot of code
Here's what I accomplished in my 2nd week of my 3-month build & learn cycle
In May I left my full-time job to start a 3-month LLM learning cycle by building a few products of my own. I’m documenting my journey here. Every week I post a recap of how the week went, things I learned, etc.
Idea selection
As I said before, I'm currently focused on small indie-hacker-scoped projects. What does that mean?
I'm sorting ideas by level of scope and potential size. For the first projects, I'm avoiding super ambitious things, they need large surface area and tend to have a lot of competition. In the middle, there are “during gold rush, sell shovels” type of ideas, like AI infrastructure tools for developers where the need is clear, but so many teams are rushing to build them.
I'm looking for small things or those with seemingly bad business models that I want to use myself. When picking a market, you either solve something for yourself or others. For now, I'm choosing things I want for myself to save time on initial customer research.
However, I still want something with clusters of people easily found online so marketing isn’t an uphill battle.
To recap: I need something not hard to market with a bad TAM, small in scope, and that I want for myself (likely small apps, wrappers, or add-ons for existing players).
Perfect recipe for disaster 😅 Why?
It gives me time to focus on adjacent things I'll reuse later, like a clean boilerplate with UI libraries, authentication, billing, and API clients.
In this first month, I'm basically starting easy to rest a bit while staying creative, studying, and even having a chance to build some baby MRR (but very unlikely).
I've narrowed my list down to 5 potential ideas for now, and I’m already working on a side project that I’ve had started in the past. These ideas will be for the next project.
Week recap: progress!
Boilerplate
Rails 🚂
I'm sticking with Rails - it's stable, battle-tested, and I know it well. Not interested in Next.js yet, maybe just for marketing later.
Going with the vanilla Rails stack for now, using Hotwire instead of React for the front end. Everything has a learning curve, and modern-day React is one I don't want to tackle now. Might use React later for more interactive ideas.
Jumpstart Pro 🚀
Didn't want to waste time setting up billing (even with Stripe), accounts, authentication, 2FA, or even little stuff like pagination. Went with Jumpstart Pro - it's a good starting point with high-quality code that's easy to customize, even if I'd prefer a smaller and with less dependencies. JSP also has a lot of new things that I wasn’t familiar with like Dev Containers, so fun learning experience.
TailwindCSS + TailwindUI (Pros & Cons) 🌬️
Switched from theming Bootstrap (like I did for Canopy) to TailwindUI. Not having CSS files makes it perfect for code generators like custom ChatGPT and V0, which are great at generating Tailwind markup. TailwindUI is also very versatile and covers a lot, so I get a productive boost from the (copy, paste, and customize).
However, using TailwindUI with vanilla Rails hasn't been smooth. I find myself coding basic things because TailwindUI has no vanilla JS option for behaviors like dropdowns, carousels, and off-canvas panels. Jumpstart's Stimulus helps with some of that. Another issue is that TailwindUI's markup was meant for React components, so you often need to abstract classes into Rails helpers for repetitive use.
This week: 2 days spent to cover TailwindUI basics, 1 day to learn Jumpstart, and the learning curve of TailwindCSS every day. But now feeling quite productive already.
Brainstorming with friends
I have a lot of people reaching out to network and brainstorm ideas. Last week I spent about & hours on this.
Canopy: GPT-4o
I work 8 hours a week at Canopy, doing 1-2 hours at a time. After OpenAI launched GPT-4o, I migrated our AI Assistant:
It's much cheaper and faster (so fast that streaming isn’t necessary anymore)
Overall better results: I tested using our rubric of 200 questions (not a formal eval system yet). After migration, the results were mostly better.
Two small issues:
Acronyms: It made up some acronyms, which I fixed with prompt engineering.
JSON: We use OpenAI's Assistant API with their RAG tool, so we can't use "JSON MODE". I ask for JSON via prompt engineering. It tried to add a wrapper around the markdown to avoid breaking the JSON, which we fixed by adjusting the code.
The speed and price drop let us split our 200+ line prompt into two prompts, running the query sequentially:
Ask for the answer, present it to the user
Ask for additional metadata async and refresh that part of the screen (WIP, shipping next week)
The cost drop opens up the opportunity to use GPT-4 level of IQ for everything, including B2C customers with low subscription prices.
Product 1: A Lot of Work Done
As I said before, I'm already working on my first product, which I've been building since early this year a few hours a week. It's a small thing, but a useful tool for myself that benefits from LLM support.
I spent 3 days (30 hours) migrating the code to Jumpstart Pro and 4o, and adding features for launch - shooting for next weekend. I also worked on the marketing landing page.
Still to do: Complete an “insights” feature. Add an LLM-powered overview screen. TailwindUI is helping a lot with the design. So, I’m estimating ~3 to 5 more days before able to onboard users.
I’ll need to setup new servers due to significant changes from Jumpstart Pro. Setting up servers again will take likely at most one day.
Goal: For this week or next, put the product up + add a marketing landing with a waitlist, and send it to the communities I’m a member of.
The bad things
Poor sleep hygiene: Worked too close to bed, messing up my sleep. Getting older I need to be a lot smarter about sleep hygiene these days or the price is real.
Not enough exercise: Only exercised 3 times: 2x 40min half-assed weight sessions, 45min hard VO2 max virtual cycling race on Zwift. Usually do 2x that, it's important for my mental health.
Missed meet-ups: Trying to go to more. Had two interesting ones this week, an Agent Guidance and a Gemini vs 4o Hackathon on Saturday, and skipped both.
Next week
I'm off for 3 days on a last-minute camping trip, so this week will be short. Working this weekend to account for it. Most of my time will be split between working on Product 1 and some LLM work for Canopy.