August 10, 2026
Self-initiated community management platform I built to solve real coordination problems — multi-service architecture with role-based workflows, event-driven notifications, realtime chat, and full DevOps pipeline.
Type: Self-initiated personal project to built for the Modheshwari community. Live at modheshwari.nerdev.in · Source github.com/NalinDalal/modheshwari
A community of 10,000-15,000 members was being run on spreadsheets, group chats, and manual follow-ups. Family records, event registrations, approvals, and announcements lived in tools that didn't talk to each other to so organizers spent their time chasing information and pinging people instead of serving the community.
The goal: one platform where the right people see the right things at the right time, specifically:
Designed and built the product end-to-end as a solo engineer, owning the architecture, backend, realtime infrastructure, data model, asynchronous workflows, and deployment.
The system was structured as a distributed, event-driven application spanning:
This wasn't simply a full-stack application with a backend attached. It involved designing and operating the underlying architecture needed to make a realtime, role-aware, event-driven product reliable in production: with full ownership from domain modeling through infrastructure and deployment.
A members-first community platform:
Building the features was the easy part. The hard part was making them keep working when a process crashes, a phone is offline, or a broadcast goes out to 5,000 people at once.
If a notification is saved to the database and the system crashes before the worker picks it up, the message is gone to and with 4 channels and thousands of members, "gone" means someone misses a funeral, a vaccination drive, or an approval deadline. A transactional outbox solves this: the message and the business change are written together in a single transaction, so a crash can never split them. Delivery is retried with backoff, and anything still failing lands in a dead-letter queue where it can be inspected instead of lost.
Blasting every message to every channel is expensive to SMS costs real money, and most people read in-app notifications within 5 minutes anyway. So the platform escalates instead: start with a gentle in-app notification, and only escalate to SMS (10 minutes) then email (40 minutes) if the member still hasn't read it. Members read what matters, organizers save spend, and nothing urgent slips.
Chat messages are saved before they're delivered, so a dropped connection never loses them. When members reconnect, they automatically catch up: pending notifications come back immediately, and missed chat messages sync with pagination and de-duplication. Reconnecting isn't a gamble to it's a resume.
Five levels to Member, Family Head, Gotra Head, Subhead, and Community Head to with approvals flowing upward and every role change written to an immutable audit log. Organizers can delegate without losing oversight, and sensitive changes are traceable.
The platform runs in production on AWS, deployed continuously from GitHub Actions with health checks, automatic rollback, automated database backups to S3, and Prometheus/Grafana monitoring. Four real production incidents (a build disk exhaustion, two Nginx resolution failures, a container crash) were root-caused, fixed at the architectural level, and written up as incident reports to the proper fix, not the symptom patch. The same care went into "it deploys and stays up" as into the features themselves.
| Metric | Value |
|---|---|
| Community scale | Designed for 10,000-15,000 members |
| Development period | Oct 2025 → present (production since Aug 2026) |
| Total commits | 567 |
| Total Pages | 29 |
| Lines of code | 26,953 |
| Total API Endpoints | 65 |
| Source Files | 189 |
| Notification channels | 4 (in-app, email, SMS, push) |
| Enqueue latency | ~10ms (async delivery) |
| In-app read rate | 70% within 5 minutes |
| Reconnect recovery | Up to 500 missed notifications per reconnect |
| Production stack | AWS EC2 · Nginx · Cloudflare · Docker · CI/CD with auto-rollback |
The platform is live with real workflows, a reliable event-driven core, and operating tooling to the kind of project that survives contact with production. Ongoing work: test coverage, an outbox replay UI, and a notification-preferences page.
Links: