NouriLoop LLC

Work

Everything here is public. You can try it, read the source, and see how it was built.

NouriLoop

A nutrition-tracking web app with AI built in from the ground up. It's live at app.nouriloop.com, open source under AGPL, and anyone can run their own copy with Docker in about an hour.

  • What it does: logs meals, recipes and supplement labels from a photo; shows how each meal moved your glucose, using a continuous glucose monitor; turns a goal described in plain words into a measurable one, with check-ins in the app, by email or by text; works in six languages.
  • What it's built on: Symfony and PHP, MariaDB, Stripe and Twilio. The AI provider can be swapped between Anthropic, OpenRouter and Ollama, and every AI call is metered.
  • How it was built: mostly with AI coding agents, with John planning, directing and reviewing every step. Since June 2026 that's more than 250 pull requests, each one reviewed before it was merged, and more than 180 test files that run on every change.
  • How it runs: in production, operated by one person, with uptime monitoring, encrypted nightly backups kept offsite, automatic security updates, automatic dependency updates and a weekly vulnerability audit.
NouriLoop's Today screen for a demo user: calories so far, the day's anti-inflammatory score, a how-do-you-feel check-in with three sliders, and glucose responses to breakfast and lunch.
Today: calories so far, the food's inflammation effect, a quick check-in, and each meal's glucose response.
NouriLoop's Glucose Insights over 30 days: meals with the biggest glucose rises, the gentlest meals, and meals that rose more than their nutrition predicted.
Glucose insights: meals ranked by how much they raised glucose, and the ones that rose more than their nutrition predicted.
A NouriLoop goal, Boost Daily Fiber, with its definition, weekly schedule, and a history of check-ins such as 26.8 g per day, goal achieved.
A goal in plain words, turned into a measurable one, with weekly check-ins.

Screenshots are from a demo account with sample data.

Try it · Source on GitHub

Cranky Coop

A physics slingshot game: the raccoons ate the eggs, and the hens take it personally. Six levels, hand-drawn canvas art, sound synthesized in the browser, all in one HTML file. MIT license.

Play · Source

Quiet Solitaire

Klondike, Spider and FreeCell in one HTML file, with no ads, no accounts and no purchases. Play with a mouse or entirely from the keyboard, with three hand-drawn decks. MIT license.

Play · Source

Small projects get the same care as large ones: a build check and a review before every merge.

Library software

Open-source tools for libraries that run the SirsiDynix Symphony library system. Both are released under the GPL and are in production at Oregon library systems.

  • libilsws: a PHP package for Symphony's Web Services API. Other library tools are built on it.
  • ReLibConnectEd: an automated pipeline that loads student records from school districts into the library system, so students get library accounts through their schools. It validates the data, standardizes addresses to USPS format, skips records that haven't changed, and emails each district a report after every run.

A Python rewrite of ReLibConnectEd is in user acceptance testing and will be released as open source when it's finished.

libilsws source · ReLibConnectEd source