Skip to content
higedamcPublic

About

Nostr-based personal task management app

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Latest commit

 

History

590 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Meiso

A minimalist task management app built on the Nostr protocol.

License: MIT Zapstore Flutter Nostr


About

Meiso (瞑想) is a simple, privacy-focused task management app inspired by TeuxDeux's clean design. Built on the Nostr protocol with end-to-end NIP-44 encryption, your tasks are synced across devices without any central server.

Features

  • Three-Column Layout: Today / Tomorrow / Someday organization
  • Subtasks: Parent-child task relationships with inline editing
  • Recurring Tasks: Daily, weekly, monthly, yearly patterns with flexible intervals
  • Personal Lists: Create custom lists to organize tasks by category
  • Image Attachments: Blossom / NIP-96 image upload with server picker
  • Hide Completed Tasks: Declutter your view with a single toggle
  • Nostr Sync: Multi-device synchronization via Nostr relays
  • Privacy First: NIP-44 end-to-end encryption for all tasks
  • Amber Integration: Secure key management with Amber signer support
  • NIP-89 Client Tag: Identify events published by Meiso (opt-out in Settings)
  • Relay User-Agent: WebSocket handshake includes meiso/<version> for relay analytics
  • Dark Mode: Easy on the eyes day and night
  • Multi-Language: English, Japanese, Spanish support
  • Drag & Drop: Intuitive task reordering with drag handle
  • Pull to Refresh: Quick sync with a simple gesture
  • Go CUI: Terminal-based task management with bidirectional Nostr sync

Screenshots

Home Screen Add Task Someday Lists

Installation

Zapstore (Recommended)

Download Meiso from Zapstore - the Nostr-native app store.

Build from Source

# Clone the repository
git clone https://github.com/higedamc/meiso.git
cd meiso

# Install dependencies
fvm flutter pub get

# Build for Android (production flavor)
./generate.sh
fvm flutter build apk --flavor production --release

Tech Stack

  • Frontend: Flutter 3.x with Riverpod state management
  • Backend Logic: Rust with flutter_rust_bridge
  • Protocol: Nostr (NIP-44 encryption, Kind 30001 for tasks, Kind 30078 for settings)
  • Storage: Local-first with Hive, synced via Nostr relays
  • Architecture: Feature-based Clean Architecture
  • CUI: Go (terminal companion app with Nostr sync)

Architecture

Collaborative Lists Encryption

Shared lists use the shared-v1 scheme: each list gets its own Nostr keypair G, shared out-of-band with every member. Tasks are addressable Nostr events signed by G, with content self-encrypted to G via NIP-44 v2. Adding a member just means handing them nsec_G. Removing a member does not currently revoke access — there is no key rotation on removal, so a removed member who already has nsec_G keeps the ability to decrypt the list. Event authenticity is guaranteed by Nostr's Schnorr signatures, but only proves "signed by someone holding nsec_G," not a specific member.

→ Full design doc: docs/COLLABORATIVE_LISTS_ENCRYPTION.md

Documentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

Author

Kohei Otani
Nostr: npub16lrdq99ng2q4hg5ufre5f8j0qpealp8544vq4ctn2wqyrf4tk6uqn8mfeq


Powered by Nostr

About

Nostr-based personal task management app

Topics

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages