// CHANGELOG

This site, versioned like software.

Semver, dated entries, conventional-commit tags. If I maintain your systems this carefully, imagine the actual systems.

v2.3.0 — 2026-06-10

The wordmark learns to type.

  • feat New looping typewriter wordmark: types justinecodez.com, erases it, types JustineCodez.com with Codez in amber. Loops forever in the hero, footer, and 404; plays once per session in the header, then settles with the cursor blinking.
  • feat Honest details preserved from the brand source: human-ish keystroke timing, faster deletes, cursor solid while typing and blinking only at rest, loop paused in hidden tabs, static wordmark for reduced-motion readers.
  • chore The drawn-jc header mark retired in favor of the typewriter; the jc tile favicon stays.

v2.2.0 — 2026-06-10

New brand: the drawn jc wordmark with the blinking cursor.

  • feat Inline animated wordmark in the header — types itself on once per session, then leaves the cursor blinking (paused while the tab is hidden; static for reduced-motion users).
  • feat New favicon set: animated SVG tile plus 512/192/180 PNG fallbacks rendered from the brand source at build time, and a web app manifest.
  • feat All Open Graph images regenerated in the new identity — ink, paper, and that orange cursor.
  • chore The old orange JC gradient square is gone. It served; it taught; it was replaced.

v2.1.0 — 2026-06-09

The engineer's layer: interactive proof and developer-culture conventions.

  • feat ⌘K command palette — fuzzy search across pages, case studies, services, and actions. Hand-rolled, zero dependencies.
  • feat Interactive WhatsApp bot demo on the WhatsApp Automation service and the MPENYO case study — a scripted sales flow you can tap through.
  • feat Console banner for people who open devtools. You know who you are.
  • feat GET /api/me — a JSON resume. Try curl justinecodez.com/api/me.
  • feat Animated 7-stage pipeline diagram on the CVM Engine case study, with a reduced-motion fallback.
  • feat /uses — the stack and tools, and /now — what I'm building, updated as it changes.
  • feat This changelog. Versioned like software, because it is.
  • feat Page-weight badge in the footer — measured in your browser, not marketing copy. No trackers to weigh.
  • feat humans.txt and security.txt, because craft includes the corners nobody looks at.
  • feat Dynamic OG images for case studies.
  • feat A hidden something. Check the console.
  • feat Blog scaffold with the first post in progress: a UTC vs EAT epoch-boundary bug, plus an RSS feed.

v2.0.0 — 2026-06-09

Complete rebuild as a portfolio-driven consulting site.

  • feat Migrated from a client-side-rendered Vite SPA to Next.js static export — every page is now real HTML, readable without JavaScript.
  • feat New information architecture: Services, Work with 10 case studies, About, Contact.
  • feat Case studies in Challenge → Solution → Stack → Outcome format with tag filters.
  • feat SEO foundation: per-page meta, canonical URLs, sitemap.xml, robots.txt, JSON-LD (Person, ProfessionalService, Service).
  • feat WhatsApp click-to-chat as the primary conversion channel, plus a zero-credential lead form.
  • content Swahili hero tagline: Tujenge Pamoja.
  • chore Self-hosted fonts via next/font; dropped the Google Fonts CDN, framer-motion, and unused dependencies.

v1.0.0 — 2025

The original single-page site. It served; it taught; it was replaced.

// NEXT STEP

Let's build something serious together.

Tell me what you're building — fintech infrastructure, a WhatsApp channel, a new product, an AI use case, or a training program — and I'll tell you honestly whether and how I can help.