Changelog
A running, public log of real changes to this site — built in the open, mostly through AI-agent pairing sessions. See /postmortems for what breaks; this is what changes.
September 5, 2026
One-line short links
kamal.sh/linkedin, /github, /youtube and any future short redirect now come from a single data file instead of a hand-written route per link — adding a new one is a one-line change, not a new file.
September 5, 2026
SEO tags and a little humor
Open Graph and Twitter Card previews, canonical tags, a proper custom 404 page, and a small console easter egg for anyone who opens devtools.
September 5, 2026
A real booking calendar
Replaced the contact page's placeholder date picker with an actual month-view calendar — out-of-window dates fade instead of just disappearing.
September 5, 2026
Contact form: bot protection and rate limiting
Cloudflare Turnstile plus a 2-messages-per-4-hours cap, enforced both client- and server-side, so the form stays usable without becoming a spam target.
September 5, 2026
Real testimonials, linked back to LinkedIn
28 real recommendations, every one a genuine 5-star rating, most linked to the recommender's own LinkedIn profile.
September 5, 2026
An editorial visual redesign
Replaced an earlier glassmorphism/gradient look with hairline-divided lists, a serif display face, and one restrained accent color — see /uses for the stack this runs on.