{"adoption": {"forks": 57, "observed_at": "2026-08-28T04:04:29.864196+00:00", "stars": 1360}, "canonical_url": "https://ross.abutalabs.com/products/geopulse", "card": {"archived": false, "artifact_type": "application", "description": "A self-hosted, privacy-first location timeline platform: an open-source alternative to Google Timeline with automatic trip detection, Immich integration, and rich analytics.", "domain": ["privacy", "self-hosted", "analytics", "web-development"], "enriched": true, "function": ["geospatial", "analytics", "data-visualization", "web-framework", "api-framework", "self-hosted"], "health_score": 100, "homepage": "https://geopulse.cc", "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["tess1o/geopulse"], "name": "tess1o/geopulse", "platform": ["self-hosted"], "pushed_at": "2026-08-26T07:40:09+00:00", "repo": "tess1o/geopulse", "stars": 1360, "tags": ["gps-tracking", "location-timeline", "google-timeline-alternative", "owntracks", "postgis", "quarkus", "vue3", "immich-integration", "trip-detection", "location-history", "maps", "docker", "kubernetes", "web-server", "linux"], "topics": ["gps-tracker", "gps-tracking", "java", "owntracks", "postgis", "postgres", "privacy", "quarkus", "self-hosted", "timeline", "vue3", "postgis-database", "quarkus-native"], "urls": [], "use_cases": ["replace Google Timeline with a self-hosted location history", "turn OwnTracks GPS points into a timeline of stays and trips", "visualize my location history on a private map", "track travel distance and movement patterns analytics", "see my Immich photos on a map timeline", "import historical GPS data from GPX, GeoJSON, or Google Timeline exports", "set up geofences and location sharing with family"], "what_it_is": "GeoPulse is a self-hosted, privacy-first web application that turns raw GPS points from trackers like OwnTracks, Overland, Traccar, and GPSLogger into a searchable location timeline of stays, trips, and movement analytics. It offers map visualization, dashboards, geofences, Immich/Memos/Weather integrations, data import/export, and a REST API, deployed via Docker Compose or Kubernetes/Helm.", "when_to_avoid": ["you need a turnkey phone tracking app with no self-hosting effort", "you only need simple real-time vehicle fleet tracking rather than personal timeline analytics", "you cannot run Docker/Kubernetes or a Postgres/PostGIS database"], "when_to_choose": ["you want full ownership of your location data on your own infrastructure", "you already use OwnTracks, Overland, Traccar, GPSLogger, or Home Assistant for tracking", "you need automatic stay/trip detection with configurable thresholds", "you want integrations with Immich, Memos, or weather enrichment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/geopulse", "repo": "tess1o/geopulse", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.864196+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:40.563268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ccda566bbb555431853f6807e22b23ddb03985a77b8e67d43024fecc1b64bf27", "fetched_at": "2026-08-28T04:04:29.864196+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tess1o/geopulse"}, {"content_hash": "651d1a18d4c407ce5a0994d46b561ec9482cdd4bb95f4b3df76844f91c3947fe", "fetched_at": "2026-08-29T11:59:37.409944+00:00", "kind": "homepage", "missing": false, "url": "https://geopulse.cc"}, {"content_hash": "1111ecec92c319a923a200bb9c637049853f9ba41ccadab22a62b28634193590", "fetched_at": "2026-08-29T11:59:37.412603+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/introduction"}, {"content_hash": "fda22c6da64a6f798ecb6d140f3a1c890d48e3c1c4cdd9c25c5d04683fbf5f39", "fetched_at": "2026-08-29T11:59:37.415140+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/api/intro"}, {"content_hash": "63ef407afa3d1cd54e6c9623c9686180975d302a5946fbdecd02c47e3eb30a1e", "fetched_at": "2026-08-29T11:59:37.416737+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment"}, {"content_hash": "23dcbc097922fe952d897d0c10bebdd66f2187c144cf9a32cd764ee68d0ea917", "fetched_at": "2026-08-29T11:59:37.418274+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/gps-sources/overview"}, {"content_hash": "95b4595c83ad38e10c7c4aedf7e16ff5c7d29f2aa275d7f3dd1247013bd032a2", "fetched_at": "2026-08-29T11:59:37.419966+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/timeline"}, {"content_hash": "0fe3b532338b419153f387a7c3ebd2fc6cd66f80278461d924916f1874012a70", "fetched_at": "2026-08-29T11:59:37.421809+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/user-guide/core-features/dashboard"}, {"content_hash": "2414d282105dce4f87e84c9b5ea7256beeeae5d1b09ab7eab02a71a86c8b5a2f", "fetched_at": "2026-08-29T11:59:37.423346+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/docker-compose"}, {"content_hash": "c540efaa5fe0c4b163b7624d880d7aae10a71fa957b886049f80301f94bdce3e", "fetched_at": "2026-08-29T11:59:37.425604+00:00", "kind": "site_page", "missing": false, "url": "https://geopulse.cc/docs/getting-started/deployment/kubernetes-helm"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 30, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 428, "days_push": 7, "days_rel": 12, "gap_med": 2, "n_releases_24m": 78}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}