Skip to content
/ planner Public

Organise snippets of personal data like tasks, events, contacts, etc.

Notifications You must be signed in to change notification settings

ewintr/planner

Repository files navigation

Planner

Planner is a Personal Information System (PIM) that is built around the notions that having a convienent system is a matter of synchronizing many small snippets of data (tasks, contacts, events, notes, etc.) to many devices (laptop, phone, smart displays, etc.) and have them available in many places (desktop apps, cli commands, applets, AI agents, etc.)

Thefore the architecture aims to bring the right information to the right place as quickly as possible.

Architecture

Synchronization server

Stores generalized data snipptes in a Postgres database and can sync them with clients over HTTP Rest and Websockets. Clients can subscribe to the types of snippets they are interested in. For example, only tasks and events.

See here for more details on the synchonization protocol.

Local service

On a device like a laptop or workstation there can be many different apps that want to communicate with the Synchronization server. To simplify communication there is a local service that keeps local data in sync with the server and exposes it to local clients over a Unix socket.

Current local clients include:

  • Task cli command
  • Gui app for today's task
  • Cinnamon applet that shows the next task
  • Mcp-server for connecting AI agents

See Local Service API for details on the API endpoints and Data Model for task structure.

Other devices

For devices that don't have the local service, or for functionality that is not yet present in the local service, there are apps that communicate directly with te server over HTTP REST:

  • Task cli command
  • Schedule cli command
  • Homeassistant webhook

See the Data Model for details on tasks and schedules.

Documentation

About

Organise snippets of personal data like tasks, events, contacts, etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages