{"id":26202466,"url":"https://github.com/thedigitalninja/personal-data-nexus","last_synced_at":"2026-04-28T04:32:25.168Z","repository":{"id":280192577,"uuid":"941249262","full_name":"TheDigitalNinja/personal-data-nexus","owner":"TheDigitalNinja","description":"A personal data aggregation system that collects, processes, and prepares data from various sources for LLM consumption. This tool helps you aggregate your personal data from services like Fitbit, Rubber Bands, Rocket Money, and more, organizing it into LLM-friendly formats.","archived":false,"fork":false,"pushed_at":"2025-03-01T21:58:43.000Z","size":62,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T22:18:16.502Z","etag":null,"topics":["data-aggregation","llm","personal-data","quantified-self"],"latest_commit_sha":null,"homepage":"https://TheDigital.Ninja","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheDigitalNinja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-01T20:51:48.000Z","updated_at":"2025-03-01T22:13:08.000Z","dependencies_parsed_at":"2025-03-01T22:28:23.865Z","dependency_job_id":null,"html_url":"https://github.com/TheDigitalNinja/personal-data-nexus","commit_stats":null,"previous_names":["thedigitalninja/personal-data-nexus"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheDigitalNinja%2Fpersonal-data-nexus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheDigitalNinja%2Fpersonal-data-nexus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheDigitalNinja%2Fpersonal-data-nexus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheDigitalNinja%2Fpersonal-data-nexus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheDigitalNinja","download_url":"https://codeload.github.com/TheDigitalNinja/personal-data-nexus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243152857,"owners_count":20244656,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-aggregation","llm","personal-data","quantified-self"],"created_at":"2025-03-12T03:37:25.236Z","updated_at":"2025-12-26T04:57:08.276Z","avatar_url":"https://github.com/TheDigitalNinja.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Data Nexus\n\nA personal data aggregation system that collects, processes, and prepares data from various sources for LLM consumption. This tool helps you aggregate your personal data from services like Fitbit, Rubber Bands, Rocket Money, and more, organizing it into LLM-friendly formats.\n\n## Features\n\n- Collect personal data from multiple sources\n- Organize data into daily, weekly, monthly, and quarterly summaries\n- Generate LLM-ready markdown files for easy upload to Claude and other LLMs\n- Command-line interface for flexible data collection and management\n- Secure credential storage for service authentication\n\n## Installation\n\n### Prerequisites\n\n- Node.js (v16 or later)\n- npm or yarn\n\n### Setup\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/TheDigitalNinja/personal-data-nexus.git\n   cd personal-data-nexus\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Create a `.env` file in the root directory with your credentials (see `.env.example`).\n\n4. Build the project:\n   ```bash\n   npm run build\n   ```\n\n## Usage\n\n### Basic Commands\n\n- **Collect data from all sources**:\n  ```bash\n  npm run collect\n  ```\n  Use this command to gather fresh data from all configured sources. Typically run weekly (e.g., on Sundays) to maintain up-to-date personal data. This command pulls information from Fitbit, financial exports, workout tracking, and other sources, storing it in the raw data directory.\n\n- **Generate summaries**:\n  ```bash\n  npm run summary -- --period last-week\n  ```\n  After collecting data, run this command to process raw data into meaningful summaries. This organizes information into patterns, trends, and insights. The summaries help you understand your progress over time and prepare the data for LLM consumption.\n\n- **Create LLM-ready exports**:\n  ```bash\n  npm run export -- --days 30\n  ```\n  This command creates consolidated markdown files specifically formatted for uploading to LLMs like Claude. Run this before you want to have a conversation with an LLM about your personal data. The exported files are optimized for context window size and organized to maximize useful insights.\n\n### Command Options\n\n#### Collect Command\n\n```bash\nnpm run collect -- [options]\n```\n\nOptions:\n- `--period \u003cperiod\u003e`: Time period to collect (this-week, last-week, this-month, etc.)\n- `--source \u003csource\u003e`: Specific source to collect from (fitbit, financial, etc.)\n\n#### Summary Command\n\n```bash\nnpm run summary -- [options]\n```\n\nOptions:\n- `--period \u003cperiod\u003e`: Time period to summarize\n- `--format \u003cformat\u003e`: Output format (default, llm)\n\n#### Export Command\n\n```bash\nnpm run export -- [options]\n```\n\nOptions:\n- `--days \u003cnumber\u003e`: Number of days to include in export\n- `--output \u003cfilename\u003e`: Output filename\n- `--type \u003ctype\u003e`: Export type (health, finance, all)\n\n### Development\n\n- Start the development server:\n  ```bash\n  npm run dev\n  ```\n\n- Watch for changes and auto-restart:\n  ```bash\n  npm run watch\n  ```\n\n- Run tests:\n  ```bash\n  npm test\n  ```\n\n- Lint code:\n  ```bash\n  npm run lint\n  ```\n\n## Data Sources\n\nThe system can collect data from:\n\n- **Fitbit**: Sleep, activity, food logs\n- **Rubber Bands**: Workout data from Google Drive exports\n- **Financial**: Transactions from Rocket Money (CSV import)\n- **Google Calendar**: Events and schedule\n- **Daylio**: Mood tracking\n\n## Output Format\n\nData is stored in a hierarchical structure:\n\n```\n/data\n  /daily              # Daily detailed records\n  /weekly             # Weekly summaries\n  /monthly            # Monthly summaries\n  /quarterly          # Quarterly reviews\n  /raw                # Raw data from sources\n  /llm-ready          # Files optimized for LLM upload\n    last-30-days.md\n    last-quarter.md\n```\n\n## Project Structure\n\n```\npersonal-data-nexus/\n├── src/              # Source code\n│   ├── collectors/   # Data source integrations\n│   ├── processors/   # Data processing logic\n│   ├── storage/      # File management\n│   └── templates/    # Output templates\n├── dist/             # Compiled JavaScript\n├── data/             # Generated data (gitignored)\n└── tests/            # Test files\n```\n\n## License\n\nISC\n\n## Contributing\n\nThis is a personal project but suggestions and improvements are welcome.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthedigitalninja%2Fpersonal-data-nexus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthedigitalninja%2Fpersonal-data-nexus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthedigitalninja%2Fpersonal-data-nexus/lists"}