BuildCycle
// REFERENCE PROJECT: COMMUNITY & EVENTS · MOBILE-FIRST PWA

NāM

A community platform for creatives on Koh Phangan, on its own infrastructure.

NāM is a co-creation space on Koh Phangan. The community needed a place for events, members and stories that does not feel like a SaaS funnel and keeps members’ data in its own hands. We built a mobile PWA where creatives and founders find events, discover each other in the directory, form groups, read stories and shop. Community app, admin and uptime monitor live in one Turborepo and were handed over for operation on the community’s own server.

NāM
Your community in Koh Phangan
✳
Community Events
Yoga to rave
✳
Real connections
People of the island
Join the community

Product illustration of the community app. The public app is currently offline.

Industry
Community and events, hospitality
Type
Mobile-first PWA + admin + monitor
Cycle
Full build
Stack
Next.js 16 · React 19 · Drizzle · PostgreSQL/pgvector · Turborepo
// THE STARTING POINT

NāM did not want another SaaS onboarding funnel but something that feels like an introduction at a dinner table. The brief: a community platform for the island that stays human, keeps members’ data under its own control and still does a lot: events with RSVPs and calendar subscriptions, a member directory, groups, editorial stories, a shop and a tidy admin. All mobile first and on its own infrastructure. A manifesto of ten principles set the frame, for example: only build what someone needs today, and treat members’ attention as their scarcest resource.

// WHAT WE BUILT
✓Events: listing, detail page, animated RSVP, community submissions and an iCal calendar subscription
✓Member directory with tag filters, featured profiles and AI-generated profile texts (OpenAI, quietly in the background)
✓Groups, connections and chat, plus an editorial story reader with its own typography
✓Shop with Stripe and Coinbase Commerce, product and order management
✓Admin: event management, user management, submission review, order tracking and audit log
✓Self-hosted stack on Hetzner: PostgreSQL with pgvector, MinIO uploads, PM2, nginx and an uptime monitor
// HOW THE PROJECT RAN
Phase 1
Goal and principles
We started by sharpening the manifesto with NāM. Ten principles settle every open question. Scope, data ownership and the island context were set: human, mobile first, on its own infrastructure, no feature without a real need.
Phase 2
Prototype and design system
Cream surfaces, deep-green text, warm orange, Epilogue over Sometype Mono. Tokens and shared components live in their own design system; the first tangible flow was home, events and RSVP.
Phase 3
Build in the monorepo
A Turborepo with community app, admin and monitor on one PostgreSQL base: directory with AI profile texts, groups, stories, shop with Stripe and Coinbase, MinIO uploads, sign-in via magic link and Google.
Phase 4
Launch and handover
Deployed to their own Hetzner server with a local build, rsync, PM2, TLS via nginx, health checks and an uptime monitor. With a runbook and the principles, NāM can run and extend the stack themselves.
Outcome
0
apps in one monorepo: community, admin, monitor
0%
built for its own infrastructure, with the data staying with NāM
Status and limits

Handed over with a runbook and the ten principles for NāM to run on its own server. The public app is currently offline (checked on 16 October 2026). Operation and availability are NāM’s responsibility, so we do not link to the app here.

NEXT PROJECT
EasyWear →

Want a platform whose data and servers stay in your hands? Describe your plan and get a first assessment of scope and timeline.