frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Nutrepedia – Nutrition info in 29 locales built with Clojure and Htmx

https://nutrepedia.com/en-us/
69•llovan•4h ago

Comments

Kuyawa•4h ago
Simple and beautiful, I love it.
recursivedoubts•4h ago
awesome, very good looking and simple, useful functionality
cd4plus•4h ago
I can't enter a serving size that's not a whole number on mobile because it automatically closes the keyboard when the text field is cleared
llovan•3h ago
Thanks for catching that. Will fix soon.
razorson•3h ago
Nice great job, how do you handle multi languages?
llovan•3h ago
Thank you! Each locale has its own route terms, UI strings, portion terms, localized food names, synonyms, slugs, and search behavior.

The app uses ICU MessageFormat for pluralization/units and locale-aware number/unit formatting. Search varies by script: Latin languages use pg_trgm/unaccent, CJK and other non-Latin scripts use PGroonga, and romanized aliases are indexed separately so Latin-keyboard queries can still find native-script foods.

For localization I do use multiple LLM passes, but mostly as a structured localization pipeline rather than a one-shot translator: generate localized names/aliases/slugs/content from canonical food and nutrient data, then run separate review/evaluation passes and human spot checks.

The hard part is regional naming and portions, not basic translation. For example, in Spanish, "Potato" as papa vs patata is the simple version of the problem.

llovan•3h ago
Hi HN, I'm Jovan. I've been building Nutrepedia part-time from Monterrey, Mexico.

It's a multilingual nutrition reference site: 1,635 foods rendered into 47,415 localized pages across 29 regional locales. Each page has nutrition facts, localized names, portion terms, regional routing, imagery, and short food context.

The stack is Clojure, HTTP-Kit, Compojure, Hiccup, HTMX, and Postgres. Postgres handles the food data, localized content, admin workflow, task queues, search, and evaluation records.

The search piece has been the most interesting technically. Latin-script fuzzy search uses pg_trgm and unaccent. CJK and other non-Latin scripts use PGroonga. Romanized aliases are indexed separately, so a query like "rasbhari" can find a Hindi food name like "rasbhari" / "रसभरी".

I built this because most nutrition tools feel calorie-first, signup-first, and English focused. I wanted the reference layer to be free and useful before asking anyone to track meals or create an account.

I'd especially appreciate feedback on search, localization mistakes, whether the pages are useful before tracking exists, and any obvious technical blind spots.

snowpid•2h ago
cool projects. bear in mind some languages like Spanish are spoken across different countries. German for example is spoken in Germany, Austria and Switzerland. Using the Germany flag is misleading.
setnone•3h ago
cool! i see at least two reasons in the title to upvote this
llovan•3h ago
lol, ty, Clojure + HTMX have been an amazing combo for this project. and postgres too, for the DB.
olarm•3h ago
Very nice, what is the source of the data?
llovan•3h ago
The only source currently for all data is the USDA's Food Data Central. I'm planning on adding more nutrient data sources in the near future.
laurentlb•3h ago
Is there a way to set the default unit? I'd prefer to see the information per 100g by default (instead using random units).
llovan•2h ago
thanks for the feedback. That's a good suggestion. I will be adding some tweaks soon for improved unit handling. Also another idea I had that I want to implement is being able to compare several foods side by side in a split view (on desktop or tablet landscape modes).
Finnucane•2h ago
The search seems a bit weird. A search for salmon includes almonds in the results, and a search for spinach includes Tahitian taro.
llovan•2h ago
Thanks for the feedback. Currently in addition to fuzzy matching the search system will match against synonyms broadly, so some unintended leafy greens would match Spinach as in your example results. I'll have to tweak the fuzzy matching a bit.
torsianWorld•2h ago
Great optimization!
simlan•22m ago
Looks good. The quantities input box behaves strange on Firefox mobile. Can't seem to delete the input and type something new. Jumps to a default or any number before I get to type my grams.

Show HN: Mnemo – local-first AI memory layer for any LLM (Rust, SQLite,petgraph)

https://github.com/zaydmulani09/mnemo
5•zaydmulani•42m ago•0 comments

Show HN: Lint Your Markdown with ESLint

https://github.com/lumirlumir/npm-eslint-markdown
4•beenzinozino•7h ago•0 comments

Show HN: Edsger – A handwritten Clojure REPL for the reMarkable 2

https://handwritten.danieljanus.pl/2026-06-01-edsger.html
223•nathell•1d ago•31 comments

Show HN: Nutrepedia – Nutrition info in 29 locales built with Clojure and Htmx

https://nutrepedia.com/en-us/
69•llovan•4h ago•18 comments

Show HN: I reverse-engineered the world maps of Test Drive III (1990 DOS game)

https://github.com/s-macke/Test-Drive-3-Maps
190•s-macke•3d ago•53 comments

Show HN: I created a React alternative using web componnents

https://createthirdplaces.org/tech/placesjs.html
4•gulugawa•1h ago•0 comments

Show HN: Rscrypto, pure-Rust crypto with industry leading public benches

https://github.com/loadingalias/rscrypto
19•LoadingALIAS•4h ago•6 comments

Show HN: Ideogram 4.0 – open-weight 9.3B text-to-image model

https://github.com/ideogram-oss/ideogram4
26•pigcat•5h ago•6 comments

Show HN: Solving complex optimization problems with Google OR-Tools in browser

https://github.com/Axelwickm/or-tools-wasm
10•AxelWickman•5h ago•4 comments

Show HN: Tired of duct-taping access control into agent prompts. Here's the fix

https://github.com/yaodub/cast
17•zwigglers•8h ago•17 comments

Show HN: Eyeball

https://eyeball.rory.codes/
274•mrroryflint•1d ago•80 comments

Show HN: Live breath detection and biofeedback from a phone microphone

https://github.com/shiihaa-app/shiihaa-breath-detection
58•felixzeller•1d ago•21 comments

Show HN: Mashines.dev – Live-migrate microVMs between hosts without restarting

https://mashines.dev/
3•ktaraszk•3h ago•0 comments

Show HN: Constellation is an open-source Hasura-compatible GraphQL engine in Go

https://nhost.io/blog/introducing-constellation
7•nunopato•6h ago•2 comments

Show HN: Capture, compress, and copy screenshots to clipboard

https://github.com/sauravtom/Screenshot2Clipboard
2•sauravt•4h ago•0 comments

Show HN: Instant DBML Schema to Database Diagram PNG Tool

https://vibe-schema.com/dbml-to-png
5•SsgMshdPotatoes•7h ago•1 comments

Show HN: Phive, a Gomoku-like game to play with friends or solo

https://phive.app
17•0xCA1EB•3d ago•9 comments

Show HN: RePlaya – self-hosted browser session replay with live tailing

https://github.com/s2-streamstore/replaya
47•shikhar•1d ago•8 comments

Show HN: Paseo – Beautiful open-source coding agent interface

https://github.com/getpaseo/paseo
80•timhigins•22h ago•47 comments

Show HN: Build Your Own AI Agent CLI in 150 Lines

https://go-micro.dev/blog/11
29•asim•1d ago•1 comments

Show HN: A CSS 3D Engine (no WebGL)

https://github.com/LayoutitStudio/polycss
78•rofko•2d ago•27 comments

Show HN: Vivix – See inside JavaScript as it executes (open source)

https://vivix.dev/
3•hlude•11h ago•7 comments

Show HN: A crowdsourced map of surveillance camera's based on OSM

https://mapcomplete.org/surveillance?z=0.5&lon=12.732776
6•pietervdvn•19h ago•0 comments

Show HN: Terraform RAG - index modules, distill conventions, compose via MCP

https://terraform-rag.io
4•kitgw•11h ago•1 comments

Show HN: 100cc - Roll your own Claude in 100 lines

https://github.com/yujqiao/100cc
10•rapiz•1d ago•4 comments

Show HN: Monophobie, a shared ASCII canvas, never draw alone

https://monophobie.de
4•dschu•12h ago•2 comments

Show HN: DropLock – E2EE secret sharing web app with no backend

https://droplock.apitman.com/
23•apitman•1d ago•7 comments

Show HN: DepsGuard – One command to harden NPM/pnpm/yarn/bun/uv configs

https://github.com/arnica/depsguard
39•eranation•2d ago•6 comments

Show HN: Streambed – Stream Postgres to Iceberg on S3, Supports Postgres Wire

https://github.com/viggy28/streambed
129•vira28•3d ago•37 comments

Show HN: Breathe CLI – Paced resonance breathing in the macOS terminal

https://github.com/marekkowalczyk/breathe-cli
132•marekkowalczyk•4d ago•52 comments