First Party

Open Sourced Analytics

What people read here, how far they get, and how fast pages feel. Built in house on my own stack. No ad trackers, no third party pixels.

Reliability

Uptime and response time
All systems operational checked 59d ago

Uptime

100%

last 30 days

Avg response

47ms

p95 68ms

Incidents

0

none in window

Checks

7,653

every 5 min

Response time, last 60 checks · min 34ms · avg 47ms · p95 68ms.

Lab scores

Google Lighthouse
89 Performance
96 Accessibility
97 Best practices
100 SEO
  • Home 8392100100
  • /contact 929796100
  • /services 929696100
  • /stats 889796100

Google Lighthouse lab scores, averaged across 4 key pages · captured 60d ago. Each page graded 0–100 per category.

Traffic

Last 7 days through 2026-10-14

Visits

72

▼ 5% vs prior 7 days

Visitors

52

▼ 4% vs prior 7 days

Per day

7

visitors

Window

30d

nightly rollups

Live days

30

of 30

24Sep 14Oct 13Sep 14: 24 eventsSep 15: 11 eventsSep 16: 10 eventsSep 17: 11 eventsSep 18: 13 eventsSep 19: 12 eventsSep 20: 9 eventsSep 21: 12 eventsSep 22: 10 eventsSep 23: 14 eventsSep 24: 8 eventsSep 25: 9 eventsSep 26: 17 eventsSep 27: 7 eventsSep 28: 10 eventsSep 29: 12 eventsSep 30: 14 eventsOct 1: 8 eventsOct 2: 11 eventsOct 3: 8 eventsOct 4: 8 eventsOct 5: 16 eventsOct 6: 11 eventsOct 7: 10 eventsOct 8: 18 eventsOct 9: 10 eventsOct 10: 6 eventsOct 11: 12 eventsOct 12: 8 eventsOct 13: 8 events

Daily events over the last 30 days. Peak day highlighted. Hover any bar for the exact count.

Top content

What people read

Top articles

Most read over the last 90 days.

  1. How This Blog Works 14
  2. Pydantic The Open Source Layer Quietly Running The Ai Economy 6
  3. Netlify Github Analytics Pipeline 4
  4. Minimal Javascript Approach 3
  5. Automated Analytics Reporting 2
  6. How Kleto Ships Under Constraint 2
  7. Jamstack Ssg Playbook 2
  8. Node To Bun In An Afternoon 2

Top paths

Where the traffic lands.

  1. / 69
  2. /article/minimal-javascript-approach/ 2
  3. /article/how-this-blog-works/ 1

Audience

What people browse on

Devices

Browsers

Systems

Field speed

Real-user timings

Largest paint

2663ms

Needs work

First byte

112ms

Healthy

Sample days

30

with paint readings

Reading

How far people get

Time on page

10s

Reached 75%

3%

Shipping

Commits over time
AprMayJunJulAugSepOctMonWedFriApr 12: 1 commitApr 13: no commitsApr 14: no commitsApr 15: no commitsApr 16: no commitsApr 17: no commitsApr 18: no commitsApr 19: no commitsApr 20: no commitsApr 21: no commitsApr 22: no commitsApr 23: no commitsApr 24: no commitsApr 25: no commitsApr 26: no commitsApr 27: no commitsApr 28: no commitsApr 29: no commitsApr 30: no commitsMay 1: no commitsMay 2: no commitsMay 3: no commitsMay 4: no commitsMay 5: no commitsMay 6: no commitsMay 7: no commitsMay 8: no commitsMay 9: no commitsMay 10: no commitsMay 11: no commitsMay 12: no commitsMay 13: no commitsMay 14: no commitsMay 15: no commitsMay 16: no commitsMay 17: no commitsMay 18: no commitsMay 19: no commitsMay 20: no commitsMay 21: no commitsMay 22: no commitsMay 23: no commitsMay 24: no commitsMay 25: no commitsMay 26: 562 commitsMay 27: 1 commitMay 28: 1 commitMay 29: 1 commitMay 30: 1 commitMay 31: 1 commitJun 1: 1 commitJun 2: 1 commitJun 3: 1 commitJun 4: 1 commitJun 5: 1 commitJun 6: 1 commitJun 7: 1 commitJun 8: 1 commitJun 9: 1 commitJun 10: 1 commitJun 11: 1 commitJun 12: 1 commitJun 13: 1 commitJun 14: 1 commitJun 15: 1 commitJun 16: 4 commitsJun 17: 3 commitsJun 18: 40 commitsJun 19: 13 commitsJun 20: 61 commitsJun 21: 1 commitJun 22: 1 commitJun 23: 94 commitsJun 24: 42 commitsJun 25: 59 commitsJun 26: 38 commitsJun 27: 7 commitsJun 28: 2 commitsJun 29: 1 commitJun 30: 1 commitJul 1: 43 commitsJul 2: 59 commitsJul 3: 1 commitJul 4: 1 commitJul 5: 16 commitsJul 6: 30 commitsJul 7: 1 commitJul 8: 1 commitJul 9: 1 commitJul 10: 1 commitJul 11: 1 commitJul 12: 1 commitJul 13: 1 commitJul 14: 1 commitJul 15: 1 commitJul 16: 1 commitJul 17: 92 commitsJul 18: 76 commitsJul 19: 20 commitsJul 20: 3 commitsJul 21: 9 commitsJul 22: 25 commitsJul 23: 65 commitsJul 24: 2 commitsJul 25: 23 commitsJul 26: 1 commitJul 27: 1 commitJul 28: 1 commitJul 29: 1 commitJul 30: 1 commitJul 31: 5 commitsAug 1: 1 commitAug 2: 3 commitsAug 3: 1 commitAug 4: 3 commitsAug 5: 5 commitsAug 6: 5 commitsAug 7: 5 commitsAug 8: 11 commitsAug 9: 5 commitsAug 10: 5 commitsAug 11: 5 commitsAug 12: 5 commitsAug 13: 5 commitsAug 14: 5 commitsAug 15: 5 commitsAug 16: 5 commitsAug 17: 2 commitsAug 18: no commitsAug 19: no commitsAug 20: no commitsAug 21: no commitsAug 22: no commitsAug 23: no commitsAug 24: no commitsAug 25: no commitsAug 26: no commitsAug 27: no commitsAug 28: no commitsAug 29: no commitsAug 30: no commitsAug 31: no commitsSep 1: no commitsSep 2: no commitsSep 3: no commitsSep 4: no commitsSep 5: no commitsSep 6: no commitsSep 7: no commitsSep 8: no commitsSep 9: no commitsSep 10: no commitsSep 11: no commitsSep 12: no commitsSep 13: no commitsSep 14: no commitsSep 15: no commitsSep 16: no commitsSep 17: no commitsSep 18: no commitsSep 19: no commitsSep 20: no commitsSep 21: no commitsSep 22: no commitsSep 23: no commitsSep 24: no commitsSep 25: no commitsSep 26: no commitsSep 27: no commitsSep 28: no commitsSep 29: no commitsSep 30: no commitsOct 1: no commitsOct 2: no commitsOct 3: no commitsOct 4: no commitsOct 5: no commitsOct 6: no commitsOct 7: no commitsOct 8: no commitsOct 9: no commitsOct 10: no commitsOct 11: no commitsOct 12: no commitsOct 13: no commitsOct 14: no commitsOct 15: no commits
Less More 1,515 commits · 89 active days · last 59d ago

Data coverage

Last 30 days

30 of 30 days have analytics rollups · last Oct 13

Each cell is a day, shaded by traffic. Empty cells were quiet or had no rollup. This tracks analytics coverage, not uptime (see Reliability above).

Recommended

We moved a production API from Node to Bun in an afternoon @jameslcowan bun, javascript
Types without the build step: why I chose JSDoc + tsc over TypeScript files @jameslcowan typescript, javascript
Stop renting your tools: the case for replacing the software you pay for with software you own @jameslcowan product-engineering, ai

Recommended

We moved a production API from Node to Bun in an afternoon @jameslcowan bun, javascript
Types without the build step: why I chose JSDoc + tsc over TypeScript files @jameslcowan typescript, javascript
Stop renting your tools: the case for replacing the software you pay for with software you own @jameslcowan product-engineering, ai

Search by title, tag, description, or the prose itself. Results appear as you type.