Inspiration
I've always loved the simple, chaotic fun of drawing games. A few years ago, I was completely hooked on a mobile game called "Draw It," where you'd race against other players to sketch an object as quickly as possible. When it was discontinued, I missed that fast-paced creative rush.
When I saw the Bolt Hackathon, with its focus on AI, a lightbulb went off. What if I could recreate that same experience, but with a new twist? Instead of playing against other people, what if you could play against an AI? This led to the core idea of DOODL. The best part? An AI is the perfect drawing partner; it never judges your artistic skills! Whether it's a masterpiece or a wobbly scribble, the AI only cares if it can recognize the core idea. This makes the game incredibly accessible and fun for everyone, from artists to people who can only draw stick figures.
What it does
DOODL is a fast-paced, timed drawing game that pits your creativity against a clever AI. The gameplay is simple and intuitive:
- Choose Your Challenge: You start by picking from one of 20 fun categories (like Animals, Desserts, or Transportation) and select a time limit for each drawing.
- Sketch Against the Clock: You're given a word and have to draw it as quickly as you can before the timer runs out.
- The AI's Guess: As soon as the timer stops or you submit your drawing manually, your drawing is sent to an AI, which analyzes the image and makes a guess.
- Score and Continue: If the AI guesses correctly, you score a point and move on to the next, slightly harder word in the category. If it gets it wrong, the game is over.
The goal is to get the highest score possible, with encouraging, tiered feedback at the end to make you want to jump right back in and beat your personal best. It's essentially Pictionary, but your partner is a friendly AI who is always ready for another round.
How I built it
I was determined to see if the promise of modern AI development tools was real, and the experience building DOODL was nothing short of incredible. The entire project is built on a stack of Bolt.new, Supabase, and the Google Gemini API.
I began by creating a very detailed, comprehensive prompt that laid out the entire application, from the "scribbly" UI aesthetic and the three-screen user flow to the secure backend architecture. I was genuinely blown away when Bolt.new generated about 95% of the entire working application from that single prompt. This included the React components, the game logic, and even the initial setup for the UI styling.
The remaining 5% was just minor bugs and errors. Using Bolt's editor, I was able to easily correct these isues easily with "Attemp fix" option - it is golden!
A key architectural decision was to ensure security. Instead of calling the Gemini API from the frontend (which would expose the API key), I instructed Bolt to set up a Supabase Edge Function. This function acts as a secure proxy, so the frontend app only ever talks to my Supabase backend, which then securely communicates with the AI.
Challenges I ran into
My biggest challenge was a fascinating lesson in human-AI interaction: curating the word lists. My first thought was to sort words by how easy they are for a human to draw. But I quickly realized that a simple circle, while easy to draw, is a nightmare for an AI to guess- it could be a ball, a pea, a coin, or the sun. I had to completely rethink the lists and re-sort them based on "recognizability" - how unique and iconic an object's silhouette is to an AI. A banana, though more complex than a circle, is far easier for the AI to identify.
Another challenge was ensuring the AI's responses were clean and usable. I solved this by leveraging the Gemini API's structured JSON output feature. By defining a schema, I could force the AI to always respond with a perfect, single-word JSON object, which made parsing the answer on the frontend completely foolproof.
Accomplishments that I'm proud of
First and foremost, I'm incredibly proud that the core game loop is just plain fun. It's addictive, the difficulty curve feels right, and the encouraging feedback system makes you want to immediately try again.
I'm also really happy with the final look and feel. The "doodle" theme came out exactly as I had envisioned, making the app feel delightful and polished, not just functional.
But the accomplishment I'm most proud of is a personal one. After building the first working version, I showed it to my family. My 6-year-old brother is now completely addicted to it. He doesn't care about high scores; he just lights up with pure joy every time the AI correctly guesses one of his little scribbles. Seeing that reaction was the moment I knew this project was something special.
What I learned
This hackathon was a profound learning experience. I learned that the paradigm of software development is genuinely shifting. With a tool like Bolt, the most important skill is no longer just writing code, but the ability to form a clear, detailed, and structured vision. A good plan and a great prompt can build in minutes what used to take weeks.
I also learned the nuances of designing for an AI. You have to anticipate how the machine "thinks" and provide it with unambiguous input to get reliable output. It was a masterclass in clear communication, just with a different kind of audience.
What's next for DOODL
This hackathon project feels like the perfect foundation for a full-fledged application. The potential for DOODL is huge, and here are a few features I'm excited to explore next:
- Multiplayer "Party Mode": Allowing friends and family to compete against each other in real-time.
- "Draw My Drawing" Mode: A fun reversal where the AI generates an image, and the player has to guess what it is.
- Custom Categories: Giving users the power to create and share their own word lists with friends.
- More Creative Tools: Adding colors, different brush sizes, and maybe even fun sticker packs to enhance the drawings.
My ultimate goal is to polish DOODL and launch it on the App Store and Google Play, bringing this simple, joyful drawing experience to everyone.
Built With
- api
- bolt
- bolt.new
- gemini
- javascript
- supabase
- typescript



Log in or sign up for Devpost to join the conversation.