Project Story: Intimately

✨ Inspiration

I’m Jeremiah Erinola , a Flutter/mobile dev turned fullstack enthusiast, and after 5 years of dating I noticed how easy it is for two people to drift—even when they love each other deeply. We’d miss small moments, forget to say what mattered, or let routine dull the spark. I asked myself: “What if we could build a tiny daily ritual that keeps love alive?” That question sparked Intimately—a PWA that delivers bite-sized nudges, shared mini-challenges, and memory reminders for couples who want to stay connected without the fluff of dating apps.

🏗 What I Built

  • Mobile-First PWA with React + Vite + Tailwind
  • Supabase Auth & Postgres for secure pairing and data storage
  • Cloudflare Workers + Cron to schedule daily prompts, weekly memory nudges, and AI-driven smart prompts
  • OneSignal Web Push for real-time, mutual notifications
  • Google Gemini 2.0 Flash integration for on-demand, personalized nudges
  • Stripe & Paystack Subscriptions to manage Free, Starter, Pro, and Elite tiers
  • Firebase Analytics & Sentry for data insights and error monitoring
  • Framer Motion & CSS Transitions blending Apple’s spacing, Material’s behavior, and Fluent’s depth

🧠 What I Learned

  1. Rapid Fullstack Prototyping with Bolt.new: I scaffolded project structure, environment management, and deploy workflows in hours—not days.
  2. Serverless Cron Workflows: Scheduling prompt distribution and memory nudges in Cloudflare Workers taught me to think in events and idempotency.
  3. AI Integration Patterns: Wrapping Gemini calls inside Workers, caching results, and feeding back user scores sharpened my API-design skills.
  4. PWA Best Practices: Ensuring offline fallback, responsive typography with clamp(), and service-worker caching strategies reinforced mobile-first thinking.
  5. User-Centered Design: Balancing emotional warmth with unobtrusive micro-interactions reminded me that technology should serve human connection, not distract from it.

🚧 Challenges Faced

  • Deep Linking with Push: Routing web-push clicks into specific memory pages required juggling Next.js routing quirks and Workers-generated URLs.
  • Dual-Gateway Billing Logic: Supporting both NGN and USD via Paystack meant writing clear branching logic and guarding against webhook mismatches.
  • AI Prompt Consistency: Training Gemini to produce concise, actionable nudges took several prompt-engineering iterations and caching layers.
  • Design System Harmony: Merging Apple’s white-space ethos, Material’s elevation, and Fluent’s blur effects in Tailwind demanded careful token mapping and custom plugins.

🚀 Next Steps

  • Beta Testing with Real Couples: Gather feedback on 5-minute daily flows and refine prompt quality.
  • Mobile App Companion: Evaluate Expo/React Native for offline voice-note check-ins.
  • Advanced AI Insights: Use relationship-science models to adapt prompts by communication style.
  • Localization & Accessibility: Translate to French, Swahili, and ensure WCAG 2.1 AA compliance.

Building Intimately has been a journey of blending code with compassion. I can’t wait to see how it helps couples everywhere rediscover the joy in everyday moments. ❤️

Built With

Share this project:

Updates