Skip to content
Social & MediaAndroidiOSWeb (admin)

DingDong

Short-video social app — camera-to-feed reels, live rooms and a creator coin economy

A Flutter short-video social app: an in-app camera records reels with a searchable sound library, a vertical feed carries hashtags, follow, like and comment, and a coin economy lets users recharge with card payments or native in-app purchase and gift coins to creators, who withdraw them — all behind a Node/Express/MongoDB backend and a Next.js admin console, with AI content moderation on every upload.

DingDong — app screenshot
DingDong — app screenshot
DingDong — app screenshot

All three repositories are private. The coin economy, the Socket.IO live-room layer and AI moderation on every upload are explained below.

About this project

DingDong is a TikTok-style short-video platform. Recording happens in-app — camera capture and on-device FFmpeg processing in the reel-creation flow — with a searchable, favoritable sound library for soundtracks, then publishes into a vertical feed with hashtags, search, and a follow/like/comment social graph. Every upload passes through Sightengine's AI content-moderation API on the backend before it's visible to anyone else.

A live-room layer sits alongside the feed: the backend's Socket.IO server handles joining a room, live chat, virtual gifting and viewer counts. The client-side video broadcast engine for that layer is not yet enabled, so the real-time social plumbing around a live session works while live video itself is not part of this release.

The coin economy is the most fully-wired part of the app: a recharge screen sells coin packs, and checkout supports card payments and native in-app purchase. Coins can be gifted to creators during a session, and creators file withdrawal requests that admins review and approve from the console. Mobile users sign in with Firebase Auth (Google Sign-In) or a device-identity "quick login" guest flow — there's no email/password screen anywhere in the app.

Built solo across three codebases: the Flutter client, a Node/Express/MongoDB/Socket.IO backend, and a Next.js/MUI/Redux Toolkit admin console (coin plans, gifts, withdrawal review, verification requests, reports, hashtags, currency settings) that also serves the app's public privacy, terms and child-safety policy pages. The backend runs its own FFmpeg pass on uploaded video.

Key features

  • Camera-to-feed reels: in-app recording, on-device FFmpeg processing and a searchable sound library, moderated by an AI content-moderation API on every upload
  • Vertical feed with hashtags, search, and a follow/like/comment social graph
  • Real-time live-room layer over Socket.IO — chat, virtual gifting and viewer counts
  • Coin economy: recharge with card payments or native in-app purchase, gift coins to creators, and creator withdrawal requests reviewed from the admin console
  • Firebase Auth (Google Sign-In) plus a device-identity "quick login" guest flow — no email/password screen at all
  • Next.js/MUI/Redux Toolkit admin console for coin plans, gifts, withdrawals, verification requests, reports and hashtag/currency settings, doubling as the app's public privacy/terms/child-safety policy pages

More in Social & Media

~/sherazi.dev$./say-hello

Say hello.

Questions about a case study, one of the packages, AI tooling or Flutter in general are always welcome.

// or browse the packages on pub.dev(opens in a new tab)