Case study
Buildo
Describe a gadget in a sentence and get a shoppable parts list from real listings, a picture of the build, numbered assembly steps with images, and starter firmware.
MLH Best Use of Gemini API, ConUHacks X


The problem
Makers who can describe a gadget in plain English still have to work out which real, compatible parts to buy, how to wire them and what starter code to write before anything happens. Buildo closes that gap from one prompt: type a sentence and get a bill of materials drawn from real supplier listings, a product shot of the assembled device, physical assembly steps with a generated image for each, and a microcontroller skeleton to flash. Built over a weekend at ConUHacks X.
The approach
- Grounding is a two-stage lookup. Gemini 2.5 Flash, in JSON mode and boxed into fourteen fixed part categories, emits only search keywords such as “ESP32-C3 super mini WiFi Bluetooth”; a deterministic scorer then picks one real listing per keyword from a 7,769-entry catalogue scraped from AliExpress, so every part in the cart has a real price, rating, sales count, photo and purchase link.
- Assembly steps and firmware come from Claude 3.5 Sonnet through Snowflake Cortex. The steps prompt forces “gather the parts” first and then only physical, imperative actions with pin assignments; the code prompt returns an Arduino-style setup and loop skeleton, or says no code is required.
- A photorealistic shot of the assembled device comes from Gemini's image model. A second service renders one image per assembly step, each conditioned on the previous step's image plus photos of the actual listed parts and told to keep the same top-down framing, so the sequence walks from loose parts to a wired build.
- The build page renders the dashboard as soon as the parts, code and steps arrive, then streams the step images in one at a time, so a slow image model never blocks the parts list.
- A Next.js 16 front end in NES.css pixel style with four tabs: Visualize, Shop Parts (a cart with quantities, buy links and a tax estimate), Code (copy button and syntax highlighting) and Assemble (safety warnings, step cards and a download).
The result
A working pipeline from one sentence to parts, picture, steps, images and code, built in 126 commits over the hackathon weekend by four of us. Buildo won MLH's Best Use of Gemini API at ConUHacks X.
My role
I set up the Next.js app and built the front end's first cut: the pixel-art boilerplate, the landing page, the loading screens, the tabbed dashboard skeleton that the others filled in, the build route and the mobile fixes. I also did the deployment work: the main Flask API behind Gunicorn on Railway, the image service bound to its port, and CORS opened on both for the Vercel front end.
Team
Chantal Zhang, Torrey Liu, Mikhai Wilson
Built with
More case studies
- TraceUnsupervised anomaly detection that surfaced a hidden multi-stage attack in 180,800 unlabelled Apache log lines, then handed analysts an investigation console.
- MapleVaultSigned, hash-linked supplier attestations for Canadian defence procurement, with a verifier that computes Canadian content and catches forgery, tampering and replay.
- Land-cover segmentationWildfire-risk screening for British Columbia homes: segmentation models find buildings and vegetation in aerial imagery, and every parcel gets a FireSmart score.
- Agent²Your real estate agent's agent: text a number, take a short call with an AI voice agent, and get a matched listing back by SMS.