Personal project
SuppFindr Supplement Comparison Tool
Next.js, TypeScript, Postgres, Tailwind CSS
SuppFindr is a same-category supplement comparison tool covering more than 20,000 products. The premise is that a supplement shopper does not actually want a single ranked winner; they want price, potency, and convenience aligned in one place so they can pick the bottle that fits their priorities. The tool surfaces those three dimensions as raw numbers and as positions in a ternary plot, and refuses to print a blended 0-to-100 score on top of any of them.
I built and maintain it solo. The data pipeline pulls and normalizes supplement-facts panels (price, serving size, active dose, pill count) into a Postgres database, and the Next.js front end renders both the per-product comparison cards and a category-level market explorer.
Compare, don't crown
The hard part of supplement shopping is not finding the cheapest bottle or the strongest dose; it is reconciling several reasonable preferences at once. Cheapest per active ingredient is one preference. Highest dose per serving is another. Fewest pills to swallow is a third. A reviewer who blends those three into one number has to assume which preference matters more, and that assumption is not portable across users. SuppFindr's design choice is to refuse the blend and keep the three preferences visible side by side.
Earlier versions of the tool printed blended 0-to-100 indices on product pages. They felt like verdicts the project did not want to stand behind, since brands, forms, absorption, and personal goals vary too much for one number to crown a single winner. Those scores have been removed from product pages; the ternary plot in the market explorer is what is left, and it is read as "more like that emphasis versus peers" rather than "better human outcome."
The three dimensions, in the same category
The comparison surface uses three signals.
Value is the cost per active ingredient. Bottle price and serving count are on every supplement label, so the tool normalizes to dollars per active to let a user compare fairly across different brands of the same supplement. The example a magnesium shopper might encounter: a 400-milligram-per-serving bottle at 15 cents per serving delivers about an order of magnitude more magnesium per dollar than a 120-milligram bottle at 37 cents per serving.
Potency is the amount per serving in the unit the supplement actually uses (milligrams for most, IU for the fat-solubles). More is not automatically better, and the about-page copy is explicit about that, since some minerals can be dangerous at high multiples of the daily value.
Convenience is pills per serving. One capsule per dose is materially easier to keep up with than three or four tablets, which is a real tradeoff people make for daily-regimen reasons rather than vanity.
All three are computed inside one supplement category. Magnesium is read against magnesium, omega-3 against omega-3, vitamin C against vitamin C. There is no leaderboard that mixes a great deal on vitamin C with a good fish-oil price. That same-category rule is the reason none of these comparisons cross the line into a "best supplement" claim.
Multivitamins as a special case
Multivitamins are the place where "more of everything" stops being a useful proxy for value. A bottle that lists 30 nutrients but has half of them at trace amounts is not the same product as a bottle that hits 22 of them at meaningful doses, and a bottle that megadoses fat-soluble vitamins past the safe upper limit is worse than the smaller one even though it has more total milligrams.
The site handles multivitamins through a formulation-style check with two ideas. Coverage counts the 22 core nutrients in the bottle and assigns full credit for any nutrient at over 25 percent of the daily value, half credit at 10 to 24 percent, and no credit for missing or trace levels. Balance is a safety penalty: dangerous megadosing of toxic-prone minerals (iron, vitamin A, vitamin D, vitamin E, and similar) lowers the score, while abundant water-soluble B vitamins do not. The two together are what the multivitamin category sorts and filters use, instead of just totaling milligrams.
The market explorer
The market explorer is the visual entry point into a category. Pick "Multivitamin" and the page shows the 2,051 products in that category, the price range that bounds the category ($2.86 to $191.24 per serving), the potency range that bounds it (1 to 123 nutrients), a sortable table, and a ternary plot that places each product at a point inside a triangle whose corners are Potency, Value, and Convenience. A user who is shopping primarily on price drags toward the Value corner; a user who needs a high dose drags toward Potency; a user who wants one capsule a day drags toward Convenience.
The plot is a ternary diagram (each point's three barycentric coordinates sum to one) so a product cannot be high on all three at once; the geometry forces the tradeoff to be visible. That visibility is the whole pitch of the tool.