This is a submission for the Built with Google Gemini: Writing Challenge
What I Built with Google Gemini
Problem: As a kid, I wished I could build anything with LEGO. But I wasn’t a master builder; I couldn’t figure out how to get the shape I wanted to just from imagination. Stuff fell apart, pieces got stuck, it was a mess. Instruction manuals were so clear and easy to read.
Solution: Turn any photo into a LEGO build! Snap or upload an image and get a parts list plus step-by-step instructions.
Google Gemini 3 Pro analyzes the image, outputs a JSON file containing all necessary parts (including color, quantity, and ID), instructions, and prompts for image generation. A dataset of the top 50 LEGO pieces is what Gemini uses for accuracy, along with data from the Rebrickable API. Flux then creates a cover photo and diagrams from the Gemini output.
I also used Google AI Studio to create a quick prototype of the UI as a starting point, tweaking it to my liking afterwards.
Demo
What I Learned
This was my first Hackathon, and I learned so much from it. Thinking about how it works under the hood was the hardest part. The AI produces something that resembles a LEGO set, but it wasn’t entirely accurate in terms of parts matching one-to-one with the image generation. I could have fixed this if I had more time.
Before even touching prototyping or UI, it’s best to get the backend fully working the way you want. 3/4 into the project, I realized there were a few problems. Flux has no idea what the last step looks like, so image sequences can feel incohesive. Even though I planned it out, I wish I tested more.
Also, for some reason, I decided it was a great idea to deploy the site at the last minute, and of course: build errors. Next time, I’ll deploy the site first thing.
Lastly, I was sad I didn’t find a team I clicked with at first, but I found out I really enjoy being a solo dev. I get to be as creative as I’d like!
Google Gemini Feedback
I think the model had trouble picturing the build as a whole physically. There were a few times when the text descriptions weren't clear or detailed enough, which caused the image model to improvise.
Other tools used
- autoprefixer
- canvas-confetti
- cropperjs
- flux
- flux-dev
- github
- google-font
- javascript
- jsonrepair
- lucide-react
- nextjs
- node.js
- postcss
- react
- react-cropper
- react-webcam
- rebrickable-api
- replicate-api
- shadcn
- tailwind
- typescript
- vercel
Top comments (0)