Skip to content

Repository files navigation

Notesapp Codex

Personal AI-powered notes, diary and calendar for Android — local-first, with a custom paper-and-ink design system and your own OpenRouter key for the AI bits.

version platform license kotlin compose

Notesapp Codex is the actively developed continuation of Notesapp: a single-user Android app for notes, a diary and a calendar, with optional AI clean-up and reminder extraction through OpenRouter, voice-to-text capture, and a hand-tuned "Aura" design system instead of stock Material widgets. It's distributed as a sideloaded APK, not through the Play Store.

Features

Notes

  • Live-markdown editor (headings, bold/italic, checklists, smart lists) with a keyboard-docked formatting toolbar
  • Undo/redo, draft crash-recovery
  • Full-text search with highlights
  • Tags with color, rename, merge and tag-filter panel; pin/archive
  • 30-day trash with undo everywhere

AI (bring your own OpenRouter key)

  • Clean-up: streams a de-filler'd, structured rewrite of any ramble into a before/after sheet
  • Extract actions: pulls events/reminders/todos out of note text as confirm/deny cards with edit + free-text revision
  • Ask Folio: a fifth tab that searches notes + memory, streams grounded answers, and links personal claims back to their sources
  • Offline queueing, per-call cost tracking, model picker (default deepseek/deepseek-v4-flash) with recommended OpenRouter text and transcription models

Voice

  • Record long voice rambles in a foreground service, including with the app backgrounded (auto-split 5-minute AAC segments)
  • Transcribe via OpenRouter STT (default openai/gpt-4o-mini-transcribe)
  • Folio rewrites each ramble into a note, then shows confirm cards before adding reminders/events
  • Tap-toggle or hold-to-talk recording; durable processing/review survives process death
  • Permission-gated compact draggable overlay with Pause/Resume, Stop, Discard and Open controls
  • Every completed ramble starts with a removable Rambler tag; deleting it from a note never affects the note itself
  • Existing-note transcripts land with a circular audio chip and popover player, with optional clean-up

Calendar & reminders

  • Custom springy month/week/agenda views
  • Exact alarms that survive reboots, with Done/Snooze notification actions
  • Event alerts with selectable lead times; duplicate reminder/event delivery is atomically suppressed
  • Extracted reminders link back to their source note
  • Natural-language quick-add ("gym tomorrow 7am") parsed locally
  • Battery-killer warnings for reliable delivery
  • Optional event end times and actionable exact-alarm/notification permission checks

Diary

  • Day-per-entry with mood, streaks and a heat-map
  • "On this day", rotating prompts
  • Transcript-only microphone inserts at the current selection without creating a stray note or retaining audio
  • Optional biometric gate, daily nudge

Design & themes

  • Light / Dark / Pure Black (AMOLED) / Grey, each with 8 accents
  • Circular-reveal theme switching, spring physics throughout, haptics vocabulary
  • Editorial typography (Fraunces + Hanken Grotesk), warm paper-layer depth system
  • Press feedback on every control, reduce-motion support, 120 Hz-friendly

Capture fast

  • Quick-settings tile, app-icon shortcuts, share/selected-text into a note
  • Bottom-right contextual FAB with an anchored capture panel
  • Share notes and diary entries as locally generated PDFs

Privacy

  • Everything stored on-device; the only network traffic is your own OpenRouter calls
  • Strictly validated, checksummed manual ZIP backup/restore; corrupt or unexpected payloads are blocked before restore
  • API key kept in Android Keystore, never written to backups or logs

Screenshots

Notes Capture panel Diary
Calendar Settings

Install

  1. On Android 12 or newer, download the signed Notesapp-Codex-v4.0.0.apk from the private Releases page.
  2. Open it on your phone; allow "install unknown apps" for your browser/files app when prompted.
  3. Android may show a Play Protect warning — this is normal for sideloaded apps not distributed through the Play Store; choose "Install anyway".
  4. For optional AI and transcription features, open Settings → AI and paste your own OpenRouter API key. Notes, diary, calendar, search and local reminders work without a key; there is no bundled key or backend.

Build from source

Requires JDK 17 and Android SDK 36.

./gradlew assembleDebug
./gradlew testDebugUnitTest

Release builds are signed using a keystore.properties file kept outside the repo. Point Gradle at it with the NOTESAPP_KEYSTORE_PROPS environment variable (see app/build.gradle.kts); CI builds are unsigned by design. Unsigned CI outputs are validation-only and are never published as installable APK artifacts.

Tech stack

Kotlin 2.1 · Jetpack Compose (custom design system, no Material widgets) · Room + FTS4 · Hilt · Ktor · WorkManager · minSdk 31 / targetSdk 36

Changelog

See CHANGELOG.md for release notes. Spec and roadmap live in PLAN.md.

License

MIT

About

Local-first Android notes, diary, calendar and Folio AI - Codex continuation

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages