CodeHorizon
My studio’s home: a page for every product, a changelog with RSS, and no trackers.
- Platform
- Studio website
- When
- Sep 2026
- Role
- Design and build
- Status
- Live
The problem
My products lived on two app stores and a couple of product sites, with no one place that showed them together, said what changed in each, or let someone start a project with me.
What I built
A home for the studio. Every app and extension has its own page that walks through how it works, step by step, with the screens you’ll actually see. A changelog says what shipped and why, in plain words, with an RSS feed. The contact form fits how you like to talk: a quick hello, or a three-step project plan.
Hard partKeeping nine product pages true to the stores, from one file of facts.
Under the hood
- 01DataProducts and the changelog, in two files
- 02Build scriptEvery page, the sitemap and the RSS feed
- 03Cloudflare WorkerServes the site, and takes the form
- 04Email RoutingEnquiries straight to my inbox
A page per product, from one file
The copy and facts for every product page live in one data file, down to which screenshot goes with each step. A small Node script renders every page as static HTML.
Answers Google can read
Each product’s questions are on its page and sent to Google as FAQ structured data, so the answers have to stay factual.
Share images, drawn
A script redraws each product’s 1200 by 630 share image when its name or tagline changes.
Decisions
- 01
Two ways to get in touch
A quick hello shouldn’t need a budget, and a real project is easier to plan with one: what, budget and timing, then details.
Trade-offOne more form to keep working.
- 02
No trackers
The products keep your data on your device, so the site that shows them shouldn’t follow you around either.
Trade-offI know less about who visits.
Timeline
CodeHorizon begins
My one-person studio, for small products that fix something that annoys me.
A proper home
A page for every app and extension with real screenshots, a changelog, and a contact form with two ways to talk.
Built with
HTMLCSSJavaScriptGSAPLenisCloudflare Workers

