The site you’re on is made the same way the matches are: by hand, on a small workbench, with simple tools.

Frontend. Jekyll, no theme, all layouts and styles written by hand. Vanilla JavaScript — no framework, no build step. One CSS file driven by custom properties. Hosted on GitHub Pages.

Backend. A small Flask application on PythonAnywhere handles checkout, order records, shipping labels, and newsletter sends. Flat-file JSON storage instead of a database — quiet, durable, easy to back up.

Type. Cormorant Garamond for display, Lora for body, DM Sans for UI. Served from Bunny Fonts — privacy-respecting, no tracking.

Color. Two palettes, switched automatically by your operating system’s light/dark mode preference. Parchment, espresso, burgundy, gold. Candlelight, not CRT.

Tools we pay for. Stripe for payments, Shippo for USPS labels, Bunny.net for media, Fastmail for mail.

People. Aaron writes the code and makes the goods. Lindsay handles the rest. We aim to keep things small and slow.

No frameworks. No build pipelines. No analytics scripts that follow you across the web — Tinylytics only, which doesn’t.

Source for the public site lives on GitHub at BestCigarMatches/BestCigarMatches.github.io. The admin backend is private.