You have 5,769 beautifully graded sets and one of the best result pages I've seen for a tool like this. The problem isn't the grading — it's that almost nobody can find the set they came for. This is a plain-language tour of what's working, what's broken, and exactly what we should build next.
The result page is a 9/10 — image-forward verdict card, three plain-language reads, an editorial "Full Take," five personalization lenses, a downloadable share card. But it's a beautiful room with no doors. Search can't find themes (typing "Star Wars" returns nothing, while 438 Star Wars sets sit graded in the database). Navigation is a logo and a single "Browse" link. Browse is a wall of 5,769 tiles with no filters. There are no loading, error, or 404 screens. The grading is done. The app around it barely exists yet — and that's the good news, because it's the highest-leverage thing you can build.
Before the criticism — this matters, because it tells us where not to spend effort. The hard part is done and it's good.
The Brick Drop is a live, installable web app (Next.js 16 / React 19 / Supabase). The catalog holds 27,080 sets; 5,769 of them are fully graded — each with a letter, three reads (Is the price fair? / Will you love it? / Holds its value?), a one-line hot take, a full editorial "Take," and five buyer lenses (Everyone, Display, Building, Gifting, Value). The design language is confident and consistent: near-black ground, LEGO-yellow accent, Avenir Next Condensed, image-forward cards.
The result page (a set's grade page) is genuinely excellent. It leads with the product photo, stamps the grade in the corner in the set's own sampled color, gives a witty one-liner, then three reads a normal human understands, then a longer take that reads like a real reviewer wrote it — and lets you re-grade the same set for how you'll use it. That's a differentiated, shippable experience. Protect it. Everything below is about getting people to it.
There are exactly four screens today: Home, Search, Browse, and the Set result page. That's the entire app. The gap between "5,769 great pages" and "four thin screens to reach them" is the whole story of this review.
You told me search isn't good. It's worse than "not good" — for the way real people search, it mostly returns nothing. Here's exactly why, in plain terms.
Today, search only looks at a set's name and its number. It does not look at the theme. But "Star Wars," "Marvel," "Harry Potter," "Technic," "Ninjago" are themes, not names — and they're exactly how people search. So the most natural query a LEGO fan types is the one guaranteed to fail.
Left: the real screen at thebrickdrop.com/search?q=star wars. Right: the sets that exist but can't be found. Every one is a dead end today.
It's not a small miss — it's the front door being locked for your most popular franchises. A first-time visitor almost always searches a theme first. They get "No graded sets match that yet," conclude the tool is empty, and leave. The catalog's biggest strength (hundreds of graded Star Wars/Marvel/Ninjago sets) is completely invisible.
When a search fails, the results page shows one gray line — and no search box to try again. There's no "did you mean," no popular themes to tap, no way forward except hitting the browser back button. A search result page with no search box on it is a room with the door you came through locked behind you.
Search is a type-it, hit-"Go," full-page-reload form. There's no typeahead — no dropdown of matches as you type, no thumbnails, no instant grades. Modern search (App Store, Amazon, anything the user compares you to) shows results as you type. And search only exists on the home page — the moment you're anywhere else, there's no search field at all.
Match is exact substring only. "Millenium" (the common misspelling of Millennium) finds nothing. "Ornithopter" spelled slightly off finds nothing. Real search forgives typos.
Make search index name + number + theme, add a typeahead dropdown that shows matching tiles as you type (thumbnail + grade + name), make it fuzzy enough to forgive a typo, and put the search field in the header on every screen. Then rebuild the empty state into a helpful one: a search box, "Popular themes" chips, and a few top-rated tiles. This one workstream fixes the app's biggest leak.
You said there's no navigation. You're right — the entire nav is a logo and one link.
The header is: the logo (goes home) and a single "Browse" link. That's it. There's no persistent search, no way to reach the personalization lenses except by scrolling to the bottom of a result page, no "How grading works," no About, no footer. A first-time visitor has no idea what "The Drop Score" even is or why they should trust the letter grade.
| What a visitor wants to do | Can they, today? |
|---|---|
| Search from any screen | No — home only |
| Browse "best sets for gifting" (a lens!) | No entry point |
| Understand what the grade means / trust it | No About / How-it-works |
| Get back to search after landing on a set | Only via logo → home |
| See top-rated sets | Not directly |
| Open a specific set's grade | Yes — this part is great |
Your five lenses — grading the same set for Display vs Building vs Gifting vs Value — are the most original thing here. But they only appear as small pills at the bottom of a result page. Nobody can browse "the best sets to gift" or "the best value sets." A signature feature is buried where discovery can't touch it. Promoting lenses into navigation is low effort and high delight.
"Browse" dumps all 5,769 graded sets into a single grade-sorted grid — no filters, no paging, and a title that lies.
Compare it to how discovery should feel — a few curated ways in, then filters to narrow:
The little screens that make software feel finished simply aren't there yet.
| State | Today | What it should be |
|---|---|---|
| Loading | None | Blank screen while Supabase responds. Needs skeleton tiles / a branded spinner. |
| Error | None | A failed query has no on-brand fallback. Needs a friendly "something dropped" screen. |
| 404 / unknown set | Bare Next.js default | An unknown set number shows the stock gray 404 — off-brand. Needs a branded not-found with search. |
| Empty search | One gray line | Covered in §02 — needs a search box + suggestions. |
| Home density | 6 tiles + a link | Feels empty; showcases 0.1% of the catalog. Needs curated shelves. |
You felt it before you could name it. Here's the naming: it reads as a website with four pages, not an app you live in.
It's already an installable PWA (there's a manifest and app icons), which makes the missing bottom tab bar the single most "app-ifying" change available. That one pattern — a persistent Home / Search / Browse / Saved bar — reframes the whole thing from "a site" to "an app," and it gives search and the lenses the permanent home they're missing.
All of this is pure front-end — perfect while the other session handles the backend. Four phases, ordered by impact-per-effort. My strong recommendation: do Phase 1 first and ship it.
Fix search and add a bottom tab bar. Those two changes attack the two things you named — "search is not good" and "no navigation" — and together they turn 5,769 stranded pages into a browsable product. Nothing else comes close on impact-per-hour.
You didn't build a bad app — you built the hard 90% (the grades) and haven't yet built the easy, high-impact 10% (getting people to them). Fix search, add a tab bar, and The Brick Drop stops feeling like a demo and starts feeling like the app it already almost is.