Analytics
Public, privacy-respecting traffic stats for donray.dev. No cookies, no raw IP addresses stored. Ever.
Tracked page views
Real page loads, measured from October 2026.
Page views
265
All time ยท bots filtered
Unique visitors
47
All time ยท bots filtered
Page views per day
Last 30 days
Oct 3Oct 15
Page views by page
All time, most viewed first
| Page | Page views | Unique visitors |
|---|---|---|
| / | 108 | 43 |
| /analytics | 20 | 9 |
| /blog | 18 | 7 |
| /projects/patternspell | 17 | 9 |
| /principles | 15 | 9 |
| /version | 14 | 8 |
| /projects/pico-domains | 13 | 4 |
| /projects/hide-zero-cards | 12 | 6 |
| /projects/cyclei | 9 | 1 |
| /blog/ai-code-review-less-context | 6 | 2 |
| /privacy | 4 | 2 |
| /terms | 4 | 2 |
| /blog/422-code-reviews | 4 | 0 |
| /blog/ldx3-new-manager | 4 | 1 |
| /projects/donray-dev | 4 | 2 |
| /blog/we-automated-the-wrong-bottleneck | 2 | 1 |
| /es | 2 | 1 |
| /zh | 2 | 1 |
| /tl | 2 | 1 |
| /sitemap.xml | 1 | 0 |
| /llms.txt | 1 | 0 |
| /es/principles | 1 | 0 |
| /blog/review-to-learn | 1 | 0 |
| /robots.txt | 1 | 0 |
Before tracking started
CDN-request estimates from before page-view tracking existed: a different measurement, not page views, and not comparable to the tracked numbers above.
Historical traffic (estimated)
CDN requests per month: includes page loads, images, scripts, stylesheets, and bots. Not page views; approximate, for rough scale only.
Apr 2026
โ88,000
May 2026
โ55,000
Jun 2026
โ75,000
Jul 2026
โ95,000
Aug 2026
โ128,000
Sep 2026
โ118,000
Oct 2026*
โ15,000
* Oct 2026 covers Oct 1โ2 only. Source: AWS CloudWatch (Amplify Hosting requests), pulled Oct 2, 2026. Page-view tracking started Oct 2026.
How it's measured
What these numbers are (and aren't)
- Tracked page views are real page loads in a browser, recorded from October 2026. Images, scripts, and stylesheets don't count. Only the page itself. Known bots and crawlers are filtered out before counting.
- Unique visitors are real people, counted once ever: each visit is hashed (IP + browser, salted and non-reversible) and the hash is kept in a permanent set. A visitor who returns a year later still counts once, and a visitor who reads several pages counts once. Shared networks can undercount; changing IPs can overcount. True unique counting started in October 2026; earlier visits used day-bound hashes that cannot be converted.
- No cookies are set and no raw IP addresses are stored. All records are kept permanently.
- Historical estimates are a separate, older measurement: approximate monthly CDN request counts from AWS CloudWatch, from before page-view tracking existed. They include images, scripts, stylesheets, and bots, so they are not page views and can't be compared with the tracked numbers.
Last updated Oct 16, 9:48 AM ยท Tracking started October 2026
What I've learned
Notes from running my own analytics
- CDN requests are not page views. Before real tracking existed, CloudWatch showed ~560K requests over six months. But that counts every image, script, stylesheet, and bot. Real human page loads are a fraction of that. The dashboard keeps the two measurements visibly separate because conflating them would be dishonest.
- Almost all traffic is the homepage. The per-page table above makes that plain. The site's job is to be found, read, and contacted from a single page.
- Privacy-respecting analytics is a solved problem. One DynamoDB table, salted daily hashes, no cookies, no raw IPs. And the dashboard still answers every question I actually have about my traffic.