Contribute

Built in the open. Better with you.

Sempa is AGPL-3.0-licensed and maintained in spare hours. Whether you write Go and Svelte, run a platform you'd love to see supported, or just want to file a thoughtful bug — there's a place for you here.

Help wanted

Where Sempa needs hands.

The most useful contributions right now — pick anything that fits your stack or your itch.

New clients

macOS app

A Tauri desktop build for Mac — much of the shell is shared with Windows already.

Rust · Tauri

iOS app

A Capacitor build for iPhone & iPad, including on-device reminder scheduling.

Capacitor · Swift

Linux desktop

An AppImage or Flatpak client to round out the desktop trio.

Rust · Tauri

Integrations

More email providers

Outlook / Microsoft 365, iCloud Mail, and a generic IMAP path so any inbox can feed tasks.

Go

More calendars

iCloud Calendar and broader CalDAV coverage beyond today's Google, Fastmail and ICS feeds.

Go

More task & PM tools

Linear, GitHub Issues, Todoist, Asana — bring assigned work in the way Jira already does.

Go · REST

Notification backends

More push channels alongside Web Push, Android and webhooks — Matrix, Telegram, Pushover.

Go

Slack integration

On the roadmap — turn Slack messages into tasks and post reminders to a channel.

Roadmap

CalDAV write-back

Push Sempa time-blocks back to your calendar as events, not just read from it.

Roadmap

Packaging & distribution

Public Docker image

Publish a multi-arch image to GHCR so self-hosting is a single docker run.

Roadmap · CI

F-Droid listing

Get the Android build into F-Droid with a reproducible build pipeline.

Android · CI

Homebrew & package managers

A Homebrew cask, Scoop/winget manifest, and AUR package for one-line installs.

Packaging
Not a coder?

Plenty of ways to help.

Docs & guides

Improve the user guide, write a self-hosting walkthrough, or record a short setup video.

Translations

Help localise the interface so Sempa feels at home in more languages.

Testing & bugs

Try the apps, file clear reproducible issues, and help triage what comes in.

Sponsor

Can't contribute time? A small donation keeps the lights on. Support →

Getting started

Run it locally in minutes.

01

Fork & clone

Grab the repo from GitHub. Requirements: Go 1.21+ and Node.js 20+.

02

Run backend & frontend

The Go server runs on :9001; the SvelteKit dev server on :5173 proxies the API to it.

03

Build native apps

Capacitor for Android (Android Studio), Tauri for desktop (Rust toolchain).

# Backend — runs on :9001 cd backend && go run ./cmd/server/ # Frontend — runs on :5173, proxies API to :9001 cd frontend && npm install && npm run dev

Architecture is API-first: a Go + SQLite backend, a SvelteKit frontend, Tauri for desktop and Capacitor for Android. Open a draft PR early — small, focused changes are easiest to review and merge.

Get involved

Three ways to take part.

Report a bug or idea

Found a bug or have a feature request? Open an issue — it's tracked and triaged in the open.

Open an issue →

Contribute code

Contributions welcome. The Contributing guide covers setup, conventions and how PRs are reviewed.

Contributing guide →

Report a vulnerability

Found a security issue? Please report it privately — don't open a public issue. See the Security Policy.

Security policy →

Pick a thread and pull.

Star the repo, open an issue to claim something, or just say hello in Discussions. Every bit helps Sempa hold more of the day for more people.