Skip to content
Havarti

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.