Skip to main content

Çeşmebaşı: a safety-critical community platform for the Rhein-Main region

An in-house product where safety and data minimisation are product decisions, not settings bolted on later.

Challenge

Building a community app is technically modest — the real requirement was trust. People who join this one do not want to be found, measured or messaged. That forces decisions you cannot retrofit: who gets in at all, which data is never collected, and when a meeting point becomes visible. Reach as a success metric was deliberately ruled out.

Solution

Access is two-tier: an invitation from an existing member, then personal approval by the moderation team. Inside, there are interest circles for motherhood, career, books and newcomers, events with capacity limits and waiting lists, and a member-maintained city guide of Turkish-speaking doctors, services and shops. The safeguards are part of the product rather than an afterthought: meeting points are revealed only to confirmed attendees, a check-in backs up real meetups, and screenshots in direct messages raise a notification. Origin, religion and date of birth are never collected; data export and account deletion are self-service. Web, PWA and the native iOS app come out of one codebase.

Technologies

Next.jsTypeScriptPrismaPostgreSQLiOSSwiftVercel

Results

Two-tier access: invitation plus personal approval by moderation

Safeguards built into the product: check-in, meeting point for confirmed attendees only, screenshot notice

Data-minimising by design — no origin, religion or date of birth; export and deletion self-service

Native iOS app and PWA from a single Next.js/Prisma codebase, six Rhein-Main cities

Want to build something similar?