The types
Cronotype samples recent authored commits, filters out obvious merge and dependency noise, and sorts active profiles into one of nine rhythms. Empty signal samples become Quiet lately instead: still a profile, just not enough recent public signal for a current type.
Grass Toucher
You are either touching grass, building somewhere private, or letting the graph wonder where you went.
How it's spotted
Sparse public signal with no clear time-of-day shape. Low commit count alone is not enough for this to win.Score
Inverse: fewer signal commits means a higher score. The quietest matching graphs score highest.Vampire
You do your sharpest work when notifications are asleep and the world stops asking questions.
How it's spotted
A clear share of signal commits lands between midnight and 5am, with a night peak or a very strong night lean.Score
Higher with more nocturnal share. The deeper the night shift, the stronger the bite.Last Call Shipper
You come alive as the respectable workday is packing up, which is either elite focus or procrastination with excellent branding.
How it's spotted
A clear late-day lean with very little early-day signal.Score
Higher with a larger late-day share. Strong afternoon or evening peaks score highest.Sunrise Sniper
You find leverage in the early quiet and leave fresh commits for everyone else to wake up to.
How it's spotted
A clear share of signal commits lands between 5am and 9am, with an early peak or a very strong morning lean.Score
Higher with more pre-9am commits. The more morning-weighted the graph is, the sharper the shot.Lunch Bandit
You turn the quiet middle of the day into a tiny shipping heist.
How it's spotted
Noon clearly beats the surrounding hours. Small samples need a little extra separation before this wins.Score
Higher when noon dominates the rest of the workday. A sharper spike means a better score.Weekend Warrior
You turn Saturday and Sunday into the part of the week where momentum finally gets room.
How it's spotted
A clear weekend tilt. Small samples need to land beyond the edge before this beats Drifter.Score
Higher with more Saturday and Sunday share. Weekend-heavy graphs rise fast.Insomniac Maintainer
You split your output between the official day and the second shift after everyone logs off.
How it's spotted
A two-shift shape: more than 25% during the day, more than 20% late at night, with a quieter evening valley.Score
Starts at 50 and climbs with nocturnal share. The stronger the second shift, the higher it lands.Nine-to-Fiver
You keep a steady workday pulse and still make it look clean.
How it's spotted
Most signal commits land from 9am to 7pm, with a real workday-start signal and no strong afternoon-only, night, or weekend signature.Score
Higher with a larger business-hours share. The more daytime your rhythm is, the stronger the type.Drifter
You move through odd windows, bursts, and gaps, yet the work keeps appearing.
How it's spotted
The fallback when no stronger rhythm wins by enough: no clear night cluster, sunrise lean, lunch spike, or weekend tilt.Score
Fixed midpoint. Drifters are the beautiful chaos bucket, so there is no single signal to score.
How the reveal works
- Data source. GitHub's Search Commits API for a recent 90-day sample of public commits authored by the handle. The current card filters out merge commits and obvious dependency automation, then uses up to 100 signal commits. A displayed signal of
100+means the filtered sample hit GitHub's page cap. - Bucketing. Each signal commit is binned by hour (24 buckets) and weekday (7 buckets) using an explicit timestamp offset when GitHub exposes one, falling back to UTC bucketing when it does not. From those we derive shares:
pctNocturnal(midnight to 5am),pctSunrise(5am to 9am),pctBusiness(9am to 7pm),pctWeekend, plus anisBimodalflag for two-shift distributions. - Classifier. A short cascade of rules in priority order. Empty signal samples become Quiet lately. Otherwise the first matching rhythm wins: Insomniac Maintainer, Vampire, Sunrise Sniper, Lunch Bandit, Weekend Warrior, Last Call Shipper, Nine-to-Fiver, Grass Toucher, then Drifter.
- Year history. The evolution chart totals come from GitHub's GraphQL contributions calendar. Its colors use a small signal sample for each finished year, and the current year inherits the current 90-day type.