How We Helped a Luxury Watch Community Go Independent and Safer

Learn how we designed and built a luxury watch community with a Rails-based MVP, real-time chat, role-based moderation, and KMP mobile — with P2P kept off-platform.

alt post cover

Luxury watch trading thrives on trust and a strong community of enthusiasts, not just speed or clear communication. Facebook groups limit that community experience: threads that once structured discussions are gone, you have to split into many separate groups with similar goals, and the platform lacks watch‑specific tools like auctions tailored to how luxury watch traders actually work.

The client saw a better path. They chose to move a 4K+-member group to a dedicated community platform on the web, iOS, and Android, with real-time chat and zero custody of funds, to reduce compliance risk.

The Challenge: Real-Time Community, Strong Moderation, No Payment Custody

Our client needed a partner to build the product from scratch on a tight timeline, with Kotlin Multiplatform chosen to support a cross-platform app. The goals were clear and non-negotiable:

  • Keep the UX familiar and fast for seamless migration from Facebook.
  • Ship real-time chat without the weight of a full SPA.
  • Enforce Trust & Safety with roles, pre-moderation, strikes, and verified dealers.
  • Stay out of payment custody; allow P2P coordination off-platform and use subscriptions for premium.

The mission: give members a home that feels familiar, but runs by their rules — a shared platform where multiple watch communities can come together and grow into a central hub for discussion and culture.

From Zero to Platform in ~5 Months

The real challenge was not speed, but building an experience good enough that watch enthusiasts would actually leave familiar Facebook groups. We started with a one‑month inception to lock scope and architecture around “Facebook‑level comfort with better tools,” then ran short sprints to ship an MVP across web, iOS, and Android that felt like a credible, if not better, home for these communities.

Zero Sprint & Discovery

We ran a focused one-month inception to kill ambiguity and lock a buildable MVP.
Together we produced:

How We Helped a Luxury Watch Community Go Independent and Safer img 2 scaled development

  • A Functional Requirements document with a clear scope.
  • Full-app wireframes and several design concepts for the client to choose from.
  • A CI/CD pipeline with smoke tests and a biweekly demo cadence.

This rhythm kept decisions quick and rework to a minimum. We captured ~20 demo recordings to document choices and de-risk the next sprints.

Community MVP: Post, Chat, Moderate

We built what your members and moderators need on day one:

How We Helped a Luxury Watch Community Go Independent and Safer img 3 scaled development

  • Accounts & Profiles.
  • Posts & Feed with a familiar, Facebook-style layout.
  • Real-time chat — DMs and group chats (~300 people), plus notifications.
  • Moderation/Admin — roles, pre-moderation queues, strike system, verified reseller/dealer badges.

Web App: React
Chat: React and CometChat to keep messaging responsive.
Backend: Ruby on Rails + PostgreSQL on AWS.
Mobile: Kotlin Multiplatform (KMP) shared logic with SwiftUI (iOS) and Kotlin (Android) UIs to ensure consistent behavior across both platforms.

Expanding the Vision: Staged Rollout & Premium

Next steps focus on a smooth migration and sustainable growth:

  • Focus on smooth migration and sustainable growth — the rollout to the original Facebook cohort has already been completed successfully, with over 2,000 real users on the platform and around 200–300 daily active users — exceeding the client’s initial expectations. 
  • Premium subscriptions will be available after the iOS launch.
  • Operational analytics so moderators see trends, throughput, and repeat offenders.

Team & Process: Cross-Functional, Transparent, Fast

A 9-person team drove delivery: PM, BA, UI/UX, Backend, Frontend, Kotlin, iOS, Android, 2 QA. We worked in short sprints with biweekly demos, clear hand-offs, and documentation that your team can own.

Overcoming Roadblocks

Real-Time UX Without a Heavy SPA

We kept the web app server-driven and scoped React to chat. You get fast loads, simpler caching, and lower upkeep.

Trust & Safety at Scale

We implemented role-based controls, pre-moderation, and a strike system, plus reseller verification. Moderators get practical tools and basic analytics to keep the community clean.

Cross-Platform Consistency

KMP shares domain logic across iOS and Android.
SwiftUI and Kotlin deliver native UIs with the same behavior — fewer surprises and faster iteration.

Payments Separation

The platform never holds funds. Members coordinate P2P off-platform, while subscriptions unlock premium — less compliance drag, more focus on community value.

Frictionless Migration From Facebook

We mirrored familiar patterns, added listing presets, and enabled DM from a post. Members feel at home on day one.

Results: A Stable, Trust-First Community Platform (Pre-Release)

How We Helped a Luxury Watch Community Go Independent and Safer img 4 scaled development

  • Team structure and planning stayed predictable — even as the product vision expanded. Instead of freezing the scope, we kept the team size and composition dynamic, continuously adapting to new ideas and requirements while maintaining the overall ~5‑month timeline (1‑month inception + ~3.5–4.5 months build).
  • Transparent progress~20 demo recordings, FRD, architecture notes, and Figma keep everyone aligned.
  • Lower TCO — server-driven web avoids SPA bloat; React is isolated to chat.
  • Risk under control — no custody of funds; moderation and verification strengthen safety.
  • Migration-ready — the 1.7–1.9K-member Facebook group serves as a natural seed cohort.

Why this matters for your community

You keep ownership of the audience and data. You set the rules. Your members get a fast, familiar experience with stronger safety and a roadmap that serves your brand, not an algorithm.

You may also find interesting

Contact us

By submitting request you agree to our Privacy Policy

By submitting request you agree to our Privacy Policy

Contact us

By submitting request you agree to our Privacy Policy