finds.dev← search

// the find

tess1o/geopulse

★ 907 · Java · NOASSERTION · updated Jun 2026

A self-hosted, privacy-first location timeline platform: an open-source alternative to Google Timeline with automatic trip detection, Immich integration, and rich analytics.

GeoPulse is a self-hosted location history platform that replaces Google Timeline — ingesting GPS data from OwnTracks, Overland, Home Assistant, and others, then converting raw points into a trip/stay timeline with analytics. It's for people who want full control over their location history and are comfortable running their own Postgres instance. The Quarkus backend supports native compilation, which is genuinely useful for a self-hosted workload.

PostGIS for spatial queries is the right call here — using a proper spatial database instead of rolling haversine math in application code means the stay/trip detection queries are both correct and indexable. The Immich integration is a real differentiator; seeing photos on a map timeline without sending data to Google is the whole point for privacy-conscious users. OIDC/SSO support alongside password auth means it fits into a homelab that already has Authentik or Keycloak without extra friction. The Quarkus native image path (Dockerfile.native) brings cold-start and memory to levels where running this as a background service on a small VPS doesn't feel wasteful.

BSL 1.1 is not open source — it's source-available with a commercial use restriction, and that matters if you're building anything on top of it or deploying it for a team. The AI chat feature requires bringing your own OpenAI-compatible key, which means your location data is potentially leaving your infrastructure to answer natural-language questions — the opposite of what the privacy pitch promises, and the README buries this. At 43 forks and 907 stars the community is thin, so if the trip detection algorithm misclassifies your commute there's no ecosystem of plugins or alternative algorithms to fall back on. The friends/sharing system adds meaningful attack surface (live location sharing, guest links with optional passwords) in a single-binary self-hosted app — whether that surface is adequately tested isn't clear from the outside.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →