Skip to content

Repository files navigation

Commito

A mobile app for keeping small daily commitments: choose a few, check in each day, and watch the streaks build.

Onboarding: choosing the roles you hold right now Habit profile generated from the onboarding answers Home screen with streaks and today's check-ins A commitment with its streak and check-in history Dopamine Lab daily checklist

Web demo: https://commito-demo.vercel.app (runs entirely in your browser; no account or server needed)

Status: prototype, December 2025; not in app stores.

What it does

  • Onboarding that sets the tone. Seven short questions (roles, focus areas, what trips you up, motivation, pace of change, current state, preferred tone) produce a habit profile and a set of starter commitments.
  • Commitments. A guided wizard with templates, categories, a daily, weekly or monthly cadence and an optional photo proof mode.
  • Check-ins. One tap from the home screen, or a full check-in with a note and a photo.
  • Streaks and progress. Current and best streak per commitment, today's progress, totals and a seven-day chart on the profile.
  • Dopamine Lab. A daily checklist of nine natural rewards (movement, daylight, meditation, nature, breathing, learning, hydration, cold exposure, social connection) with a short explanation of each.
  • Self-regulation check-in. Twelve questions across eight areas such as persistence and impulse control, with tips for the weakest areas.
  • A voice that fits. Copy and nudges adapt to one of five tones, from direct to quiet.

Stack

Layer Tools
App Expo SDK 54, React Native 0.81, React 19, TypeScript
App libraries React Navigation 7, TanStack Query 5, Reanimated 4
API Express 4, Drizzle ORM, PostgreSQL
AI OpenAI for the habit profile and coaching, with rule-based fallbacks
Hosting Vercel for the web demo; API and native builds documented for Render and EAS Build

Quick start

Run the web demo locally, with no database or keys:

npm ci
npm run web:demo
python3 -m http.server 8080 -d dist    # then open http://localhost:8080

To run the API and the app on a phone, see Getting started.

There are no automated tests yet. npm run lint and npm run typecheck both pass.

Documentation

  1. Getting started: web demo, local API, Expo Go, environment variables
  2. Architecture: client, server, data model and known limitations
  3. Deployment: Vercel, Render, EAS
  4. Design guidelines: the design system as shipped and the original brief
  5. AI usage: what was built with AI and what was cleaned up

What this shows about how I work

I use AI tools to get from an idea to something people can try, and I treat what they produce like any other supplier's work: check it, document it, and say plainly what is not finished. Commito went from written specs to a working app on Replit in three days. Before making the code public I had the history cleaned up, added an offline demo you can open without an account, and wrote down the known gaps, including the weak parts of the sign-in, in the architecture notes.

Licence

MIT. See LICENSE.

About

Commito: a commitment-tracking prototype (Expo, React Native, Express, Postgres) with a browser demo

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages