How anecoicastudio/athanor works
Athanor is a community platform where members build reputation through verifiable activity. The principal product surface is the Expo app: members onboard and use community features, with typed API and domain packages supporting the app. The web app adds public profiles and content, a waitlist, and admin moderation. The README documents Supabase as the shared backend and the apps-to-packages dependency rule; the sampled code confirms waitlist and admin API calls, but not most individual mobile feature call sites.
Main entry points: _layout.tsx Expo app · index.ts Typed API · route.ts Waitlist capture · page.tsx Web application
Components 20
Mobile product
- Expo app
apps/native/src/app/_layout.tsx - Onboarding
apps/native/src/app/(onboarding)/index.tsx - Community feed
apps/native/src/app/(tabs)/community.tsx - Moments
apps/native/src/app/(tabs)/momenti.tsx - Events
apps/native/src/app/(modal)/event/[id]/index.tsx - Dreams
apps/native/src/app/(modal)/dream/[id].tsx - Aura reputation
apps/native/src/app/(modal)/aura.tsx - Messaging
apps/native/src/app/(modal)/chat.tsx - Auth and session
apps/native/src/lib/auth-context.tsx
Shared packages
- Typed API
packages/api/src/index.ts - Domain logic
packages/core/src/index.ts - Validation schemas
packages/schemas/src/index.ts
Web surfaces
- Web application
apps/web/app/page.tsx - Public profiles and content
apps/web/app/[handle]/page.tsx - Waitlist capture
apps/web/app/api/waitlist/route.ts - Admin moderation
apps/web/app/admin/(dashboard)/page.tsx - Waitlist export
apps/web/app/admin/(dashboard)/waitlist/export/route.ts
Backend services
- Supabase
- Stripe
Other components
- Member
Connections 22
- Member → Expo app: uses
- Expo app → Onboarding: routes to
- Expo app → Community feed: routes to
- Expo app → Moments: routes to
- Expo app → Events: routes to
- Expo app → Dreams: routes to
- Expo app → Aura reputation: routes to
- Expo app → Messaging: routes to
- Expo app → Auth and session: uses
- Expo app → Typed API: depends on
- Typed API → Supabase: queries
- Domain logic → Validation schemas: imports
- Member → Web application: visits
- Web application → Public profiles and content: serves
- Web application → Waitlist capture: submits to
- Waitlist capture → Validation schemas: validates with
- Waitlist capture → Typed API: calls
- Waitlist capture → Supabase: creates client
- Admin moderation → Waitlist export: offers export
- Waitlist export → Typed API: reads pages
- Waitlist export → Supabase: authenticates with
- Typed API → Stripe: integrates