What I built
BrickID.app helps you figure out what a LEGO piece is and where it came from. Point your camera or upload a photo and get matches using AI image recognition, then enrich those hits with catalog data: set memberships, color variants, and links out to Rebrickable or BrickLink when you want prices.
There is also classic search and browse: sets by theme and year, part categories, minifigures, color reference pages, and detail views with structured data for search engines. A handful of collector tools (compare sets, value a lot, see what you can build from spare parts) sit alongside guides and a blog when I feel like writing.
A companion mobile experience rounds it out: explore the catalog, save favorites, and pull up building instructions when you are away from the desk. The whole thing syncs from a daily Rebrickable import so the numbers stay current without manual babysitting.
Scan & identify
Camera or upload, AI suggestions, then catalog context on the same screen.
Catalog at scale
Thousands of set and part pages generated from imported data, sitemaps included.
Collector tools
Set checker, comparisons, lot valuator, and “what can I build?” style helpers.
Mobile
Library, favorites, and manuals for when the pile of bricks is on the floor, not the monitor.
Stack
How I built it
Laravel handles the heavy lifting: scheduled catalog imports, slugged set pages, throttled search and instruction proxies, and cache-friendly responses for anonymous browsing. Livewire keeps the scan and tool flows interactive without a separate front-end app for every screen.
Because the dataset is huge, a lot of the work was pipeline design: download CSVs, normalize relationships, regenerate sitemaps, and make sure detail pages stay fast enough to feel instant. SEO was part of the fun too, each set gets its own title, description, and structured data, not a generic template with a number swapped in.
Production runs behind Cloudflare with sensible bot rules and edge caching on catalog HTML. It is a hobby project, but I still wanted it to survive a curious Googlebot or a Reddit link without falling over.