Designed a company search product and built its frontend
Overview
Synaptic's plain-English company search product, opened to a self-serve audience. I defined it, designed it, and built the frontend.
My role
Sole designer, product owner, and frontend. The backend was built by engineering against the API contract I prepared.
Team
Timeline
2026
Pre-launch
Impact Overview
Live
In production. Shipped ahead of the public launch, running in Synaptic's repo
End to end
Product to frontend. Defined, designed, and built it; the backend was the only piece I didn't own
MVP
Shipped lean. Every deferral scoped out and stated in the docs, not hidden
What Canonical is
Canonical finds companies from a plain-English description. You describe what you want, it interprets that into criteria you can review, and it returns evidence-backed matches you can inspect and export. It runs on Synaptic's company data. I was the sole designer and product owner, and I built the frontend. The product is live in production ahead of its public launch.
The brief
Make it real or remove it. Every criterion shows its evidence. No evidence -> the card says so.
Review criteria
Raised a Series A or B in the last 18 months
3 sources
Sells to enterprise security teams
site + job posts
Founder has a prior exit
no evidence found
The opportunity
Synaptic already had a company-search engine that handled long-tail queries well for its enterprise customers. Exa and Parallel offered public natural-language search that returned weaker results on the same queries.
The brief was to open that capability to a wider, self-serve audience: a plain-English product anyone could use, with public example pages for SEO and credit pricing below the incumbents. It had to reach production fast as an MVP and grow from there. I finalised the fields and filters for the first phase before any UI work, so the product had a defined surface from the start.
Exa and Parallel return weaker results on the long-tail queries that matter for research. Canonical is built for that end.
Where it stands
Canonical is live in production ahead of its official launch. The product and marketing site I designed and built run in Synaptic's repo, wired to the backend the engineering team built against the contract I prepared.
Live in the MVP
- Marketing site + 260 public example pages
- Plain-English search, inspectable criteria
- Evidence-backed results
- Saved searches with update alerts
- Credit & plan UI, the workspace model
- Four legal pages
Where I drew the line
- Sharing is a stub
- Email-digest frequency UI in flight
- Stripe stubbed for pre-launch
Built by the Synaptic team
- The backend
- The live data pipeline
- Production infrastructure
- — all against the 32-endpoint contract I prepared
The widest project I have run
I owned it from the product definition through to the shipped frontend. The one piece I did not own was the backend: I prepared the API contract from the real UI, and Synaptic's engineering team built against it. I name that boundary on purpose, because it reads as honest scope while keeping the breadth credible.
Product definition & research
Defined the product and researched how the model behaves on real queries.
Product & UX design
Search, review-criteria, results table, evidence modal, saved searches.
Design system
Two register scopes, marketing and app, that never share a token.
Frontend, in code
Built the product and marketing site in Next.js.
Content
Wrote every public example query and all marketing copy.
Pricing & credits
The full plan and credit policy, including plan-change timing.
Legal
The policy pages and the schema behind them, with the legal team.
Quality
Typecheck, lint, build, and DOM + computed-style checks on every change.
Not mine — the backend, the live data pipeline, and the production infrastructure, built by Synaptic’s engineering team against the 32-endpoint contract I prepared from the real UI.
How I built it
Most of the product existed on paper before any code. I sketched the first screens in Figma, prototyped the loop in Figma Make, and compared v0, Google Stitch, Lovable, and Replit to settle the flow. The v1 spec went into Notion, every screen got mapped in FigJam, and I built the query interpretation catalogue field by field before opening an editor.
Codex scaffolded the Next.js app: routes, tokens, components, and READMEs. The longer multi-file passes moved to Claude Code once the codebase was real enough for architectural prompts. Every non-trivial feature started as a one-page brief: product context, the policy in plain English, acceptance criteria, and a do-not-invent list. The same brief went to the model, into DECISIONS_LOG.md, and to anyone reviewing the code later.
Specify
Figma · FigJam · Notion
Product, flows, the v1 spec
Scaffold
Codex
Routes, tokens, components — from my briefs
Refine
Claude Code
Architecture prompts, multi-file passes
Review & merge
Me
Every non-trivial call, plus QA
Live
Production
Shipped in Synaptic's repo
Building in code
The frontend is real Next.js running in Synaptic's production repo. A few changes show what that meant in practice.
Scaffolded the Next.js app — routes, tokens, components, READMEs
The architecture, and the do-not-invent brief behind each pass
Cross-file refactors, typed content systems, audits
Taste, and the first-principles calls
Reached for a flat palette, generic visuals, find-and-replace edits
The colour maths, a ban list on the visuals, sentence-level rewrites
The tools helped most on cross-file refactors, typed content systems, and audits. They helped least on anything that needed taste or a first-principles call. Left alone they reached for a flat table palette, generic visuals, and find-and-replace copy edits, so I supplied the colour maths, a ban list on the visuals, and sentence-level rewrites instead.
What this proves
I owned the product. Codex and Claude Code executed against briefs I had already written. Several of the biggest calls were removals: a clarification panel that did not move the search, a redundant marketing section, an unaudited compliance badge, and copy rewritten rather than character-swapped. Each removal made the product more honest.
Calls that made it more honest
Codex and Claude Code executed against briefs I had already written. Product direction, design, QA, and the final calls stayed with me. The shortest path to ship was a tighter brief.