← eventa overview

eventa — Functional Requirements

13 features under multi-user reality. MVP-5 highlighted, 11 cuts listed.

eventa — Functional Requirements

A multi-user event-planning app. Multiple people share one event, edit the same data, and see each other's changes in near-real-time. Android client + Python backend.

This document was distilled from a 6-round discussion with the codex CLI. The pivotal rounds:

(Full transcripts in docs/.)


What "multi-user" means here


13 features

🎯 MVP — must ship for V1

1. Event Brief

Title, date(s), location, type, estimated guests, rough budget, "done means…" Edited by any event member, with optimistic concurrency (version stamp; conflicts surface as a "someone updated this — refresh?").

2. Guest List With RSVP State

Track guests, households, RSVP, dietary needs, lodging needs.

Android adds: Pick from device Contacts to import name/phone/email. Tap a guest to call/SMS/email — no typing.

3. Private Planning Checklist

Tasks with category, owner (event-member or free-text), due date. Includes packing/supplies as a category. Members see each other's checkmarks live.

4. Deadline Timeline (with notifications)

Chronological view of incomplete tasks: Overdue / This Week / This Month / Later. Server-side push notifications when: - a task you own has a deadline coming up (local trigger); - another member adds, completes, or assigns you a task.

5. Budget Buckets

Estimated vs actual costs per bucket. paid_by is a member reference or a free-text label.

Android adds: Camera-capture receipts and quotes; attach to the budget item; uploaded to backend (Postgres bytea or object storage).


📦 V1 expansion — ships after MVP

6. Household-Based Invitations

Group people into households so one outreach covers a couple/family. Outreach itself is still SMS/email handoff — eventa doesn't deliver invitations as the channel.

7. Personal Cost Ledger

Track who paid what and who owes whom across event members, since they're all real users now. Settlement summary still has to be acknowledged by people manually — no money movement.

8. Menu & Dietary Planner

Plan meals, drinks, portions, and grocery quantities derived from the guest list.

9. Guest Communication Log

Manual record of what was sent (save-the-date, invite, reminder…), plus quick send-SMS / send-email shortcuts.

10. Run of Show

Event-day schedule with times, owners, locations. Optional sync to device Calendar per user.

11. Post-Event Wrap-Up

Final costs, vendor feedback, what worked.

12. Venue / Vendor Contact Sheet

Addresses, phone, booking refs, deposits, cancellation terms. Tap-to-call / tap-to-navigate / tap-to-email.

13. Responsibility Assignment

Tasks / costs / run-of-show items have an owner. Owner can be a real event member (in which case they actually see it, since they're in the app) or a free-text label like "the caterer".


⚙️ V1 must-have infrastructure

Identity (auth)

Passwordless magic-link email. No passwords. No OAuth. The link takes the user back into the app and exchanges for a bearer token (~30-day TTL).

Invites

Email-based. Inviter clicks "invite Alex"; Alex gets an email with a one-click link; clicking it (a) creates Alex's account if needed and (b) joins them to the event as editor. Must feel like one flow, not three.

Real-time sync

WebSockets, per-event rooms. No polling.

Push notifications

FCM (Firebase Cloud Messaging). Server pushes when another member edits. The Android app translates the push into a refresh of the relevant view.

Backups / portability


🤖 What Android brings


Cuts (deliberately not in scope)


Hard non-goals