All posts

DoEveryday — Habit Tracker

DoEveryday is a calm, clutter-free habit tracker — one tap a day to build streaks and make habits actually stick. It runs as a web app, iOS and Android apps, and a browser extension, all sharing a single Supabase backend, so a check-in on your phone shows up everywhere else. iOS is on the App Store, Android is on Google Play, and the browser extension is on Chrome, Edge, Firefox, and Safari as a notarized download. Available in English and Korean.

What it does

Habit tracking

  • Habit grid with one-tap check-ins and a progress banner that nudges you when a streak is at risk
  • Frequencies: daily, weekdays, weekends, or 1×–6× per week, plus bonus check-ins on off-schedule days
  • Stats: current and best streak, totals, completion rate, best day, and a per-habit breakdown
  • Explore: trending habits, templates, and 30-day challenges (Pro)
  • Free tier of 3 habits; Pro unlocks unlimited habits and archiving without losing history
  • Email, Google, and Apple sign-in, and full English/Korean localization
  • Habit-strength score that decays instead of resetting, so one missed day does not erase a month
  • Rest days, up to two a week, that keep the streak intact
  • Monthly report on web and mobile
  • Daily targets of N taps (three glasses of water) and time-of-day grouping
  • Per-habit reminder times, set on web and delivered by the apps
  • Day-of-week completion chart over the last eight weeks
  • Discovery-tip cards that surface features you have not tried

iOS app

  • Native app built with Expo and React Native, with light, dark, and system themes
  • Home-screen widget — a ring and streak, or today's list, with tap-to-check-in straight from the widget
  • Local reminders — a daily nudge at a time you pick, plus an optional evening streak-at-risk heads-up, both off by default
  • Share your progress as an image, and export every check-in as CSV (Pro)
  • Pro via Apple in-app purchase — monthly, annual with a 7-day trial, or lifetime
  • Live on the App Store and Google Play
  • Android home-screen widget with tap-to-check-in, matching the iOS one
  • Native Google and Apple sign-in, haptics, and a full accessibility pass on mobile

Web app and browser extension

  • Daily habit grid with drag-to-reorder, plus a year heatmap you can edit in place — name, emoji, color, and frequency
  • Free-tier stats cover a 4-week window
  • Installable PWA with a service worker and an offline shell
  • Web push and email reminders, timezone-aware
  • Extension turns every new tab into a check-in board, with a toolbar popup for quick toggles from any page
  • Extension is live on the Chrome Web Store, Edge Add-ons, and Firefox Add-ons, plus a direct download for Safari on Mac
  • Pro via Stripe — monthly or yearly subscription, plus one-time Lifetime and Early Supporter plans, with a billing portal

Tech stack

React 18 and Vite (with React Router v7) for the web app; Expo and React Native 0.83 with Expo Router and Zustand for iOS. Both share one Supabase backend — Postgres, auth, and edge functions — where row-level security is the authorization boundary and Pro status is only ever written server-side. The home-screen widget is a WidgetKit extension in Swift, fed by a local Expo module and authorized by a revocable widget token, so it keeps working after the app's access token expires. Payments split by platform: Stripe on the web, RevenueCat for Apple in-app purchases. Resend sends email, Web Push and VAPID drive notifications, and a shared package keeps types and translations in sync across platforms. Deployed on Vercel.