About
A cheese catalogue that is also
a hosting demo.
Havarti is a real application: 80 cheeses from 21 countries, written up by hand, browsable by milk, style, country and strength, with a JSON API and somewhere for visitors to leave a tasting note. There are 0 of those so far.
It is also the demonstration tenant for With Awesome’s hosting platform — the thing a prospective client is shown when they ask what “managed hosting” actually means. That is why it exists, and why it does a few things on purpose that a cheese site would not otherwise bother with.
What it is quietly demonstrating
- A scheduled job
- Cheese of the day is chosen by an artisan command that runs on a schedule managed outside the app. If the schedule stops, the home page keeps showing the last pick and its date — a failure you can see rather than one that hides.
- A real database
- Tasting notes are written to Postgres, so the nightly off-site backup has something that changes to capture. The catalogue itself is seeded from files in the repository and re-seeded on every deploy.
- Persistent storage
- Photos attached to tasting notes are written to a volume that survives a redeploy — the container is disposable, the uploads are not.
- Environment variables
- The tagline, the accent colour and four feature toggles are read from the environment. Change one in the hosting portal and this site changes with the next deploy, with no code edit.
- A health check
- The platform polls a health endpoint that actually opens a database connection, so “up” means up rather than merely running.
Currently switched on
Read live from this deployment’s environment. This is the panel that changes when someone edits an env var in the portal.
HAVARTI_ACCENT
gold — Rind gold
HAVARTI_SHOW_PAIRINGS
on
HAVARTI_TASTING_NOTES_ENABLED
on
HAVARTI_PHOTO_UPLOADS_ENABLED
on
HAVARTI_CHEESE_OF_THE_DAY_ENABLED
on
The API
Read-only, unauthenticated, JSON. The same filters the catalogue page uses work as query
parameters: q,
milk,
style,
country,
strength,
per_page.
A word on the pictures
No photographs have been borrowed from anyone. Every wedge in the catalogue is drawn as SVG by the application itself, from that cheese’s own paste and rind colours, with the interior chosen by style — small irregular eyes for a semi-soft, veins for a blue, crystals for something aged three years. It is deterministic, so a given cheese always looks the same. The single photograph on the home page was generated for this site.
Facts have been checked as far as a cheese catalogue reasonably can be. If something here is wrong, it is wrong honestly.