Where Poetry Meets Love
A dating app that connects people through poetry — swipe verses, not selfies.
Rhymance reimagines online dating by replacing photos with poetry. Instead of judging profiles by appearance, users discover deeper connections through literary sensitivity and shared emotions — swiping on verses instead of selfies.
This repository is transitioning into a pnpm workspaces monorepo consisting of:
apps/marketing: The Astro-based landing page introducing the product, showcasing its core experience, and driving recruiter engagement.apps/app: The Expo / React Native product application running on Web, iOS, and Android.packages/: Shared configurations, domain layers, UI design systems, and Firebase integrations.
Note
This application is currently in Prototype / Active Development (Alpha). Features described on the marketing page reflect the target cross-platform MVP and are being rolled out systematically in phases.
Detailed architecture, database designs, and development guides are located in the docs/ folder:
- 🛠️ Local Setup Guide — How to configure dependencies, start workspaces, and run the Firebase emulator.
- 🚀 Deployment Guide — Steps for deploying the Astro website and publishing Firebase configuration scripts.
- 🧪 Testing Guide — Unit, integration, and rules testing workflows.
- 🏗️ Architecture Overview — Topologies, monorepo structures, and clean coding contracts.
- 🗄️ Data Model Documentation — Firestore collection specifications, documents, and relationships.
- 🔐 Security Model — Auth requirements, database/storage security rules, and block integrations.
- 💡 ADR-001: Select Firebase — Architectural decision record explaining the choice of Firebase over Supabase.
- 🍏 App Store Preparation Checklist — Asset lists and Apple metadata requirements.
- 🤖 Google Play Preparation Checklist — Package mappings, adaptive icons, and Data Safety requirements.
- ⚖️ Privacy & Moderation Documentation — User moderation, community rules, blocking systems, and account deletion rules.
| Component | Technology | Purpose |
|---|---|---|
| Marketing Site | Astro | Static site rendering & component architecture |
| Mobile & Web App | Expo + React Native | Cross-platform runtime for iOS, Android, and Web |
| App Routing | Expo Router | Native file-based navigation |
| Styling | Tailwind CSS / NativeWind | Modern visual utility framework |
| Backend Suite | Firebase | Serverless database, authentication, push messaging, cloud storage, and functions |
| Monorepo Manager | pnpm workspaces |
Fast dependency management and module isolation |
To boot up the local dev environment (Astro landing page, Expo web runtime, and Firebase Local Emulator Suite) running concurrently:
# Install root dependencies
pnpm install
# Start local services concurrently
pnpm run devFor more detailed setup options, consult the Local Setup Guide.
rhymance/
├── apps/
│ ├── marketing/ # Astro + Tailwind CSS landing website
│ └── app/ # Expo + React Native application (iOS, Android, Web)
├── packages/
│ ├── domain/ # Business rules, domain models, and interfaces
│ ├── shared/ # Standard utility types and functions
│ ├── ui/ # Reusable cross-platform design tokens and buttons
│ ├── firebase/ # Shared Firebase client repositories
│ └── config/ # Shared compiler/lint configurations
├── firebase/ # Firestore rules, JSON config, functions logic
├── docs/ # Architectural decisions and guides
├── pnpm-workspace.yaml # Monorepo workspaces definition
└── package.json # Root workspace coordinator
Crafted with passion by Luis Marrero :)
