{"adoption": {"forks": 1106, "observed_at": "2026-08-28T04:10:59.805008+00:00", "stars": 12798}, "canonical_url": "https://ross.abutalabs.com/products/trek", "card": {"archived": false, "artifact_type": "application", "description": "A self-hosted travel/trip planner with real-time collaboration, interactive maps, PWA support, SSO, budgets, packing lists, and more.", "domain": ["travel", "developer-tools", "self-hosted", "web-development", "artificial-intelligence"], "enriched": true, "function": ["self-hosted", "web-framework", "state-management", "geospatial", "websocket", "auth"], "health_score": 100, "homepage": "https://demo.liketrek.com", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["liketrek/TREK"], "name": "liketrek/TREK", "platform": ["self-hosted", "cross-platform", "browser"], "pushed_at": "2026-08-26T15:12:18+00:00", "repo": "liketrek/TREK", "stars": 12798, "tags": ["travel-planner", "trip-planner", "real-time-collaboration", "interactive-maps", "budget-tracker", "packing-lists", "travel-journal", "pwa", "sso", "self-hosted", "typescript", "agpl-3.0", "wanderlog-alternative", "tripit-alternative", "open-source", "docker", "ai-assistant", "expense-splitting", "day-planning", "route-planning", "poi", "collaborative-editing", "webapplication", "traveling", "wanderlust", "packing-list", "collaborative", "journal", "ai", "routes", "maps", "real-time", "web-server"], "topics": ["budget-tracker", "collaborative", "open-source", "packing-list", "real-time", "self-hosted", "travel", "travel-planner", "trip-planner", "webapplication", "opensource", "routes", "travel-app", "traveling", "trip", "poi", "wanderlog", "wanderlust", "tripit"], "urls": [], "use_cases": ["plan a multi-day trip itinerary with routes and points of interest on an interactive map", "collaborate with friends or family on a shared travel plan in real time", "track trip budgets and split expenses among travel companions", "create and check off packing lists before a trip", "keep a travel journal of a journey", "self-host a private alternative to Wanderlog or TripIt", "install as a PWA to access trip plans on mobile"], "what_it_is": "TREK is a self-hosted, real-time collaborative travel and trip planner web application built with TypeScript. It offers interactive maps, day-by-day planning, budgets with expense splitting, packing lists, a travel journal, SSO, PWA support, and AI features, deployable via Docker.", "when_to_avoid": ["you need a hosted, zero-setup travel planner without managing your own server", "you only need simple flight or hotel booking management rather than full trip planning", "you require native mobile apps rather than a web/PWA experience", "you cannot accept AGPL-3.0 licensing constraints for your use case"], "when_to_choose": ["you want full control over your travel data by self-hosting on your own server", "you need real-time collaborative trip planning with maps, budgets, and packing lists in one tool", "you want an open-source alternative to Wanderlog or TripIt", "you need SSO support and PWA access for a travel planning app"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/trek", "repo": "liketrek/TREK", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "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:10:59.805008+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:59.805008+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:13:46.774569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "be0c01cdc5df20fe2cc70dc6c79c4a1dc7ee748c93ae3295a0c80dae0e4b9efd", "fetched_at": "2026-08-28T04:10:59.805008+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liketrek/TREK"}, {"content_hash": "4a1ac66a01e0afae374e7f191a60d1759f64ff8433feaec30a51f62f7bc30726", "fetched_at": "2026-08-29T08:10:11.523908+00:00", "kind": "homepage", "missing": false, "url": "https://demo.liketrek.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 11, "rhythm": 81}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 167, "days_push": 7, "days_rel": 45, "gap_med": 0.0, "n_releases_24m": 65}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}