Premium Filipino dating waitlist experience focused on safety cues, serious intent, honest launch messaging, and conversion clarity.
PinayMate is a launch-stage dating product for people seeking serious Filipino connections. PM_Web presents the waitlist, membership direction, trust/safety model, and mobile-app preview without claiming live matching, live checkout, active calls, or active users.
- Scope: PM_Web static/site readiness + public launch messaging alignment with PM_App blockers.
- Status: Local PM_Web quality is current and passing, but public launch remains blocked by production URL, mailbox proof, and PM_App launch blockers. PM_Web remains waitlist-only until those coordinated launch gates close.
- Launch-state source of truth:
docs/PINAYMATE_LAUNCH_STATE_MATRIX.mdis the PM_Web-local snapshot used by standalone checks.../PM_App/docs/release/PINAYMATE_LAUNCH_STATE_MATRIX.mdremains the cross-product source when the full Romega workspace is available.
- Vite + React project builds and linting scripts are available in
package.json. - Marketing CTA and app-download sections are present and reviewable.
- Runtime scripts are documented for reproducible setup (
dev,build,preview,lint). - Local release scripts enforce dependency audit, CTA routing, and launch-claim checks before copy or CTA changes are treated as releasable.
- Normal local checks are read-only by default. Use the
:reportscripts only when intentionally collecting evidence for launch review.
- Repository-level evidence confirms launch-readiness section exists and references are aligned with PM_App blockers.
- Current local PM_Web checks passed on 2026-06-11 and are recorded in
../PM_App/docs/evidence/2026-06-11-current-local-quality-release-blockers.md. - Historical browser smoke evidence remains useful context, but production URL, mailbox delivery, and final launch-domain checks are still unverified.
- No live production deployment, host-domain, monitored-mailbox, or production URL validation is recorded in docs.
- PM_App blocker closure is a launch gate: ordered launch migrations, Supabase policy verification, and OCR endpoint readiness.
- PM_Web production checks are still open: final domain, deployed URL, support/legal mailbox routing, and production CTA verification.
- PM_Web now has a project-local release checklist in
RELEASE_CHECKLIST.md; the central launch evidence tracker remains inPM_App/docs/release/RELEASE_READINESS.md. - PM_Web claims must stay aligned to
docs/PINAYMATE_LAUNCH_STATE_MATRIX.mdfor standalone checks and to../PM_App/docs/release/PINAYMATE_LAUNCH_STATE_MATRIX.mdduring full workspace release review; if the matrix says a feature is waitlist-only, gated, source-only, or blocked pending proof, README, section copy, CTA copy, and release notes must not imply that the feature is live.
| Gate | Required proof | Owner | Date | Evidence path / URL | Status |
|---|---|---|---|---|---|
| Local lint | npm run lint through npm run check:local-quality |
Codex | 2026-06-11 | ../PM_App/docs/evidence/2026-06-11-current-local-quality-release-blockers.md |
Pass locally |
| Dependency audit | npm run check:dependency-audit through npm run check:release-local |
Codex | 2026-06-11 | ../PM_App/docs/evidence/2026-06-11-current-local-quality-release-blockers.md |
Pass, 0 vulnerabilities |
| Production build | npm run build |
Codex | 2026-06-11 | ../PM_App/docs/evidence/2026-06-11-current-local-quality-release-blockers.md |
Pass locally |
| Desktop smoke | hero, CTAs, legal modal, footer render on desktop | Codex | 2026-06-10 | ../PM_App/docs/evidence/README.md |
Historical screenshot; rerun required |
| Mobile smoke | no horizontal overflow, CTA/legal modal usable | Codex | 2026-06-10 | ../PM_App/docs/evidence/README.md |
Historical screenshot; rerun required |
| CTA routing | waitlist/support/legal links route to approved waitlist/support/legal flows | Codex | 2026-06-11 | ../PM_App/docs/evidence/2026-06-11-current-local-quality-release-blockers.md |
Pass locally; mailbox proof still required |
| Launch-state matrix alignment | PM_Web copy and CTAs match the PM_Web-local matrix snapshot and the central PM_App matrix during workspace release review | Codex | 2026-06-11 | ../PM_App/docs/evidence/2026-06-11-current-local-quality-release-blockers.md |
Pass locally |
| Final domain | production domain loads and matches launch copy | Needs deployed URL | |||
| Copy accuracy | no fake checkout, app-store, active-user, or safety guarantees | Codex | 2026-06-11 | ../PM_App/docs/evidence/2026-06-11-current-local-quality-release-blockers.md |
Pass locally |
- Keep
npm run check:local-qualityandnpm run check:release-localgreen after any PM_Web copy, CTA, membership, support, legal, or safety copy change. - For full workspace release review, compare PM_Web claims against
../PM_App/docs/release/PINAYMATE_LAUNCH_STATE_MATRIX.md. - Validate production host/domain behavior for CTA deep links and support paths.
- Publish only after PM_App launch blockers are closed and recorded in PM_App docs.
# run in PM_Web (static/build checks only)
npm run lint
npm run check:dependency-audit
npm run build
npm run check:release-local
npm run check:release-local:report
npm run preview -- --host
# launch comms checks (manual review)
rg -n "Download|Google|support|pinaymate|CTA|app" PM_Web/src PM_Web/public- Preference-Led Matching Direction - Relationship intent, lifestyle, and profile signals guide planned discovery
- Verification Path - Email/profile checks and optional ID/photo review support safer introductions
- Messaging Readiness - Chat copy stays preview/waitlist-first until release QA passes
- Membership Interest - Plans are framed as waitlist or interest capture, with planned pricing secondary and no live checkout
- Mobile-First Design - Responsive layouts, accessible focus states, and clear touch targets
- Premium User Experience - Calmer hierarchy, restrained motion, and clearer safety messaging
- Waitlist-first CTAs until app-store, checkout, and matching flows are production-ready
- Profile checks and verification review path are described without unsupported guarantees
- Membership copy explains launch intent and free Filipina access without leading with purchasable paid plans or claiming live billing
- Mobile-first sections prioritize trust, safety, and conversion clarity
- Run
npm run check:local-qualitybefore publishing launch copy or CTA changes npm run check:release-localincludes dependency audit, CTA routing, and launch-claim checksnpm run check:launch-claimsusesdocs/PINAYMATE_LAUNCH_STATE_MATRIX.mdby default and opportunistically compares the central PM_App matrix when the full workspace is present
- βοΈ React 19 - Modern component-based architecture
- π· TypeScript - Type-safe development
- β‘ Vite - Lightning-fast build tool and dev server
- π¨ Tailwind CSS - Utility-first styling framework
- π CSS/Tailwind motion - Lightweight transitions without a runtime animation dependency
- π¨ Custom Color Palette: Pink (#F4376D), Purple (#A855F7), Blue (#3B82F6)
- πΌοΈ DM Sans + Lora + Hello Paris Sans - UI, editorial, and brand typography
- β¨ Premium Surfaces - Restrained cards, clear contrast, and token-driven brand accents
- π Meaningful Motion - Short hover/focus transitions with reduced-motion support
- π± Loading screen with progress indicators
- π« Reduced entrance and hover transitions
- π― Accessible focus and interaction states
- π Motion constrained to transform/opacity patterns where used
pinaymate/
βββ src/
β βββ components/
β β βββ sections/
β β βββ Header.tsx # Navigation with scroll effects
β β βββ Hero.tsx # Landing section with waitlist CTA and product preview
β β βββ About.tsx # Trust and launch-path section
β β βββ Features.tsx # Product direction and safety approach
β β βββ Membership.tsx # Membership interest, not checkout
β β βββ Faqs.tsx # Frequently asked questions
β β βββ Download.tsx # Platform waitlist section
β β βββ Footer.tsx # Site footer
β βββ App.tsx # Main application component
β βββ App.css # Custom animations & styles
β βββ main.tsx # Application entry point
βββ public/ # Static assets
βββ package.json # Dependencies & scripts
βββ README.md # This file
- Node.js 18+
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/your-username/pinaymate.git cd pinaymate -
Install dependencies
npm install # or yarn install -
Start development server
npm run dev # or yarn dev -
Open in browser
http://localhost:5173
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint- Editorial hero hierarchy with clear waitlist CTAs
- Restrained brand surfaces using pink, violet, and blue accents
- Accessible focus states and touch-friendly buttons
- Reduced decorative motion compared with the earlier prototype
- Optimized for all screen sizes (320px - 2560px+)
- Touch-friendly interactions
- Adaptive typography and spacing
- Progressive enhancement
- Public claims were tightened to avoid unsupported guarantees around match accuracy, compliance, billing, and verification.
- Membership and app download CTAs route to support/waitlist email until checkout and store links are production-ready.
- Backend waitlist handoff source exists, but public CTAs stay email-first until Supabase waitlist proof and abuse/rate-limit approval are captured.
npm run check:local-qualityruns lint, TypeScript, build, and local CTA/launch-claim audits before release.- Remaining launch work: replace waitlist mailto links with final app-store and checkout destinations when those systems are live.
- Evidence files are not written by normal PM_Web checks. Run
npm run check:release-local:reportonly when the output should be captured as launch evidence. - If central launch-state claims change, refresh
docs/PINAYMATE_LAUNCH_STATE_MATRIX.mdbefore publishing PM_Web copy.
- Short hover and focus transitions
- Reduced-motion support in global CSS
- Motion used for interaction feedback, not fake activity
- Verification review path
- Preference-based compatibility signals
- Messaging previews until chat is production-ready
- Membership interest capture with planned pricing secondary until checkout is production-ready
- Primary: Individuals seeking serious relationships with Filipino singles
- Geographic: Global reach with focus on US, Canada, Australia, UK
- Demographics: Ages 25-55, relationship-focused individuals
- Values: Authenticity, family-oriented, long-term commitment
- π Hero Section - Compelling intro with app mockups
- βΉοΈ Trust Section - Product promise and safer discovery framing
- β‘ Features Section - Launch-stage safety and product-direction cards
- π Membership - Reference pricing and membership-interest capture
- β FAQ Section - Common questions and answers
- π² Waitlist - iOS and Android waitlist email actions
- π Contact/Footer - Support and company information
- β‘ Lightning-fast loading with Vite
- π― Optimized bundle size
- π± Responsive layout targets
- π Transform/opacity-based interaction transitions
- πΎ Efficient memory management
- Primary Pink:
#F4376D- Love, passion, connection - Secondary Purple:
#A855F7- Premium, sophistication - Accent Blue:
#3B82F6- Trust, reliability
- UI Font: DM Sans
- Editorial Font: Lora
- Brand Font: Hello Paris Sans
- Usage: Clear UI text with warmer editorial headings
We welcome contributions to improve PinayMate! Please read our contributing guidelines and submit pull requests for any enhancements.
This project is proprietary software. All rights reserved.
For technical support or business inquiries:
- π§ Email: support@pinaymate.com
- π Website: https://pinaymate.com
Built for the Filipino community worldwide β’ Launch-stage, waitlist-first, and safety-aware.