V
VeritaReminder
v0.2.171 · beta
Feature reference · v0.2.171
Everything VeritaReminder currently does.
A flat catalog of every shipping feature in v0.2.171. Use it as a tutorial map, a lookup ("does it do X?"), or a refresher after a long weekend. Grouped by what you'd be trying to accomplish, not by what's technically novel.
How to read this
Each row is a feature you can act on right now. Settings live in the gear icon; capture chips live on the home tab. Everything below is implemented and shipping in v0.2.171 — no roadmap items.
Capture modes
- VoicewebkitSpeechRecognition + optional offline Whisper-base ONNX. Push-to-talk, auto-save on stop, multiple hypotheses, grammar hints.
- CameraCapture a photo as the reminder body. Optional auto-resize on capture.
- PastePaste text or an image straight into a new reminder.
- TypeType it like a normal note when voice isn't appropriate.
- ScribbleHand-drawn reminder for sketches, diagrams, signatures.
- Barcode scanUses the browser BarcodeDetector when available. Saves the scanned value as the reminder body.
Alert conditions
- TimeAbsolute (1pm tomorrow) or relative (in 20 minutes). Recurring intervals supported.
- Saved locationAlert when you arrive at a saved place. Per-location radius.
- POI categoryAlert when you pass any place of a category — pharmacy, grocery, hardware. Uses Overpass.
- Home arrivalAlert on entering the home geofence.
- Work arrivalAlert on entering the work geofence.
- Leaving homeExit-geofence state machine — fires when you leave home.
- Leaving workExit-geofence state machine — fires when you leave work.
- Wake-upFirst focus of the day — fires on the first time you open the app after a night gap.
- LaptopFires when the laptop opens / wakes (browser visibility + idle signals).
- Calendar eventAlert keyed to an upcoming event from a connected calendar.
- WeatherGate on current rain at the moment of alert (Open-Meteo).
- BluetoothAlert when a specific Bluetooth device connects.
- BatteryAlert when battery drops below a threshold.
- Person mentionManual: 'next time I see Maya, ask about her trip.' Tap to mark when it happens.
- Distance-aware leave-timeFor appointments, alerts you N minutes before you'd need to leave to arrive on time.
Alert hand-off
- SoundBuilt-in chimes, configurable per-reminder.
- SpeechSpeaks the reminder text aloud (browser TTS).
- Original voice clipPlays back your own voice from the moment you saved it (stored in IndexedDB).
- VibrateMobile haptics.
- Screen flashBrief full-screen flash for sound-off contexts.
- Torch flashToggles the camera flash on/off as a notification.
- Camera flashMirrors flash on the back-camera LED.
- Gentle escalationVolume ramps up over a few seconds rather than blasting at full.
- OS notificationNative browser/system notification.
- Web PushServer-originated push wakes the service worker even when the page is suspended (paid sync devices).
- Confirm before actionOptional confirmation step before silencing.
- "Did you do it?" follow-upAsks back later if you actually did the thing.
Behavior
- Quiet hoursSuppress alerts inside a configured window.
- Smart snoozeSnooze options scale with the type of alert.
- Unacknowledged repeatRe-fires until you acknowledge.
- Recurring remindersDaily, weekly, weekday, custom intervals.
- Trash + restoreSoft delete with a Trash bin you can restore from.
- Search & filterLive search across all reminders + lists.
- ListsSeparate from reminders — checklists you can build by voice or paste.
- 7 themesPaper, snow, sky, mint, sand, lavender, midnight.
- Settings searchSearch across every setting toggle.
- Triple-click resetLast-resort local data wipe gesture.
- Undo buttonOne-tap undo for destructive actions.
Voice / STT tuning
- Mic calibrationPer-device mic profile so your particular hardware gets accurate transcription.
- VocabularyPersonal word list that boosts recognition for names, products, places.
- CorrectionsPersonal misheard→intended map. Inline 'Teach' button captures corrections from the edit dialog.
- Phonetic matchingDouble-Metaphone fallback for STT mishearings ("crowger" → "Kroger").
- N-best rerankingRescores top-N hypotheses with vocab + corrections + phonetic + time-parse signals.
- Confidence thresholdsTunable accept / autosave / rerank floors that gate what auto-saves vs. what opens an edit dialog.
- PresetsBalanced / Car / Office / Training one-click profiles tune all the STT knobs at once.
- Multiple hypothesesEngine returns top-N alternatives (toggleable).
- Push-to-talkHold-to-talk capture style.
- Auto-save on stopEnd-of-utterance auto-saves the parsed reminder.
- Pre-warm micRequests mic permission at boot so the first capture has zero prompts.
- Whisper offlineInline build bakes Whisper-base ONNX + ONNX runtime into the HTML for fully offline transcription.
- Audio constraintsNoise suppression, echo cancellation, auto gain — toggleable per-device.
- Voice debug logPersistent ring buffer of voice events for diagnosing transcription drift.
Privacy & security
- AES-256-GCM encryptionPBKDF2 with 310k SHA-256 iterations to derive a key from your passphrase.
- Per-reminder encryptionToggle individual reminders or encrypt all-at-once.
- Encrypted locationsSaved locations encrypt under the same passphrase.
- Encrypted voice clipsOptional — voice blobs encrypt with the same tier.
- Stale indicatorUI surfaces any reminder saved while the encryption tier was locked, so nothing slips through unencrypted.
- Lock / unlock pillsTwo distinct pills — unlock only, vs. unlock + auto-encrypt the backlog.
- End-to-end syncServer stores only ciphertext blobs. Decryption keys never leave your devices.
- No trackingZero analytics, zero third-party scripts in the netinstall path.
- License key visibleSettings shows your full key so you can copy it to other devices.
- Triple-click resetLocal-data wipe gesture — server registration unaffected.
Sync & multi-device
- Cloud syncPush + pull encrypted blobs against a license-gated server.
- 6-digit pair codesAdd a second device without an email round-trip — the source device generates a 2-minute code.
- Email confirmationPer-device email-confirmation alternative to pair codes.
- LWW mergeLast-write-wins on individual keys (focus mode, vocab, corrections).
- Per-device settingsVoice toggles, encryption preferences are per-device by design — toggle them where the issue is.
- Sibling key refreshAfter one device extends its trial, others pick up the new key on next app boot.
- Sync focus modeOptional: sync your focus state across devices.
- Sync vocabularyOptional: share Advanced STT vocab/corrections across your devices.
Hand-off & integration
- Apple Calendar (.ics)Send a reminder as an .ics event to the iOS calendar (uses Web Share on iOS 16+).
- Google CalendarOne-click hand-off URL.
- OutlookOutlook Web import URL.
- Web Share APIOn platforms that support it, share to any app that accepts text + files.
- Calendar export allOne .ics file containing every reminder with a date.
- Encrypted backup zipExport everything as a zip — optional encryption.
- Import dataRestore from a zip / JSON backup.
- Settings JSONExport and import the full settings tree (denylist excludes device-specific fields).
Locations
- Saved locationsNamed places with custom alert radius.
- GeocodingNominatim — supports city + state disambiguation.
- POI lookupOverpass — search by category bounded to your area.
- Disambiguation pickerTop-5 candidates with distance-from-home labels when a name is ambiguous (e.g. Sidney NY vs. Sydney AU).
- Adjustable bias radiusSoft-prefer locations within N miles of your usual area.
- Map viewLeaflet — see your saved places on a map.
- Per-location encryptionSaved-location records encrypt under the same passphrase as reminders.
Platform & install
- Single HTML fileThe whole app fits in one file — easy to host, easy to audit.
- PWA installAdd to Home Screen on iOS/Android, real desktop install on Chrome/Edge.
- Service workerOffline-first cache for the app shell + assets.
- Inline build~150MB single-file build with Whisper STT and all libraries baked in — never-online capable.
- iOS / Android / desktopTested across Chrome, Safari (mac + iOS), Firefox, Edge.
- Self-hostNo backend required for personal use. Optional VPS server for sync + Web Push.
License & trial
- 30-day free trialFull feature access from day one.
- Beta extensionFree 30-day extension at one tap, unlimited times while in beta. Sibling devices pick up the new key automatically.
- Per-device confirmationEach device confirms the email separately to prevent stolen-email attacks.
- License key in SettingsYour full key is visible (with mask/show toggle) and copyable for adding new devices.
- Soft lockout after expiryExisting reminders keep working forever — only adding new ones is gated when the trial expires.
Getting started in 60 seconds
- Tap the mic, say "remind me at 1 PM to eat lunch." It saves.
- Tap the gear, open Alerts, pick how you want to be alerted (sound, speech, vibrate, flash).
- Settings → License: copy your key. Add a second device with the 6-digit pair code.
- Settings → Encryption (Features tab): pick a passphrase. Existing reminders re-encrypt in the background.
- Need more time? Banner → Extend (Beta) — free 30 days while we're in beta.