Projects / Runtime path

Edge Visitor Pipeline

A small edge pipeline built for freshness, privacy, and graceful failure.

The visitor pipeline exists to support the globe, but it is its own project too: a constrained data path for collecting just enough information to power a live visual without drifting into surveillance habits. The pipeline now uses Pages Functions plus a Durable Object to accept, dedupe, throttle, and serve rolling snapshots with clear retention limits and useful debugging signals.

Audience

Who this is for

This is the part most interesting to platform-minded readers who want to see how edge placement, caching, and a small amount of state can work together on a personal site.

Problem

What needed solving

The globe needed fresh coordinates and short-lived history, but a traditional analytics pipeline would have been too heavy, too slow to iterate, and too invasive for the actual goal.

Outcome

What changed after shipping

The pipeline now uses Pages Functions plus a Durable Object to accept, dedupe, throttle, and serve rolling snapshots with clear retention limits and useful debugging signals.

EDG-04

Placement decisions

This work only makes sense when the data path stays close to the request. Pages Functions handle collection, and the Durable Object keeps the rolling state coherent without adding a full database.

EDG-04

Restraint as architecture

The retention window, coarse geolocation, and limited schema are not omissions. They are part of the design. The system is intentionally narrow because the experience does not need more.

EDG-04

Operations reality

The most useful recent improvements were not glamorous. Better beacon retry behavior, clearer status reporting, and more predictable refresh logic made the feature feel reliable across browsers instead of only on the main machine.

Design principles

The rules that kept this project honest.

  • Collect less data than a normal analytics product would.
  • Prefer freshness and resilience over exhaustiveness.
  • Keep the backend debuggable enough that visual issues can be traced quickly.
What shipped well

Concrete wins from the current version.

  • Keeps the globe feeling current without forcing the whole site into a heavier backend shape.
  • Makes rate limiting and privacy boundaries explicit in the code and UI.
  • Stays simple enough to maintain as a solo project.
Stack and routes

The technical spine behind the project.

Pages FunctionsDurable ObjectApproximate geolocationEdge cache
Written trail

Posts that explain the reasoning around this project.

Open the archive
More projects

The rest of the site system is connected work, not filler.

See the full index
Interactive system

Visitor Globe

A 3D globe that turns recent visits into ambient presence instead of analytics theater.

Open case study
Editorial platform

Jason Eran Site System

The broader personal site system: static-first, searchable, and public-safe by design.

Open case study
Experience layer

Reader Loop

Search, resume reading, and sharing tools that help a quiet site stay usable.

Open case study