Skip to main content

Open-source product · AGPL-3.0

Rungset

An open-source goal-planning app that connects a long-term outcome to milestones, the next task, and a regular review. The product is built around a repeatable loop: plan, act, check in, and adjust.

Project context: Rungset is an open-source product, not a client engagement. This case study describes the product and its implementation; it makes no claims about customer adoption or measured outcomes.
Rungset Today dashboard with sections for the next action, weekly review, goals, and upcoming tasks.
The Today view organizes the next action, goal review, and upcoming work; the supplied capture shows its empty states.
Product focus
Personal goal planning
Core model
Goal → milestone → task → review
Persistence
Cloudflare D1 and Drizzle
Delivery
Web app and Android wrapper

Product challenge

Keep the goal connected to the work that moves it forward

A goal, a task list, and a journal can each hold useful information, but they tell different parts of the story. When they live in separate places, it takes extra effort to see which action matters next or whether the plan still fits.

Rungset brings those pieces into one personal workspace. A goal carries its milestones; tasks can be attached to the goal or a milestone; check-ins record progress and blockers. The Today view then surfaces an immediate action alongside a weekly review, rather than asking the user to reconstruct that context each time.

The product challenge is therefore one of continuity: preserve the relationship between an intended outcome, the work being done, and the reflection that changes the plan.

Product workflow

A practical loop from intention to adjustment

Each step leaves useful context for the next. The product keeps planning lightweight enough to revisit while retaining the details that make progress visible.

  1. 01

    Define the outcome

    Create a goal with a category, timeframe, target date, and current status so the larger objective has a clear place in the workspace.

  2. 02

    Break it into milestones

    Give the goal intermediate checkpoints, then connect practical tasks to the goal or a specific milestone.

  3. 03

    Choose the next action

    Use the Today view, due dates, priority, and recurring-task schedule to make the next piece of work visible.

  4. 04

    Check in and adjust

    Record accomplishments, challenges, energy, and notes, then use the review to update goals and the next set of tasks.

Engineering

Keep persistence, ownership, and offline use in the same design

The implementation has to support a structured planning model without making a network connection the only way to work. It also has to protect private goals and notes at the API boundary.

A relational planning model

Goals, milestones, tasks, task occurrences, check-ins, and notes are represented as separate records. Links between goals, milestones, and tasks preserve context as work moves from planning to completion.

Authenticated, user-scoped records

Better Auth manages sign-in. Authenticated API routes and D1 queries scope goal and planning data to its owner, while Drizzle schemas and forward-only migrations keep persistence explicit.

Offline continuity with server sync

A local workspace cache keeps the app usable between connections. Changes synchronize through authenticated API routes when connectivity returns, rather than making browser storage the only copy of a user’s work.

One hosted workspace across devices

The Next.js App Router application is deployed to Cloudflare Workers through OpenNext. The Android app opens the hosted workspace, so it shares the same account and product surface.

Why the model is connected

A task can be completed without losing its place in a larger goal. Repeating tasks have dated occurrences, so a recurring schedule does not have to collapse into one permanent completed flag. Check-ins can be linked to a goal and preserve accomplishments, challenges, energy, and notes as separate reflection data. That structure supports both the focused daily view and a longer review of the plan.

Project result

A product that can be inspected, used, and extended

Rungset is published as an AGPL-3.0 open-source project, with a hosted web workspace and an Android wrapper that opens the same workspace. The public source gives engineers a way to inspect the data model, application routes, and deployment setup behind the product.

This is product evidence rather than client proof. The case study makes no claim about the number of users, retention, goal completion, or behavior change. Those outcomes would require direct product data and a defined measurement period.

Current scope

A deliberately personal planning tool

  • Rungset is designed for individual goal planning; team workspaces are not part of the current product.
  • Calendar synchronization, an iOS app, AI features, and external reminder delivery are not shipped capabilities.
  • Reminder settings provide in-app due and overdue guidance; they do not send reminders through external channels.
  • The Android app is a wrapper around the hosted workspace rather than a separate native data platform.