Civilized

Mobile / 0-to-1 Product Build

Nectar

A dating app for millennials tired of shallow swiping.

Client

Nectar

Role

Full-Stack Engineering, Product

Timeline

2023 – 2024

The problem

Dating apps have optimized themselves into a dopamine machine. The swipe mechanic is efficient at generating engagement and terrible at generating relationships. Millennials — who are older, more intentional, and more burned out on the swipe loop than younger cohorts — were increasingly vocal about wanting something different.

Nectar's premise was simple: build a dating product that treated users like adults with shared interests, not like inventory to be swiped. Discovery based on what you're into, not just how you look. Conversation starters that did some of the work. A pace that didn't penalize people for being thoughtful.

The founders had the vision and the audience insight. They needed a technical partner who could take it from whiteboard to App Store.

The approach

We ran a focused four-week discovery sprint before writing production code. The goal was to pressure-test the core assumptions: Would users engage with interest-based discovery? Would the slower pace feel refreshing or frustrating? What was the minimum lovable version?

Interest graph over swipe mechanics.

The core matching model was built around an interest graph, not a similarity score. The hypothesis: two people who both love obscure 70s jazz and make sourdough have more to talk about than two people with similar attractiveness ratings. The interest tags were curated (not user-generated) to keep quality signal high.

Conversation starters as a product feature.

The first message problem is the hardest problem in dating apps. Most people open with "hey." We built a conversation starter system that surfaced shared interests as concrete prompt options — not ice-breaker templates, but actual hooks based on what both people actually listed. The average first message length doubled compared to the swipe-first flow in testing.

Speed that earns trust.

First impressions in consumer apps are unforgiving. We obsessed over app launch time, feed load performance, and image loading. The dating app market is crowded; users who download and hit a slow experience delete and move on. Sub-2-second cold start was a non-negotiable target.

The first message is the hardest part of dating apps. The product should do more of that work, not leave it all to the user.

The work

Core Product

Full React Native app for iOS and Android, built with Expo for faster iteration

Interest graph data model and matching algorithm prioritizing mutual interest depth over raw similarity

Curated interest tag system with 400+ tags across 20 categories

Conversation starter surface built on shared interest overlap

Profile builder with guided prompts to encourage depth without friction

In-app messaging with read receipts, typing indicators, and media sharing

Push notifications with smart batching to avoid notification fatigue

Backend & Infrastructure

Node.js / TypeScript API with PostgreSQL and Redis for session management

AWS infrastructure: EC2 for the API, RDS for the database, S3 for media, CloudFront for CDN

Phone number verification via Twilio — no email-only accounts

Image moderation pipeline with both automated and manual review queues

Matching queue workers with configurable cadence — surfacing new matches daily, not constantly

Analytics instrumentation from day one: funnel visibility from signup to first meaningful conversation

The outcome

Launched to a waitlist of 4,000+ users built through organic content and community seeding before any paid acquisition. App Store rating of 4.6 on launch week. The average first-message length was 3x the industry benchmark — early signal that the conversation starter mechanic was working.

More importantly: the team shipped a complete, production-quality consumer app in 16 weeks from the start of development. No shortcuts in moderation, no missing accessibility support, no untested edge cases in the matching queue. Shipped to mean shipped.

Shipped to mean shipped. Not "in beta," not "soft launch." In the App Store, working, observable, ready to grow.

Tech stack

React Native

Expo

Node.js

TypeScript

PostgreSQL

Redis

AWS

Twilio

Want this kind of work on your team?

We read every message. Real reply within two business days.

Start a project