2026 · Web apps

Zumelia

My own social product — Meet. Collaborate. Earn. Built as founder, not a client deliverable.

Role
Founder & builder
Outcome
A living product identity — collaboration and growth in one platform.
Stack
Next.jsSupabase AuthSupabase DBSupabase StoragePaystackGroqLiveKitVercel

Project overview

My own social product — Meet. Collaborate. Earn. Built as founder, not a client deliverable.

  • Product vision owned end to end
  • Social collaboration flows
  • Auth, data, and storage on Supabase
  • Payments via Paystack
  • AI features via Groq (server-side)
  • Realtime media via LiveKit
  • Live intro walkthrough

Problem

Build a social product where people can meet, collaborate, and earn — without bolting auth, storage, payments, AI, and realtime onto fragile one-off scripts.

Solution

Ship on Next.js + Vercel with clear service boundaries: Supabase for auth/data/storage, Paystack for payments, Groq for AI, LiveKit for realtime media.

Loading architecture…

Technology

  • Next.js

    Product UI, routing, and server orchestration

  • Supabase Auth

    Identity and sessions

  • Supabase (PostgreSQL)

    Persistent product data

  • Supabase Storage

    Media and file assets

  • Paystack

    Payment collection for earn flows

  • Groq

    Low-latency on-product AI

  • LiveKit

    Realtime collaboration / media

  • Vercel

    Hosting and deployment

Engineering challenges

  • Keeping API keys (Groq, payment secrets) off the client
  • Treating payment success as unverified until server confirmation
  • Separating relational data concerns from realtime media sessions
  • Iterating as founder while the product is still evolving

Engineering decisions

  • Why Next.js?

    Problem
    Need a product shell that can ship UI and server logic together on Vercel.
    Decision
    Next.js
    Options considered
    Separate SPA + API · Next.js App Router · Remix
    Reason
    Fits Vercel deployment and keeps product UI + server routes in one codebase.
    Trade-off
    Framework coupling — migrations later cost more than a thin SPA.
  • Why Supabase?

    Problem
    Need auth, Postgres, and storage without operating raw infrastructure day one.
    Decision
    Supabase (Auth + DB + Storage)
    Options considered
    Custom Node + Postgres · Firebase · Supabase
    Reason
    One platform for identity, relational data, and file storage with RLS patterns.
    Trade-off
    Vendor abstractions — deep DB edge cases still require SQL fluency.
  • Why Paystack?

    Problem
    Earn flows need reliable payment collection for the target market.
    Decision
    Paystack
    Options considered
    Stripe only · Manual transfers · Paystack
    Reason
    Strong regional fit and familiar checkout patterns for African markets.
    Trade-off
    Must harden webhooks and server verification like any PSP.
  • Why Groq for AI?

    Problem
    Product AI features need low latency without shipping keys to clients.
    Decision
    Groq (server-side)
    Options considered
    OpenAI only · Self-hosted · Groq
    Reason
    Fast inference suitable for interactive UX; keys stay on the server.
    Trade-off
    Provider lock-in risk — mitigated with OpenAI-compatible adapters.
  • Why LiveKit?

    Problem
    Collaborate/meet experiences need realtime media.
    Decision
    LiveKit
    Options considered
    Raw WebRTC · Agora · LiveKit
    Reason
    Purpose-built realtime media with clear token/room model.
    Trade-off
    Another moving part in ops — worth it vs building media infra.

Results

Public live product at zumelia.site with an intro walkthrough. Specific user/revenue metrics are not published here.

What I would improve

If rebuilding toward much larger scale: deepen caching and read-path design, harden rate limits/abuse controls, add stronger observability, review indexes/RLS, and ensure Paystack webhooks are fully idempotent. These are engineering priorities — not claims about current scale.

More projects

View all →