Launched today: faxoffice1987.com — 8 film cameras simulated in Canvas 2D.
The constraints I set myself:
- One HTML file
- No build step, no dependencies, no npm install
- Runs offline from a USB drive
- No backend, no account, no uploads
The hard part: per-pixel color science. Each film stock (Tri-X,
Portra, Velvia, Neopan Acros) has its own render path. Not a filter
on top — a decision at the pixel level.
Stack:
- Vanilla JS, Canvas 2D
- Cloudflare Pages + Functions (share links, license validation)
- Polar.sh for checkout
- localStorage for state
Pricing experiment: $29 one-time. No subscription. 1 camera free forever.
Would love architecture feedback especially on the color science approach.
Top comments (0)