Files
fete/.specify/memory/personas.md
nitrix 6aeb4b8bca Migrate project artifacts to spec-kit format
- Move cross-cutting docs (personas, design system, implementation phases,
  Ideen.md) to .specify/memory/
- Move cross-cutting research and plans to .specify/memory/research/ and
  .specify/memory/plans/
- Extract 5 setup tasks from spec/setup-tasks.md into individual
  specs/001-005/spec.md files with spec-kit template format
- Extract 20 user stories from spec/userstories.md into individual
  specs/006-026/spec.md files with spec-kit template format
- Relocate feature-specific research and plan docs into specs/[feature]/
- Add spec-kit constitution, templates, scripts, and slash commands
- Slim down CLAUDE.md to Claude-Code-specific config, delegate principles
  to .specify/memory/constitution.md
- Update ralph.sh with stream-json output and per-iteration logging
- Delete old spec/ and docs/agents/ directories
- Gitignore Ralph iteration JSONL logs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:19:41 +01:00

3.9 KiB

Personas

Event Organizer

Description: A person who creates and manages an event using the app.

Goals and motivations:

  • Create an event quickly without needing to register or log in
  • Share the event with friends via a simple link
  • Keep event details up to date
  • See who is attending and manage the guest list
  • Optionally personalize the event page's appearance

Capabilities:

  • Create events (US-1)
  • Edit event details (US-5)
  • Cancel an event with an optional cancellation message (US-18)
  • Delete an event immediately and permanently (US-19)
  • View and manage the guest list — including removing entries (US-4)
  • Post update messages to the event (US-10a)
  • Choose a color theme for the event page (US-15)
  • Select a header image from Unsplash (US-16)
  • Generate and download a QR code for the event (US-11)
  • View local event overview (US-7, shared with Guest — story uses "user" role)
  • Switch between dark/light mode (US-17, shared with Guest — story uses "user" role)

Limitations:

  • Organizer access is device-bound via the organizer token in localStorage (no cross-device organizer access without accounts)
  • Cannot moderate beyond their own event (no global admin role)
  • Losing the device or clearing localStorage means losing organizer access

Appears in: US-1, US-4, US-5, US-7, US-10a, US-11, US-15, US-16, US-17, US-18, US-19


Guest

Description: A person who receives an event link and interacts with the event page. May be attending, declining, or just browsing.

Goals and motivations:

  • View event details (what, when, where, who else is coming)
  • RSVP to indicate attendance or non-attendance
  • Keep track of events they're interested in across devices (via bookmarks)
  • Add events to their personal calendar
  • Stay informed about event updates or changes

Capabilities:

  • View the event landing page (US-2)
  • RSVP to an event (US-3)
  • Bookmark an event locally (US-6)
  • View the local event overview (US-7)
  • Download .ics / subscribe via webcal (US-8)
  • See highlighted changes to event details (US-9)
  • See organizer update messages (US-10a)
  • See new-update indicator for unread messages (US-10b)
  • Download QR code for the event (US-11)
  • Install the app as a PWA (US-14)
  • Switch between dark/light mode (US-17)

Limitations:

  • Cannot edit event details or manage the guest list
  • Cannot post update messages
  • RSVP duplicate protection is device-bound (localStorage), not identity-bound
  • Local data (bookmarks, RSVP records, preferences) is device-bound and not synced across devices

Note on sub-states: A guest may be in different states relative to an event (RSVPed attending, RSVPed not attending, bookmarked only, or just viewing). These are contextual states within the same persona — the same person moves between them. The user stories handle these states through their acceptance criteria rather than defining separate roles.

Appears in: US-2, US-3, US-6, US-7, US-8, US-9, US-10a (as reader), US-10b, US-11, US-12, US-14, US-17


Self-Hoster

Description: A technical person who deploys and operates an instance of the app on their own infrastructure.

Goals and motivations:

  • Run a private, self-hosted event platform for their community
  • Control resource usage and prevent abuse on their instance
  • Configure the app via environment variables without modifying code
  • Deploy easily using Docker

Capabilities:

  • Configure maximum active events (US-13)
  • Configure Unsplash API key for image search (US-16)
  • Configure database connection and other runtime settings (T-2)
  • Deploy using Docker with docker-compose (T-2)

Limitations:

  • Not a user role in the app's UI — interacts only through deployment and configuration
  • Cannot moderate individual events (that is the organizer's role)
  • App design decisions are not influenced by the self-hoster at runtime

Appears in: US-13, US-16 (configuration aspect)