povseDnev: everyday tracker for habits, tasks and notes
An offline-first, English and Russian life organiser that puts habits, tasks, reminders, notes, a journal and money tracking in one calm app. It runs as an installable web app and as a native Android app with home-screen widgets, and keeps every byte of data on the device.
The idea
I was using a habit tracker, a to-do app, a notes app and a spending log, and none of them talked to each other. povseDnev ("for every day") brings them into one place, with a Today screen that shows the day at a glance: habit progress, the week, countdowns, goals, a quote of the day and a single agenda of tasks and events.
It has no accounts and no server. Everything stays on the phone.

Features
- Habits of six kinds: check-offs, counts, timed habits, things to avoid, specific weekdays and "N times a week", with streaks and 15 presets.
- Tasks and reminders with natural-language dates in both languages: typing "Dentist fri 17:30" or "завтра в 7 вечера" sets the date and time. Repeating reminders and calendar export as
.ics. - Notes with a markdown subset, #tags,
[[wiki links]], version history, a trash, checklists, sketches and voice notes. - Journal, money, subscriptions, birthdays and goals, plus an Eisenhower matrix, inbox and search.
- Focus timer (Pomodoro) with a live countdown in the notification.
- Reviews: monthly and yearly summaries, insights, a "year in pixels" and 22 achievements.

Native Android
The same React and TypeScript build runs as a PWA and inside a Capacitor 8 Android shell. On Android, my own Java plugins add what a web app can't do:
- exact alarms with action buttons, scheduled 60 days ahead
- 11 home-screen widgets drawn from a data snapshot the app sends them, with taps queued and applied when the app opens
- an app lock using the fingerprint or screen lock, with screenshots blocked
- dictation, document scanning with Google ML Kit, and a daily backup to a folder the user picks

How data flows
From a tap to a widget
- 01InputTap a habit or add an item; dates are parsed from plain English or Russian
- 02StateOne typed data object for the whole app
- 03PersistSaved to local storage, photos to IndexedDB, all on the device
- 04DerivePure functions compute streaks, stats, reviews, awards and recurrence
- 05ScheduleReminders for the next 60 days go to Android's alarm manager
- 06Widgets and backupA snapshot updates the widgets; a daily JSON backup goes to a chosen folder
Privacy and quality
There are no accounts, analytics or network calls in the app. Data is a single JSON document in local storage, with photos in IndexedDB, and can be exported as JSON, CSV or .ics. Locked notes are hidden behind the device lock rather than encrypted, and the app says so. The core logic (habits, streaks, date parsing, recurrence, reviews) is pure TypeScript covered by unit tests, and one GitHub Actions workflow tests, builds and ships the web app, the landing page and a signed Android build.
Source: src/core, src/screens, android/ and test files in the repository (version 0.9.0)