Hey dev fam 👋
Today I’m dropping something wild — a project built straight from real-world needs, tested in the field, and wrapped in clean Node.js engineering.
Introducing ProblemPad: a community-powered problem-solving platform designed for neighborhoods, societies, and professional workers.
Think of it like a digital notice board + service marketplace + community hub… all merged into one clean experience.
And yes — it’s built with zero bloat, no GridFS, and an audio system running on pure MongoDB binary power. ⚡
GitHub Repo 👉 https://github.com/DeveloperPuneet/ProblemPad
🌟 What ProblemPad Solves
Let’s be honest — everyone has daily issues:
- Electrical faults ⚡
- Plumbing breakdowns 💧
- Device malfunctions 🔌
- Community chaos 🏘️
But the real chaos?
No unified place to report these issues and get them solved quickly.
ProblemPad fixes that with one simple idea:
Let communities report problems, and let workers respond instantly.
A platform where:
- Users post issues
- Workers provide solutions
- Communities stay organized
- Everyone saves time
🧩 Core Features (The Fun Stuff)
👥 User Accounts
- Mobile-based registration
- Two roles: Users & Service Workers
- Location-based community discovery
- Skill-tagged worker profiles
🏘️ Community System
- Create communities for buildings/neighborhoods
- Invite users by phone
- Real-time notifications for new problems
- Member and role management
🆘 Problem Reporting
- Text-based issue reporting
Audio Reporting 🎤
- Uses MediaRecorder API
- Encoded as Base64
- Stored directly in MongoDB as Binary/BSON
- No GridFS. No bulky pipelines. Clean and fast.
- Uses MediaRecorder API
Categorized issues (electrical, technical, plumbing, etc.)
🔧 Problem Resolution
- Workers get instant alerts
- Can provide solution remarks
- User confirms the fix
- Rating system to validate worker quality
🔔 Notifications
- New problem notifications
- Community invites
- Solution updates
- Auto-cleanup alerts
🧹 Auto-Cleanup System (Your DB Will Thank You)
A literal lifesaver:
- Solved + confirmed problems auto-delete after 30 days
- Runs via daily cron job
- Audio + problem data gets cleaned
- Keeps MongoDB lean and happy
cron.schedule("0 2 * * *", cleanupFunction);
Set it and forget it. 🛏️
🔊 Audio Storage — No GridFS Needed
This is where ProblemPad goes brrrrr ⚡
How audio is handled:
- Record using browser’s MediaRecorder
- Convert to Base64
- Store as Buffer/Binary inside the Problem document
- Serve via a
/problem-audio/:idroute
It’s lightweight, effective, and perfect for short community audio clips.
🛠️ Tech Stack (Simple but Powerful)
Backend
- Node.js + Express
- MongoDB + Mongoose
- express-session auth
- node-cron
- randomstring for unique IDs
Frontend
- Pug Templates
- Vanilla JS
- Responsive UI
- Dark-mode theme
Real-Time
- Socket.io for instant sync
📦 Installation
git clone https://github.com/DeveloperPuneet/ProblemPad.git
cd ProblemPad
npm install
Create .env:
SESSION_SECRET=yourkey
MONGODB_URI=mongodb+srv://...
Run:
npm start
Open:
http://localhost:3000
🗂️ Project Structure
ProblemPad/
│── controllers/
│── models/
│── routes/
│── views/
│── utils/
├── public/
└── app.js
Clean, modular, and scalable.
🧪 Why This Project Matters
ProblemPad isn’t just “another MERN project.”
It’s built for real people, with real needs, and solves real community problems.
This platform can be used by:
- RWAs
- Colonies
- Apartment complexes
- Small towns
- Service workers
- Maintenance teams
Even defense housing communities 👀
(Yes — it was originally built for one.)
🔮 Future Upgrades
- Mobile app (React Native / Flutter)
- Payment gateway for premium services
- Worker badges & ranking
- Real-time chat
- Advanced analytics
💬 Final Thoughts
ProblemPad isn’t just software — it’s community empowerment.
A tool for people to help each other, grow together, and solve problems with speed and clarity.
If you vibe with the mission:
⭐ Star the repo
🍴 Fork it
🛠️ Contribute
💬 Drop feedback
Made with ❤️ in India
By DeveloperPuneet