Skip to content

ChausseBenjamin/rafta

Repository files navigation

A raft (boat) in a sea of tasks (checkmarks) logo

Rafta

Really, Another F*cking Todo App?!

Why?

Most TODO tools suck for power users:

  • In your way: You have to go to them. They don't notify you, or embed into your workflow.
  • Overkill: Many try to be wikis, calendars, or even programming platforms.
  • Walled gardens: APIs locked behind subscriptions or bad docs.
  • Hard to extend: Monolithic or closed-source.
  • Stuck in files: Forcing you to setup/use cloud storage like Dropbox, iCloud, SyncThing just to keep your tasks in sync accross devices.

Rafta flips that:

  • A simple gRPC server to store and sync tasks.
  • A clean schema designed for anyone to build clients.
  • No scope creep — task management, nothing more.
  • Built for hackers — SQLite backend, no lock-in.
  • Self-hosted Server Approach - Ensuring a common source of truth for all your devices

If you want a TODO system that stays out of your way and works wherever you work (Neovim, shell, mobile, etc.), take part in the development of rafta. I promise, I put a lot of thought into it before risking creating a new standard.

Dev Setup

  • API: gRPC, documented in resources/schema.proto
  • Auth: JWT (via Auth endpoint)
  • Quickstart: docker-compose up
  • Client responsibility: All UI, notifications, etc.
flowchart LR
    client(Rafta Client)
    srv[Rafta Server]
    db([SQLite DB])

    client--gRPC-->srv
    srv--query/update-->db
    db--result-->srv
    srv--response-->client
Loading

Client ideas

  • Neovim Plugin: Like oil.nvim, but for tasks.
  • Mobile App: Clean UI, simple UX, timely push notifications.
  • iCal Client: Generate public/private calendar feeds from task filters.

Why not existing tools?

Rafta is a thin server spec with an open schema. You bring the clients.

About

Really, another f*cking Todo App?!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages