Skip to main content
Welcome. This site supports keyboard navigation and screen readers. Press ? at any time for keyboard shortcuts. Press [ to focus the sidebar, ] to focus the content. High-contrast themes are available via the toolbar.
serard@dev00:~/cv

About Me and This Site: 165 Commits in 10 Days

What does your git history say about you? Mine says I don't sleep much.

The Numbers

This entire website — the one you're reading right now — was built from scratch in 10 consecutive days, from March 18 to March 27, 2026.

Metric Value
First commit March 18, 2026 at 03:14 AM
Total commits 165
Average 16.5 commits/day
Lines added ~338,000
Lines deleted ~39,000
Days without a commit 0

Not a single day off. The quietest day was March 24 with exactly one commit — and even that was a late-evening push.

Daily Breakdown

The intensity wasn't uniform. Two days stand out as absolute marathons:

Day Commits What happened
Mar 18 (Wed) 16 Day zero. Initial commit at 3 AM. Schneider experience, dark/light theme, first blog entries.
Mar 19 (Thu) 15 Homelab-podman, AI dev page, meta-modeling, DDD/feature tracking/CMF blog posts.
Mar 20 (Fri) 8 Links, QA gates, binary wrapper, menu, workflow JS, TOC.
Mar 21 (Sat) 20 TOC navigation, wrapping Docker, skills pages, a11y pass, design pipeline, favicons.
Mar 22 (Sun) 32 Massive style overhaul, static website conversion, copy button, parallax, homelab v2, a11y.
Mar 23 (Mon) 33 Analytics, animations, typed spec testing, new blog posts, workflow engine.
Mar 24 (Tue) 1 The "rest" day. One commit at 10 PM.
Mar 25 (Wed) 15 Hire modal animated, hardening test pipeline, typed spec testing onboarded.
Mar 26 (Thu) 15 Domain serard.dev, workflow fixes, Vercel cache configuration.
Mar 27 (Fri) 10 Final polish and fixes.

The weekend of March 22-23 was the turning point: 65 commits in 48 hours. That's when the site transformed from a collection of markdown files into a polished, animated, static-generated product.

I Code at Night

The git timestamps tell a clear story about when I do my best work:

00h   17  #############################
01h    7  ############
02h    9  ###############
03h   17  #############################
04h   13  ######################
05h    5  ########
06h    8  #############
07h    4  #######
08h    6  ##########
09h    8  #############
10h    3  #####
11h    2  ###
12h    7  ############
13h    3  #####
14h   13  ######################
15h    7  ############
16h    1  ##
17h    4  #######
18h    7  ############
19h   11  ##################
20h    5  ########
21h    9  ###############
22h    3  #####
23h    6  ##########
Time period Commits Percentage
Night (00h-06h) 58 35%
Morning (06h-12h) 31 19%
Afternoon (12h-18h) 35 21%
Evening (18h-00h) 41 25%

Peak hour: 3 AM — tied at 17 commits with midnight. More than a third of this site was written between midnight and 6 AM.

This isn't insomnia. This is when the world is quiet, notifications stop, and I can hold an entire architecture in my head without interruption. Twenty years of development have taught me that the quality of focused time matters more than the quantity of calendar hours.

The Iteration Pattern — Extreme Programming by the Book

Looking at commit messages, a pattern emerges:

  • ~60% of commits are labeled "fixes" or "fix"
  • ~15% are feature additions ("animated toc", "new blog posts", "analytics")
  • ~15% are structural changes ("new static website", "workflow", "ts requirements, tests")
  • ~10% are infrastructure ("vercel cache", "robots style", "serard.dev")

This is textbook Extreme Programming. Not the caricature — the real thing, as Kent Beck described it: small releases, continuous integration, simple design, refactoring, and fast feedback.

The XP practices are all here in the git log:

  • Small releases: every commit is a deployable increment. No feature branches, no release trains — main is always production.
  • Continuous integration: push to main, Vercel builds, the site is live. The feedback loop is measured in seconds, not days.
  • Simple design: vanilla JS, no framework, no abstraction layers. The simplest thing that could possibly work — then iterate.
  • Refactoring: the 60% "fixes" ratio is refactoring. Small, constant improvements to code that already works. Never rewrite, always reshape.
  • Courage: shipping to production 16 times a day means accepting that some pushes will break something — and trusting that the next push will fix it within minutes.

The high ratio of "fixes" isn't a sign of poor quality — it's a sign of continuous refinement. Each fix is small (often a CSS tweak, a padding adjustment, a link correction) and each one makes the result incrementally better. This is XP's "embrace change" principle applied at the individual level: don't try to get it perfect on the first pass. Get it working, ship it, observe, adjust.

The only XP practice missing is pair programming — unless you count coding with Claude at 3 AM, which is arguably the modern equivalent.

Work Sessions

If we define a "session" as a period of continuous work with no gaps longer than 2 hours, the pattern becomes even clearer. Long, deep sessions — often spanning 3 to 6 hours — followed by breaks, then another deep dive.

The longest sessions tend to start around 10 PM and end around 4 AM. The most productive sessions aren't the longest — they're the ones where a single coherent feature gets built end-to-end in one sitting (the static website conversion, the animation system, the typed spec testing).

What This Says

This git history is a snapshot of how I work:

  1. I start fast. The initial commit wasn't a boilerplate — it was a functional prototype. Get something working, then iterate.
  2. I don't plan in documents — I plan in code. The architecture emerged through commits, not through design docs written before the first line of code.
  3. I ship constantly. 165 commits in 10 days means I push to production roughly every 90 minutes during active work. The site was live and improving from day one.
  4. I care about details. The volume of "fixes" commits shows someone who notices a 2px misalignment and can't move on until it's right.
  5. I work in bursts. Intense 4-6 hour sessions with total focus, not 8-hour days of moderate attention.

This is the pattern of a self-taught developer with 20+ years of experience: no ceremony, maximum iteration speed, and a bias for shipping over planning.

The Tools

This site was built in collaboration with Claude (Anthropic). Not as a code generator that I copied from — as a development partner in a conversation that spanned dozens of sessions. I prompted, reviewed, adjusted, rejected, redirected, and refined. The git history shows my decisions; the AI accelerated my execution.

The stack itself reflects the same philosophy:

  • Vanilla JavaScript — no framework, no bundler
  • Markdown + YAML frontmatter — content as data
  • Static generation — Node.js build script, no server
  • Vercel — push to main, site updates in seconds
  • PowerShell — local tooling and reporting (including the script that generated this analysis)

No cloud CI/CD. No Docker in production. No Kubernetes. Just git push and the site is live.


This blog post was generated from an analysis of the git history of this repository, using a PowerShell reporting script that extracts commits, timestamps, sessions, and patterns from git log.