Goodhour
Find the hour that works for everyone.
Add each teammate's city and working hours to see where your days overlap, get the best meeting times ranked, and keep them correct when the clocks change.
Zip, 212 KB. MIT licence. Built 28 Oct 2026.
Live preview
This is the real site, not a mock-up. Click around; the button on it opens the working app.
What you get
Everything a tool needs, already done.
Pages and screens
- Launch page
- Overlap bands
- How it works
- Features
- Team grid app
- Best-slot ranking
Features
- Add a city and working hours per teammate
- Grid shows where everyone's working hours overlap
- Ranks the best meeting slots
- Stays correct across daylight-saving changes
- Built for teams across three to twelve cities
- Runs as static files, no accounts needed
Palette
#c2410c#ffffff#a6370a#fbe3d4#1f1b16#5f574c
Style
- Warm
- Editorial
- Minimal

For developers
A real codebase, not a page builder export.
Stack
Vite, React 19 and TypeScript for the app. The launch page is plain HTML, CSS and a little JavaScript with no build step. Vitest for unit tests, Playwright for browser tests.
Run it
unzip goodhour.zip
cd goodhour
npm install
npm run devIn the zip
site/the launch page with the built app insite/app/src/ande2e/the app source and testsdocs/technical-docs/architecture, runbook, quick referenceSTART-HERE.mdandLICENSE(MIT)
More like this
Also on the shelf

Hueproof
Hueproof checks every text and background colour pair in your brand palette against WCAG AA and AAA, suggests passing shades and exports CSS variables.

Tapeline
Keeps each customer's measurements and alteration jobs in one place, with a status board and printable claim tags, all running in the browser with no account.

Tintype
A ready-made website for photographers with a filterable portfolio, a package picker with a live total, a copyable enquiry email and a shot list builder.
