Jump to content

Personal APIs

From Archive
Revision as of 15:48, 28 May 2025 by Ejfox (talk | contribs) (Created page with "= Personal APIs = ''Data aggregation system for self-quantification and AI context enhancement'' == Architecture Overview == Built on [https://nuxt.com/ Nuxt] / [https://nitro.unjs.io/ Nitro] with basic caching layer. All endpoints return JSON and support CORS for cross-origin requests from mobile apps and AI assistants. Base URL: `https://ejfox.com/api/` === Core Philosophy === * '''AI Context Enhancement''' - Provide rich personal data to language models * '''Self...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Personal APIs

Data aggregation system for self-quantification and AI context enhancement

Architecture Overview

Built on Nuxt / Nitro with basic caching layer. All endpoints return JSON and support CORS for cross-origin requests from mobile apps and AI assistants.

Base URL: `https://ejfox.com/api/`

Core Philosophy

  • AI Context Enhancement - Provide rich personal data to language models
  • Self-Quantification - Track KPIs aligned with personal improvement goals
  • Data Sovereignty - Own your data instead of just feeding the surveillance machine
  • API-First Design - Choose services that offer data egress and avoid data silos

Active Endpoints

Health & Fitness

Tracks: daily steps, exercise minutes, stand hours, distance, heart rate variability

Productivity & Learning

Development

Creative & Content

Predictions & Analysis

Technical Implementation

Data Sources

  • Apple Health - via HealthKit exports and processing
  • GitHub API - commit patterns, repo activity, contribution graphs
  • RescueTime API - time tracking and productivity metrics
  • Chess.com API - game history and ratings
  • Last.fm API - scrobbling data going back 10+ years
  • LeetCode scraping - problem completion and difficulty tracking
  • MonkeyType - typing test results and WPM progression

Caching Strategy

Most endpoints implement intelligent caching:

  • Health data - Updates every 4 hours
  • GitHub activity - Updates every hour
  • Music listening - Updates every 30 minutes
  • Static metrics - Cached for 24 hours

Response Format

All endpoints return JSON with consistent structure: ```json {

 "data": { /* endpoint-specific data */ },
 "meta": {
   "cached_at": "2025-05-28T10:30:00Z",
   "source": "api_name",
   "updated": "recent" | "stale"
 }

}