Mikhai logo
Back to Features

Buildo

From plain English to PCB in 24 hours

2026

The Buildo team at the hackathon
The Buildo team after winning Best Use of Gemini

Demo

Buildo project demo

Buildo won Best Use of Gemini at HackConcordia 2026. It turns plain-English hardware descriptions into complete build plans with sourced parts. We built the full stack (frontend, orchestration, parts retrieval) in under 24 hours. 7,000+ indexed components, sub-second lookups. Big shoutout to my teammates who made it happen.

You have an idea for a hardware project. Cool. Now go figure out which components you need, where to buy them, and how they fit together. If you're not already an EE, good luck. Existing tools assume electronics knowledge most hobbyists and designers just don't have.

Stack

Google GeminiComponent identification and structured build-step generation from natural language
Snowflake CortexSemantic part matching against the 7K-component index with sub-second lookups
FlaskThree isolated microservices (build-plan, image, and video generation), each independently deployable
MongoDBPersisting user projects, generated plans, and part metadata with flexible schema
Next.jsFrontend deployed on Railway with SSR for fast initial load
RailwayMonorepo CI/CD with environment-based config across all three Flask services

What was hard

01

Dual-Model Output Reconciliation

Gemini and Snowflake Cortex don't speak the same language. One returns freeform generative text, the other structured semantic search results with different schemas and naming conventions.

A normalization layer that parses and merges both outputs into one consistent build-plan schema, handling mismatched part naming conventions and deduplication across model responses.

ResultSingle unified build-plan output regardless of which model produced each component, with zero duplicate entries across 100+ test queries.

02

Parts Retrieval Over 7,000+ Components

Needed sub-second lookups over 7,000+ electronic parts scraped from 37,000+ product listings, with enough structure to match natural-language component names reliably.

Category-based indexing with substring matching on curated part names. For structured component data, this proved faster and more predictable than vector search.

ResultSub-second lookups across the full 7K-component index with high match reliability on natural-language part descriptions.

03

Token Budget Engineering

Including full part metadata (URLs, descriptions, pricing) in every prompt burned through API budget in minutes and caused 4.2s latency per query.

Stripped prompts to essential part names only. Prices, URLs, and descriptions are fetched post-generation from the local index rather than passed to the model.

ResultToken payload cut 70% (1,200 → 360 tokens/request). Per-query latency dropped from 4.2s to 1.3s.

Architecture

How it works

Orchestration Layer

Natural-language input routes to Gemini for component identification and build-step generation, then to Snowflake Cortex for semantic part matching against the 7K-component index. Token-optimized prompts keep payload under 400 tokens per query.

Microservices

Three independent Flask services: build-plan generation, image generation, video generation. Isolated, so a failure in one doesn't cascade. Let us develop and deploy each one independently during the 24-hour window.

Data & Persistence

MongoDB persists user projects, generated plans, and the 7K-component part metadata. The parts index is pre-built from custom ETL scripts that scraped and normalized 37,000+ product listings into a categorized, substring-searchable structure.

Frontend & Deployment

Next.js/React frontend deployed on Railway with environment-based config across all three Flask services. Single monorepo, CI/CD on Railway.

Links