Chemtrail Tracker
// FILE: FEATURES.MD

Every feature, by the receipt.

What the app does, exactly. No vague promises — just the surfaces, the data, and the constraints.

// 01 — LIVE MODE

Whatever is overhead, right now.

The map runs Leaflet. You pan; the viewport bounds become the query. Aircraft positions refresh on every map move (debounced) and on a 20-second background poll. No fixed-radius dropdowns. No "search this area" button.

  • Viewport-based query — pan to query, zoom to filter
  • 20-second polling, paused while you're interacting
  • Pluggable provider — OpenSky or ADS-B Exchange
  • Maximum query radius enforced server-side to keep providers happy
// 02 — TIME SHIFT

Sixty minutes of memory.

Saw a plane two minutes ago and missed your chance? Pull the time-shift slider back. With OpenSky's authenticated historical lookups, you can scrub from now to now − 60 min in five-minute steps and replay the airspace.

  • Slider: 0 to 60 minutes back, 5-minute increments
  • Capability auto-detected — slider hides if your provider doesn't support it
  • Polling continues at the shifted timestamp until you change it
  • Aircraft enrichment runs the same as live mode
// PROVIDER CAPABILITIES
provideropensky
supports_historytrue
max_history_minutes60
history_step_minutes5
// 03 — LOG MODE

The receipts, on a map.

Switch from live to logged and the same map fills with every sighting submitted in your viewport. Filter by time window — three hours back to a full month — and tap any pin to see the photos, the note, and the exact aircraft position at the moment of logging.

  • Time windows: 0.5 to 28 days, half-day increments, default 1 day
  • Viewport-filtered (same query model as live)
  • Distinguishes your own logs from community logs
  • Owner can edit the note and add/remove photos
// 04 — PHOTO UPLOAD

Three photos. EXIF preserved.

Tap "Take Photo" on mobile and the OS camera opens with capture intent. Or upload from your gallery. Up to three images per log, resized server-side to 1600px on the long edge — small enough to load fast, big enough to read a tail number.

  • JPEG and PNG accepted
  • EXIF metadata preserved (timestamp, GPS, camera)
  • Strict 3-photo limit, server-enforced
  • Edit-mode photo management for log owners
📷 IMG_2148.jpg — 1.4 MB · resized to 1600px
📷 IMG_2149.jpg — 1.1 MB · resized to 1600px
📷 IMG_2150.jpg — 0.9 MB · resized to 1600px
// 05 — AIRCRAFT ENRICHMENT

From hex code to "B737-800".

Every aircraft broadcasts an ICAO24 — a 24-bit hex identifier. On its own, it's useless. Chemtrail Tracker enriches it against a local registry cache built from OpenSky's bulk dataset, with FAA and OurAirports as supporting sources.

  • ICAO24 → registration, manufacturer, model, type code
  • Local cache, populated on demand
  • Bulk import via sync_data.py opensky_aircraft
  • Graceful fallback when metadata is missing
// AIRCRAFT_REGISTRY[A1B2C3]
icao24A1B2C3
registrationN847SW
manufacturerBoeing
model737-800
type_codeB738
last_updated2 days ago
// MORE IN THE BOX

Smaller features, just as deliberate.

06

Mobile-first by default

Bottom-sheet modals, big touch targets, fullscreen map. Designed to be used standing on the sidewalk, one hand, sun glare on the screen.

07

Anonymous identity

A UUID generated in your browser, stored in localStorage. No accounts. No password recovery. No data linkage outside the logs you choose to make public.

08

Edit your own logs

When the UUID matches the log owner, edit mode unlocks: change the note, add or remove photos (still capped at 3 total), or delete entirely.

09

Manual location fallback

GPS off, denied, or wrong? Drop a pin manually. The viewport query doesn't actually need your location — but the "center on me" button does.

10

Self-host or use ours

Run it on your own VPS with one shell script and a Caddyfile, or just open app.chemtrail-tracker.com. Same code, your call.

11

No telemetry, no analytics

Zero third-party scripts. Zero external tracking pixels. Self-hosted cookieless analytics at stats.geckopico.com is the only additional call.

// READY TO LOG

Stop missing what you're looking at.

The features above are live, today, on chemtrail-tracker.com. Open the app, pan to your sky.

Open the app Why we built this