A PDF Pushed Me to Vibe Code with Bolt
Sometimes you need a real problem to unlock the right AI tool
Hey there 👋,
The Asaro tribe of Indonesia and Papua New Guinea has a beautiful saying that embodies the Tinker w/ AI spirit: “Knowledge is only a rumour until it lives in the muscle”. It’s challenging to master the AI tools by watching videos or reading guides. I need to use the tools, and it's even better if I have real problems that genuinely annoy me, so I can truly feel the benefits.
Let me show you what I mean.
The PDF questionnaire that started it
Two weeks ago, I co-facilitated a mentoring session in which participants completed a 30-question assessment. The catch? We only had a PDF version. People kept asking clarification questions, and they had to calculate scores manually. Everyone got what they needed from the assessment, we created engagement and moved on.
However, I realised that what should have taken 10 minutes stretched beyond 15 minutes. When it comes to time management, my workshop philosophy is simple: minimise the time spent on admin tasks so people can focus on what matters.
A 5-minute time reduction might sound modest, but that kind of productivity gain compounds beautifully. With 10 participants, I’d just watched 1 hour of collective time disappear into PDF friction. Scale this thinking across your team’s repetitive tasks, and those small inefficiencies look expensive.
This friction point became my playground. I had a real problem to solve and wanted to use AI to solve it.
The solutions journey
I started by clarifying the problems that I wanted to solve:
Keep the users focused on the task at hand - show one question at a time
Just show them the results - aka, do the calculation for them
Ok, now let’s roll up my sleeves and find the right solution(s).
Step 1: The Obvious Choice (Custom GPT)
My first instinct was to build a Custom GPT. It should be easy to make and can be easily distributed as well. I fed ChatGPT the PDF and asked it to create the prompt structure.
Result: a good prompt, but a fragility warning: “GPT can lose state in very long chats. For mission-critical data capture, use a web form instead." (remember, the GPT had to ask 30 questions).
And I realised I was using a hammer for surgery: LLMs aren’t built for calculations that simple code handles effortlessly.
Step 2: The Logical Pivot (Google Sheets)
Google Sheets seemed perfect: easy data storage, familiar interface. ChatGPT suggested two approaches:
Pure sheet formula
Apps Script mini-app
After 20 minutes wrestling with the formula, I hit a wall. The interface couldn’t show one question at a time, and I wanted users to stay focused.
Apps Script got even more frustrating. ChatGPT instructions didn’t match what I was seeing in the interface, and my gut was telling me that this wasn’t a solution I wanted to spend more time on.
Step 3: The Breakthrough (Bolt)
Previous iterations helped me understand that I needed to use code to solve this, and the word “mini-app” appeared in my chats with ChatGPT. “But I cannot write code and I cannot build apps, even if they are mini”. “Wake up Ady, we’re in the vibe coding age, and you already have a Bolt subscription”.
Why not use this PDF problem to explore prototyping tools? I used them in the past, but I didn’t get a real kick out of them, as I didn’t have a tangible problem to solve.
So, I took the same prompt ChatGPT helped me create for the Custom GPT (step 1) and fed it to Bolt. A few iterations later (eg. asked it to change response type for text field to radio buttons), I deployed a fully functional app that was much better than the original PDF method.
What this taught me about AI learning
Disclosure: it’s the same for any learning process… but it applies very well to this.
Every “failed” attempt revealed essential constraints:
Custom GPT → data fragility issues + code is more efficient than LLMs
Google Sheets → interface limitations
Apps Script → complexity friction
Bolt → the right tool for the job
In hindsight, I could have gone straight to the app-building approach. But that's not how real learning works. Sometimes, I need to unlearn default patterns and develop new mental models. The only way to do that is to tinker with real problems that frustrate me.
Reading about these tools taught me about their capabilities. Wrestling with this PDF problem taught me how to use them better.
The bigger picture
This wasn't just about solving a questionnaire in a PDF problem. It was about discovering how real problems unlock AI creativity in ways that theoretical learning never can.
When I’m genuinely annoyed by something, I push through constraints differently. I ask better questions. I don’t give up. I evaluate solutions against actual user needs.
Your turn
I'm curious: What's your equivalent of the annoying questionnaire in a PDF? That repetitive task that makes you think "there has to be a better way"?
Reply and tell me, I might tinker with it next and share what I discover.
Let's turn everyday frustrations into AI tinkering. Together.
Ady,
Tinkerer in Residence
because the QR code generator I help built wasn’t working anymore, I decided to build my own in lovable. took 10mins and it works :)