DEV Community

Vishwa Kumaresh
Vishwa Kumaresh

Posted on

MeraSociety — I Turned My Apartment Society's WhatsApp Chaos into a Real App

DEV Weekend Challenge: Community

This is a submission for the DEV Weekend Challenge: Community

The Community

I live in an apartment society in Bengaluru, India. 500 families. Multiple WhatsApp groups. Pure chaos.

This is not a hypothetical. Here's proof — straight from my mom's phone:

Buy and Sell Group

Announcements

Security Phone

The daily reality:

The Problem What Actually Happens
Lost announcements Committee posts important notice → buried under "👍" and "ok noted" within the hour
Security calls Guard's only workflow: call residents — "Sir, koi Ramesh Kumar aaya hai…" — at 2 AM, because your in-laws arrived a day early
Buy/sell nobody sees "Selling Samsung washing machine, 8000 rs" — scrolled past by 150 people, seen by 3. Who knows if someone sent a private DM??
Court booking wars Four people claim they booked badminton at 6 PM. Nobody has proof. Loudest person wins.
Home food, buried Neighbor's incredible biryani offer drowns between a parking complaint and a meme

Every apartment society in India with 50–500 flats runs on WhatsApp groups that were never designed for any of this. Tens of millions of families deal with this daily.

So I built the thing we actually need.


What I Built

MeraSociety is a private, verified community platform for apartment societies — one app that replaces the group chaos with structured workflows, AI agents, and real-time collaboration.

The core insight: people don't want to fill out forms. They want to type the same messy way they do in WhatsApp and have the system figure it out. So every major feature is powered by AI that bridges that gap.

Quick Overview — Every Pain Has a Proper Fix

Feature The WhatsApp Pain The MeraSociety Fix
Announcements Buried in 20 minutes Pinned, priority-tagged, seen tracking + threaded comments
Real-Time Chat One giant noisy group Multiple topic channels (General, Buy & Sell, Services, etc)
Bazaar Marketplace Listings vanish in minutes AI extracts structured listings from messy text; AI matches buyers to sellers
Security Passes Guard calls you at 2 AM QR-coded digital passes — guest shows code at gate, zero phone calls
Sports Booking "I messaged first!" fights Slot grid with enforced fairness via rubrics
AI Court Booking Manual slot hunting "Book badminton tomorrow evening" → confirmed booking in 2 seconds
Chat-to-Listing AI Selling messages get lost AI detects listings in chat → one-click post to Bazaar
AI Composer Admins can't write notices Rough notes → polished English + Hindi announcement
MCP Translation Half the society reads Hindi Model Context Protocol server for English↔Hindi translation
Admin Dashboard Volunteer admins overwhelmed Member management, approvals, full audit trail

🏠 Dashboard — Your Society at a Glance

Member count, active listings, pending security passes, today's bookings — all at a glance. Quick action buttons for the four things people do most. A live activity feed shows what's happening in your society right now.

📢 Announcements — Notices That Don't Disappear

Water tank cleaning notice? Pinned at the top, marked urgent with a red badge. Tracks comments (threaded) and seen count (admin knows who hasn't read it). Filter by all, pinned, or urgent. Still there weeks later.

💬 Real-Time Chat — Multiple Channels, Not One Firehose

Six topic channels in my society: General, Buy & Sell, Services, Food Corner, Sports, Maintenance. Every message shows sender's photo, name, and flat number. Mobile-responsive with a slide-out channel list.

But chat isn't just chat — it's where the AI agents live.

🛒 Bazaar — A Marketplace That Understands WhatsApp

Nobody writes structured listings. They type:

"Selling my 2 year old Samsung washing machine, 7kg, works perfectly. 8000 rs. DM me flat B-302"

AI extraction turns that into:

{
  "title": "Samsung 7kg Washing Machine",
  "category": "buy_sell",
  "price": 8000,
  "tags": ["electronics", "washing-machine", "samsung"],
  "condition": "good"
}
Enter fullscreen mode Exit fullscreen mode

One click → listing is live. AI matching on the buyer side: "looking for a washing machine under 10k" → relevance-scored results with reasons.

🔒 Security Passes

Pre-register visitors (Guest, Contractor, Delivery). Each generates a 6-character code + QR code. Guest shows it at the gate → guard verifies on screen → done. Status tracking: Active → Used → Expired → Cancelled. Everything logged.

🏸 Sports Booking — Fair, Provable, Argument-Free

Slot grid: pick a court, pick a date, book. We have enforced a 2-hour cap per flat per court per day. Browser dev tools can't bypass it. The database itself says no.

🤖 AI Agents — Natural Language → Real Actions

Three AI Agent workflows + MCP integration:

  • AI Court Booking Agent — type in the Sports chat channel:
User: "Book me a badminton court tomorrow evening"

🤖 Agent: ✅ Booked! Badminton Court A on 2026-03-03, 6:00–7:00 PM.
📊 Fairness: 1.0 hours remaining (max 2h/day per flat).
💡 Also available: 19:00-20:00, Tennis Court 18:00-19:00
Enter fullscreen mode Exit fullscreen mode

An agentic loop: natural language → database queries → booking insert → explanation.

  • Chat-to-Marketplace Agent — post "Selling my Samsung TV, 8000 rs" in Buy & Sell. AI silently detects it (confidence > 50%) and offers a one-click post to Bazaar. No form-filling.

  • AI Announcement Composer — admins type "water tank cleaning tmrw 10am-2pm no water sorry" → polished English + Hindi announcement, auto-suggested priority, pin recommendation.

  • MCP Translation Server/api/mcp/translate exposes translate_to_hindi, translate_to_english, detect_language as MCP tools. Any MCP-compatible client can discover and use them (AI Can Translate Searches from different languages into semantic searches on the same knowledge base).

👨‍💼 Admin Dashboard & More

  • Admin Dashboard — member directory, pending approvals, full audit log
  • Notifications — deep-linked alerts for listings, bookings, verifications
  • Feedback — bug reports + feature requests tracked open → in progress → resolved
  • Onboarding — invite-code gated signup → admin approval → full access

Demo


Code

🏘️ MeraSociety — Your Society, Connected

DEV.to Weekend Build Hackathon — Feb 28, 2026

A verified, private mini-social network for apartment societies — replacing chaotic WhatsApp groups with structured, searchable workflows.

Live Demo → | Read the Blog Post → | Watch on YouTube →

Quick Start

cd merasociety
npm install
npm run dev
Enter fullscreen mode Exit fullscreen mode

See merasociety/README.md for full documentation.

Github URL : https://github.com/Vishwa-docs/merasociety


How I Built It

The Stack

Layer Technology Why
Framework Next.js 16 (App Router) Server components + API routes + file routing in one project
Language TypeScript 27 routes across 14 pages — type safety isn't optional at this scale
Styling Tailwind CSS v4 Consistent UI, fast iteration, zero component library dependency
Backend Supabase Auth + Postgres + Realtime — no separate backend to deploy
AI Azure OpenAI (GPT-4o) Few-shot prompting for extraction, semantic matching, three agentic workflows
MCP Custom MCP Server Model Context Protocol translation server — tool discovery + execution
State Zustand 20 lines of code for the entire client-side auth store
QR qrcode.js Branded QR codes for visitor passes
Deploy Vercel Push to main → live

Database: 14 Tables

societies → members → announcements → announcement_comments
                                    → announcement_seen
                   → channels → messages
                   → listings
                   → visitor_passes
                   → courts → bookings
                   → notifications
                   → feedback
                   → audit_log
Enter fullscreen mode Exit fullscreen mode

Key Design Decisions

  • Invite-code isolation. Each society has a unique code. No code = no account. No "browse societies" by design — total data privacy per community.

  • Three roles. admin, resident, guard — each sees a different app. Permissions enforced at the application layer, not just hidden in UI.

  • Server-side fairness. check_booking_fairness() is a PostgreSQL function on every INSERT. I could've just disabled the button — but anyone with dev tools could bypass that. The database enforces the 2-hour cap. You can't cheat math.

  • Full audit trail. Every approval, verification, booking, announcement → logged with timestamp. Definitive answers when questions arise.

Seven AI Endpoints

Endpoint What It Does
/api/ai/extract Messy text → structured listing JSON (few-shot prompted)
/api/ai/match Natural language query → scored listing matches
/api/ai/summarize Long announcements → 1–2 sentence summaries
/api/ai/book-court "Book badminton tomorrow" → confirmed booking via agentic loop
/api/ai/chat-to-listing Chat message → confidence-scored listing detection
/api/ai/compose-announcement Rough notes → polished bilingual announcement
/api/mcp/translate MCP-compatible English↔Hindi translation server

What I'd Build Next

  • Voice-to-Listing — speak your listing, AI transcribes + structures it (huge for elderly residents)
  • Push notifications — the app only works if people open it
  • UPI payments — monthly maintenance collection
  • AI Community Pulse — scan chat + feedback to surface trending issues for admins

But honestly? Even as it stands, this is the app I wish my society had instead of hundreds of WhatsApp groups and a spreadsheet.


If you live in an apartment society and this resonated — hit ❤️ and share it with your society's WhatsApp group. The irony is intentional.

Built with love and the kind of frustration that only comes from living in an Indian apartment society.

NOTE : Since starting the development of this project, Supabase has been blocked in India. I have deployed it on Vercel so it should not be an issue, but in case you are unable to log in from an Indian network, I request you to use a VPN or change the DNS provider for supabase.co (As I did).

Top comments (4)

Collapse
 
jackbright profile image
Vishwa Kumaresh

Please reach out to me if you want to test the app and create an account. Or you can alternatively drop a message in this comment thread and I will create account (Please mention how I can reach out to you as well)

Thanks!

Collapse
 
deepak2056 profile image
Deepak Kumar

Very good implementation and use case for Indian Apartments. I am curious as to how is it being adopted in your society and what are some challenges you faced if any?

Collapse
 
jackbright profile image
Vishwa Kumaresh

Hi Deepak, I have reached out to my society admin to use this app (I built it over the weekend) and it will be reviewed in the next town hall meeting (April 1st week).

I do think there will be some challenges. For one, we need to tell people how the AI is deciding things such as who gets to keep the court. The other thing is getting people (Especially the elderly) to move to the application. Towards this, I was thinking of implementing something that can directly read messages from a particular WhatsApp group and make the posts and requests, and conversely anything posted on the website will be sent as a WhatsApp message if subscribed.

Thanks for the comment!

Collapse
 
deepak2056 profile image
Deepak Kumar

I agree. The challenges will be around adoption and accessibility. A follow up post with a experience of 1-2 months of use can be helpful in understanding challenges and solutions. Cheers for the future !!