SØNDAG
2026-09-13

Too many projects, too many ideas, too few hours — one learning a day anyway

Sodalis

A private club app for iOS — one app, clubs inside, each with its own name, mark and colours.

The Sodalis sign-in screen before any club is known: a dark square mark holding the letter S, the product name Sodalis set in a serif below it, and four ways in stacked as full-width buttons in Danish — continue with Apple, with e-mail, with Google, with a passkey. No password field anywhere.
FIG. 1 Before a club is known the app wears its own mark — and there is no password field.
The home screen of a demo club called Årsklubben: a dark green square mark holding the letter Å because the club uploaded no emblem, the club name in a serif, a line saying you organise two events, a 'waiting for you' section with one overdue task, and the year's three events — a June trip to Møn, an October dinner, a January general meeting — each with date, type, status and organisers.
FIG. 2 A club with no emblem gets its own initial — nothing about the app is hard-coded to one club.
One event opened: the trip to Møn with its date, status and organisers, a row of actions, and five tabs — programme, shopping, practical, tasks, budget. The programme is split into three days; the first is expanded and shows a bus at 09:30, check-in at 12:30 and dinner at 18:30, with a control above them saying the participants can see this day.
FIG. 3 An event is days, and a day is points — the organiser decides when participants see one.
The tasks tab of the same event: a counter reading five open, two urgent, one done, then the task list — book the bus, find a stand-in, confirm the restaurant table, buy supplies, get cash — each with a ring to tick, a deadline, an amount in kroner and the member who owns it. The finished task sits last with a filled green tick.
FIG. 4 Every task carries its deadline, its amount and the one member who owns it.

Sodalis is one iOS app with clubs inside it. A club is the usual committee load in one place: members, events, tasks, documents, decisions. Each club carries its own name, mark and colours: one paper template throughout, where the colour is the ink and not the page. No emblem, and the club gets its initial. Clubs are closed — only members see the content.

Nobody types a password. The ways in are an e-mail one-time code, Sign in with Apple, Google, or a passkey. Clubs are self-served — create one, invite by code.

SwiftUI over a Kotlin Multiplatform core; the server is Cloudflare Workers with D1. Auth0 carries the passwordless codes; the passkeys are my own WebAuthn, outside it. On TestFlight now, headed for the App Store.

CODE
  • Version 1.1 shipped to the App Store
  • Push notifications reach the phone
  • Version 1.0 approved by App Review
  • App renamed Sodalis; localisation layer added
  • Auth rebuilt without Auth0, Apple sign-in native
  • TestFlight builds; passkeys and club switching
  • Server, app and club theming go live
  • White-label club app specced from scratch
POSTS

No posts from this project yet — they'll gather here as they publish.