Earth Game: An Offline CLI for Gamifying Life Goals
Earth Game: An Offline CLI for Gamifying Life Goals
Earth Game turns life goals into a quest-based system
Earth Game is a private, offline command-line interface (CLI) designed to help users manage life goals, track next actions, and close "open loops" without the distractions of cloud accounts or AI-generated advice. It functions as a personal companion for choosing directions and reviewing progress to prevent "drift" in personal development.
Core Architecture and Privacy
Earth Game is built with a strict focus on privacy and minimal dependencies. It operates entirely offline and makes no external network requests.
- Tech Stack: The application is developed in Python 3.8+ and relies exclusively on the Python standard library.
- Data Storage: All user data is stored locally in a SQLite database. By default, this is located at
${XDG_DATA_HOME:-$HOME/.local/share}/earth-game/earth.db, though users can override this path using theEARTH_GAME_DBenvironment variable. - Zero External Dependencies: The tool requires no third-party accounts, no outbound network requests, and no external scoring systems.
- Local Web UI: While primarily a CLI, the tool includes a
webcommand that launches a local-only HTTP server onhttp://127.0.0.1:8765/. This interface binds only to the local loopback address and requires a private session URL for access.
Functional Capabilities
The tool organizes personal management into three primary categories: character development, quest management, and loop closure.
Character and Vision Management
Users can define their personal framework using the earth character command. This allows for the management of:
- Values and Strengths: Defining what the user stands for and what they are good at.
- Frictions: Identifying obstacles to progress.
- Purpose and Anti-Vision: Establishing what the user is striving toward and what they specifically want to avoid becoming.
Quest Tracking
Quests are the primary vehicle for goal achievement. The system enforces a focus on a single active quest at a time to prevent overwhelm.
- Adding Quests: Users can add quests with a title, a specific "next action," a pillar (category), and a driver (motivation).
- Lifecycle: Commands include
add,list,start,done, anddropto move a goal from inception to completion.
Open Loop Management
Earth Game uses the concept of "loops" to capture unresolved tasks or concerns that occupy mental space.
- Capturing: The
earth loop addcommand allows users to quickly record a thought or task. - Closing: The
earth loop closecommand is used once the concern is resolved.
Operational Workflow
A typical user loop in Earth Game involves capturing a task, checking the daily status, completing a quest, and reflecting on progress:
- Capture:
earth loop add --text "Book the dentist" - Status Check:
earth today(Displays current quest, next action, open-loop count, and review status). - Completion:
earth quest done 1 - Reflection:
earth review(Records five short reflections). - Backup:
earth export [PATH](Exports data to a readable JSON file).
Community Perspectives
Discussion surrounding the project highlights a divide between those who appreciate the minimalist, local-first approach and those who question the utility of gamification for productivity.
"I've seen to-do list apps that gameify your tasks and make it like an RPG. Does anyone actually use this stuff or benefit from it? It seems infantilizing"
Conversely, other users noted the technical appeal of the CLI implementation and the potential for gamifying standard TODO lists to make them more engaging.