WeConnect's Stack: A Dating App Built with Cursor in 100 Days
October 7, 2026 · 1296 words
| Fact | WeConnect |
|---|---|
| What it is | Global dating and friend app with real-time chat translation in 18 languages |
| Builder | Developer (iOS developer with 20+ years of experience) |
| AI tool | Cursor Pro ($20/month); free tiers of Claude, Gemini and Grok for the hardest parts |
| Stack | Flutter, Supabase, Next.js + Vercel, OneSignal |
| Time to launch | 100 days to App Store and Google Play |
| Revenue | Not disclosed; in-app point packs from $10 to $200 are live (pricing page only) |
| Source | Show HN post |

WeConnect is a dating and friend app that translates chats live across 18 languages. One developer shipped it to both the App Store and Google Play in 100 days. His AI tool was Cursor Pro, at $20 a month.
He has not shared revenue. The App Store listing shows paid point packs from $10 to $200.
He posted the build as a Show HN in December 2025. It is one of the clearest stack write-ups I've seen from a solo mobile founder. The one point: AI made the build fast, but the hard 10% (push notifications, payments, login) still needed an experienced developer.
The stack, layer by layer

Here is every layer he disclosed, with what each one does:
| Layer | Choice | What it does |
|---|---|---|
| Mobile app | Flutter | One codebase for iOS and Android |
| Backend, auth, database | Supabase | Postgres database, logins and APIs in one hosted service |
| Admin dashboard + landing page | Next.js on Vercel | Web app for managing users, plus the marketing site |
| Push notifications | OneSignal (after trying Firebase) | Sends match and message alerts to phones |
| Payments | Apple and Google in-app purchases | Point packs sold inside the app |
| Translation | Not disclosed | Live chat translation in 18 languages |
| AI coding | Cursor Pro + Claude, Gemini, Grok free tiers | Wrote most of the code |
Hardware. For the first 70 days he had no Mac. He built on a Windows laptop and tested on a Galaxy S20+. Later he bought a used M4 Mac mini and an iPhone 17 to start iOS builds. Apple requires a Mac to build and submit iPhone apps.
Monthly cost
The only cost he disclosed is Cursor Pro at $20 a month.
He says that early on, the plan included unlimited "Auto" mode and premium model access. By his estimate, he used over $1,000 worth of AI for that $20. Cursor has since added limits. He says he now hits a paywall after about five days, but core development was done by then.
Supabase, Vercel, OneSignal, the translation service and the Apple developer fee are not broken out. I won't guess at them. If you copy this stack, budget for the Apple developer program and each service's paid tier once real users arrive.
Why each choice
He doesn't explain every pick, but the post makes the reasoning visible.
- Flutter gave him Android first. With no Mac for 70 days, he could build and test on Windows and his Galaxy phone.
- Supabase bundles database, auth and backend. For a solo dev, that is one service to learn instead of three.
- Next.js on Vercel covers the two web needs, admin and landing page, with one framework.
- OneSignal replaced Firebase for notifications after days of friction.
Store approval also shaped the timeline. Google Play approved the app in one day. The App Store took multiple feedback rounds, and he says it barely made it through.
What the AI wrote vs what the human fixed
This is the useful part.
Where AI did the heavy lifting. UI was close to automatic. His workflow: take a screenshot from Dribbble, a design showcase site, and ask Cursor to "make this exact UI." He says that got him 90% of the way. I think the trick works because a screenshot is a precise spec. "Make it look nice" gives the AI nothing to aim at; a picture gives it everything.
Where AI got stuck. Three areas needed him:
- Push notifications. Days with Firebase, a switch to OneSignal, then more days fighting Supabase JWT issues. A JWT is the signed token that proves who a user is.
- In-app purchases and SSO. SSO is single sign-on, like "Sign in with Apple." Cursor alone couldn't solve these. He combined answers from Claude, Gemini and Grok free tiers.
- Expansion. A Vietnam launch failed because no Zalo SDK was available. Zalo is Vietnam's dominant messaging app; an SDK is the code kit that lets your app talk to it.
His disclaimer is blunt. He lists App Store #1 category rankings, services with 100M+ downloads and a 5.2k-star GitHub project. His warning to beginners is that CS fundamentals still matter. In his words: "The more experienced you are, the more leverage you get from AI tools."
Where AI didn't help at all. Marketing. His honest takeaway is that development took 100 days thanks to AI, but marketing is still a crowded, hard fight.
A quick note on traction. At launch he said the user base was small. The website now claims 100,000+ users in 12 countries. The App Store listing doesn't yet show enough ratings for a score. I can't verify the website's number.
If you vibe-code this
WeConnect is the example here, not an audit subject. For any dating or chat app on Supabase, these are the checks I'd run:
- RLS on messages and matches. Row Level Security (database rules per row) should let only the two matched users read a chat. See Supabase RLS.
- Private photo buckets. Profile photos belong in private storage with short-lived signed URLs. See Supabase storage buckets.
- No "change the ID, read someone else's profile." Check ownership on every request. See IDOR authorization.
- Grant points only after server-side receipt checks. Never trust the app saying "purchase succeeded."
- Treat chat text as untrusted if an LLM translates it. See prompt injection.
A minimal RLS setup so only match participants can read or send messages:
alter table messages enable row level security;
create policy "participants read messages"
on messages for select
using (
exists (
select 1 from matches m
where m.id = messages.match_id
and auth.uid() in (m.user_a, m.user_b)
)
);
create policy "participants send as themselves"
on messages for insert
with check (
sender_id = auth.uid()
and exists (
select 1 from matches m
where m.id = match_id
and auth.uid() in (m.user_a, m.user_b)
)
);
Building a chat or dating app? I review vibe-coded Supabase apps for data-access holes before launch. Email [email protected] with your stack.
Key takeaway
WeConnect shows the real shape of a 100-day AI build. Cursor handled the UI and most of the code; the developer's experience carried notifications, payments, login and store review.
More case studies: Vibe-coded apps making money · The security checklist: Vibe coding security
Sources
- Show HN, "Built a Global Dating App in 100 Days Using Cursor ($20/Mo)" (December 12, 2025): https://news.ycombinator.com/item?id=46242358
- Post text via HN Algolia API: https://hn.algolia.com/api/v1/items/46242358
- App Store listing: https://apps.apple.com/us/app/weconnect-cultural-exchange/id6755277858
- WeConnect website: https://www.wctokyoseoul.com/ko