The Brick Drop · Project Overview

What we built & what's next

A plain-language tour of the app — where it started, what it does today, the decisions behind it, and the road ahead. No jargon required.

2026-07-08 · LIVE at thebrickdrop.com · main @ 6285b07 · 17 PRs merged · 509 tests green
The one-liner

The Brick Drop tells you how a LEGO set you're into actually rates — one honest letter grade built from real reviews, colored by the set's own photo, with a dry-but-hyped take on whether it's worth it. It's live on the web, every set has its own shareable page, and it installs like an app.

01What The Brick Drop is

Think of it as a movie-rating site, but for LEGO sets — and the score isn't one critic's opinion, it's distilled from a whole pile of real reviews.

Every set gets a single Drop Score (a letter grade like A− or C+). Behind that letter, the app mines LEGO reviews, reads the sentiment, and rolls it up into the grade. Alongside it, three quick "reads" answer the questions people actually ask: Is the price fair? · Will you love it? · Holds its value?

Two things make it feel like The Brick Drop and not a spreadsheet: the grade letter is colored by a shade pulled from the set's own photo, and each set carries a hot-take written in the brand's group-chat voice — opinionated, honest (it'll call a mid set mid), never corporate.

Why it exists

The old tool grew by accretion — a calculator, then an app, then a discovery layer, then a brand revamp piled on top. It got noisy and the grade got buried. This is the coherent reset: open to the grade, let the photo and the letter do the talking, be honest about what we don't know.

02Where it stands today

LIVE
Shipped at thebrickdrop.com — auto-deploys every time we merge to main
17
Pull requests merged into the rebuild, each reviewed and tested
509
Automated tests, all green — plus type-checks and a clean production build
28
LEGO sets fully graded and browsable right now
4:5
Downloadable Instagram share card + branded link previews
0
Emoji and price-per-piece mentions — both banned on purpose

The app is a real, installable Next.js web app. You can search a set by name or number, browse a grade-sorted grid, and land on a styled result page with the grade, the reads, and the take. Share any link and it unfurls as a branded card.

03What we accomplished

Over one long build we took the card from a bare skeleton to a polished, personality-filled product. Grouped by what it did for you:

Made the grade come alive — words + color

SliceWhat changedWhy it matters
Hot-takesEvery set now has an AI-written take + three read blurbs + per-lens "reasons," in your Instagram voiceThe card had empty text lines — now it has personality and a point of view
Auto colorsEvery graded set's letter is colored by a vibrant shade sampled from its photo (your 6 hand-picks still win)Grades used to be uniform yellow; now Pikachu is Pikachu-yellow, Tintin is rocket-red
Real framingProduct photos show the whole set on white (no more weird cover-crops); your curated crops still applyWide sets like the Helicarrier were getting sliced in half

Sharpened the craft — brand + polish

SliceWhat changedWhy it matters
Phosphor iconsSwapped the read-row emoji for clean Phosphor icons (incl. the LEGO minifig-head for "Will you love it?")Emoji off-brand; icons look intentional and are on-theme
Grade-sorted BrowseThe grid leads with the best grades instead of A–ZThe strongest sets surface first — a far more useful shelf
No price-per-pieceBanned "cents a piece" everywhere and regenerated any take that slippedIt contradicts your value philosophy — value isn't per-brick math

Built the share loop — reach

SliceWhat changedWhy it matters
Link previewsEvery shared /set link unfurls as a branded grade card (real Avenir Next Condensed, not the raw photo)Passive reach — every paste in a group chat looks like The Brick Drop
4:5 share cardA "Download share card" button saves the image-forward Instagram card as a PNGYour north-star DNA — a polished asset ready to post
Layering refactorCleaned up an architecture wrinkle so the data layer no longer depends on business logicUnblocks the next big feature: personalization
The receipts

Nine of these shipped in a single session, each as its own reviewed pull request. The whole thing stayed green — 509 tests, clean type-checks, clean production build — the entire way.

04How it works (plainly)

Data flows one direction: from a database of pre-computed grades, through a translation layer, into the pages you see.

  1. The engine grades a set once.It mines reviews, reads sentiment (sarcasm-aware), scores each dimension, and rolls it into one letter. Heavy work — done ahead of time, not while you wait.
  2. The grade is stored.The letter, the sub-scores, the sampled color, and the AI take all live in a database (Supabase), so pages load instantly.
  3. A translation layer shapes it for the screen.One shared "view model" turns the raw grade into exactly what every surface renders — the same grade everywhere, no drift.
  4. The pages render.Home, search, the Browse grid, and the result card all read from that one contract. Share images are drawn server-side in the brand font.
An analogy

The grading engine is the kitchen — slow, careful, done in back. The database is the pass where finished plates wait. The view model is the server who carries the exact same plate to every table. You (the diner) never see the kitchen chaos — just a consistent dish, fast.

05The brand rules we locked

These aren't preferences — they're now enforced in code and saved so they never regress:

Always
Branded font, everywhere. Avenir Next Condensed — even inside generated images (grade letters use the Heavy/Black weight). Color means something. Grade color is sampled from the set's photo; LEGO yellow is only the fallback. Honest voice. Group-chat swagger, but it calls a mid set mid. Let the photo talk. Image-forward everywhere; whole set visible, on white.
Never
No emoji. Anywhere — UI or generated copy. Phosphor icons instead. No price-per-piece. Not "cents a brick," not implied. Value isn't per-brick math. No corporate/press-release tone. If it reads like a brand account, rewrite it. No broken images. A missing photo shows a placeholder, never a broken box.

06The honest gaps

What's deliberately not done yet — stated plainly so nothing hides:

Known limits

Personalization isn't reachable yet. The engine can grade "for a display collector" vs "for a builder," and the per-lens reasons are already written and stored — but there's no onboarding to pick your lens, and only the general grade is stored per set. So "A− for you · B+ overall" exists in code but nobody can see it. This is the next big unlock.

Only 28 sets are graded. Browse is small until we grade more of the catalog.

The 4:5 card uses generic framing. The image engine can't apply your Crop Curator zoom/position, so wide sets crop. A "come back later" item.

No predicted grade for unreleased sets and True Value is still just a one-line read, not a full price breakdown.

07What the future holds

The layering cleanup just unblocked the feature the whole app is named for: how a set rates for you.

  1. Per-lens grades (the data unlock).Store the display / builder / parent / investor grade for each set — cheap to compute (it's a re-weighting), it just needs a grading pass. This is what makes "for you" real.
  2. Onboarding + profile.A quick "why do you buy?" that maps to a lens — then the card shows "A− for you · B+ overall" and surfaces the per-lens reason already written for it.
  3. Grade more of the catalog.Fatten Browse with more 2026 sets. Every grade auto-generates its take and samples its color, so the shelf fills itself out.
  4. Polish the share card & True Value.Bring the Crop Curator framing into the 4:5 card, and grow "Is the price fair?" into a real price/parts breakdown.
  5. A prediction model.A labeled, honest "Early read" grade for sets that aren't out yet.
The recommendation

Start the personalization arc — per-lens grades first, then onboarding. It's the last big unbuilt piece, it's finally unblocked, and it delivers the promise the name makes.


The Brick Drop · built with receipts, not vibes