# Research Questions

## Open

### RQ-003 — Fastmail calendar API: JMAP vs CalDAV

**Question**: For the custom app to read AND write the shared family calendar on Fastmail, is JMAP
or CalDAV the cleaner integration? Can a scoped Fastmail API token grant calendar read-write without
exposing the full account?

**Why it matters**: The app brokers calendar access for all Apple members via the PWA, so reliable
programmatic read-write to the Fastmail calendar is core. JMAP is Fastmail-native and modern; CalDAV
is the interoperable standard.

**Suggested approach**: Check Fastmail JMAP Calendars docs + API token scoping. Confirm event
create/update/delete works via token. Compare to CalDAV (sabre-dav style) effort.

---

## Resolved

### RQ-001 — Vikunja MariaDB compatibility — SUPERSEDED

Vikunja was dropped from the architecture (lists now live in the custom app's own MariaDB). The
MariaDB findings still apply to the custom app itself: use MariaDB 10.6+, set `utf8mb4` collation,
pin versions before upgrades.

---

### RQ-002 — CalDAV server: Radicale vs Baikal — SUPERSEDED

Both dropped. The shared calendar now lives on **Fastmail**, not a self-hosted CalDAV server.
Rationale: the Fastmail Android app cannot display a self-hosted CalDAV calendar, so Baikal gave the
primary (Android/Fastmail) user no native benefit — it only helped Apple members, who are equally
served by the PWA. Fastmail-hosted removes a self-hosted service while keeping native access for the
Fastmail user and PWA access for everyone.

Original finding (retained for reversibility): if self-hosting the calendar is ever required, **Baikal**
(`ckulka/baikal`) is the pick over Radicale — Radicale has no native shared-calendar write support.

---

### Calendar host decision — RESOLVED

Self-hosting the calendar data was evaluated and rejected. Fastmail (already paid for) hosts the
shared family calendar. Other household members are Apple — they reach it via the PWA (default) or
native Apple Calendar over CalDAV (optional).

### Email scope — RESOLVED

Out of scope. Members keep existing mail clients unchanged.
