active project · 2026–present

Ripple

A private personal workspace that connects goals, daily measurements, reflection, and adjustment in one feedback loop.

The idea

Goals are easy to state and harder to connect to ordinary days. Measurements live in one place, notes in another, and plans often stop reflecting what actually happened.

Ripple is a private workspace organized around a repeating loop: goal → plan → do → review → adjust. It brings structured tracking and reflection together so that personal data can support decisions rather than become an archive that is never revisited.

What I built

The product includes user-defined trackers, structured notebooks, quick daily entry, history and exploration views, goals, and a prerequisite graph that prevents circular dependencies. Purpose-built notebooks cover areas such as workouts, nutrition, cardio, sleep, daily care, learning, projects, attention, rest, and journaling.

The application uses PostgreSQL with row-level isolation and versioned SQL migrations. An IndexedDB layer keeps recent history and drafts available locally and queues new entries when the connection is interrupted. Background work produces summaries without making the writing and logging experience wait.

Import and export tools keep the user’s information portable, while explicit data boundaries and private media handling reflect the sensitivity of personal records.

Product decisions

  • Start with a real first user. The system is shaped around repeated personal use rather than a generic dashboard assembled in advance.
  • Connect measurement to intent. Trackers and notebooks sit alongside goals and reviews instead of existing as isolated charts.
  • Design for imperfect connectivity. Logging should remain dependable on a phone even when the network is not.
  • Keep the model extensible. Different parts of life need different structures, but they should still participate in one coherent loop.

Current state

Ripple is deployed as a private, invitation-only pilot. It is an actively used product rather than a public demo, so this page intentionally describes the work without linking to private accounts or source code.

The implementation includes automated unit, integration, and browser coverage around core workflows, along with production deployment, database migration, isolation, and backup practices.

Still to add

This case study will later include the personal reason I began measuring these areas, examples of how the feedback loop changed a decision, selected privacy-safe interface images, and what I learned from living with the product over time.