Ivaraja
← Back to work
In ProgressReactTypeScriptAPI DesignDashboard UX

Personal Tracker

A unified dashboard for movies, series, books, gym workouts, and calendar — one place for everything I track daily.

Problem Statement

My media consumption, fitness logs, reading list, and schedule lived in separate apps — each with its own UI, sync model, and mental overhead.

Switching between five tools to answer simple questions like "what am I watching this week?" or "did I hit the gym?" added friction to daily planning.

I needed a single system I owned: fast to open, consistent to navigate, and extensible as new tracking categories emerge.

My Approaches

Option A: Keep using best-of-breed apps and accept fragmentation. Rejected — no unified view and limited customization.

Option B: Build a modular dashboard with pluggable trackers sharing a common data model and navigation shell. Chosen — balances scope with long-term flexibility.

Option C: One monolithic schema for all activity types. Deferred — higher upfront cost; modular approach lets each domain evolve independently.

How I Built

Defined a core activity model that each tracker module extends — media, fitness, reading, and calendar share list/detail patterns.

Designed a dashboard shell with quick-glance widgets per domain and deep-dive views on demand.

Planned sync strategies per integration: pull-based metadata enrichment for media, manual entry with templates for gym logs.

Used AI-assisted iteration to prototype UI flows and data shapes quickly, then hardened contracts before implementation.

Tech Stack & Choices

TechnologyRole
React + TypeScriptFrontend
REST APIBackend
PostgreSQLDatabase
Local + cloud LLMsDevelopment accelerator

Screenshots & Results

Personal Tracker dashboard overview placeholder
Dashboard overview — replace with your screenshot
Personal Tracker media module placeholder
Media tracking module — replace with your screenshot
  • Scaffold in place — fill with metrics once live (e.g. daily active modules, sync latency).
  • Target: sub-2s load for dashboard home on local network.
  • Goal: replace 4+ separate apps with one daily driver.