Trace Symbols
symbols.buildwithtrace.com — 30,000+ schematic symbols across 251 libraries.
Browse, search, copy/download
.kicad_sym, generate with AI, and contribute.Trace Footprints
footprints.buildwithtrace.com — ~24,690 PCB footprints across ~214 libraries
(Trace + CERN). Browse by library, copy/download
.kicad_mod, generate with AI.What they have in common
Both are thin Next.js 16 clients. They hold no AI logic, model prompts, or layout engines — every generation, save, contribution, comment, and rating request is proxied to the Trace backend athttps://api.buildwithtrace.com. Browsing and search are served from
pre-built static JSON indexes committed into each repo.
Architecture
Thin-client proxy model, the shared
generated_components table, and where each
responsibility lives.Authentication
Shared Trace JWT auth — token storage, login, refresh, and
fetchWithAuth.Data pipeline
The offline Python sync + indexers that build the catalog JSON.
Deployment
Environment variables, standalone output, domains, and security headers.
How they differ
| Trace Symbols | Trace Footprints | |
|---|---|---|
| Unit | Schematic symbol (pins) | PCB footprint (pads) |
| File format | .kicad_sym | .kicad_mod |
| Organized by | Library and category | Library only (no categories) |
| Sources | Trace + CERN symbols | Trace + CERN footprints |
| Static index | data/symbols_index.json | data/footprints_index.json |
| Generation endpoint | /api/v3/components/generate/symbol | /api/v3/components/generate/footprint |
| Contribution accepts | .kicad_sym (+ .kicad_mod, .SchDoc) | .kicad_mod only |
| Saved-items route | /my-symbols | /my-footprints |
Both platforms write to the same Supabase table,
public.generated_components,
distinguished by a type column ("symbol" | "footprint"). There is no separate
footprints database and no migration is required to run either site.Tech stack
Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4 · standalone output. Server Components + Client Components + API route handlers undersrc/app/api/.
