Inspiration
A chat messaging app such as WhatsApp always fails when it's used to run a building. In most Indian apartment societies, complaints about broken lifts and water cuts are posted in one group chat, buried under good morning messages within 30 minutes, and then posted again by the next frustrated neighbour. I wanted to help residents not just report problems, but actually see them get fixed. This would help the community members and the volunteers who run their building finally work together.
What it does
FlatDesk is a free web app that turns a building's messy WhatsApp group into a community board where every complaint is tracked until it's fixed.
- Admins register their building with an Excel sheet or a list pasted from WhatsApp, then share one invite link
- Residents join with their flat number and name, and post complaints with photos
- As you're filing a complaint, FlatDesk shows similar open complaints, so neighbours can add themselves to an existing one instead of posting it again
- Every complaint moves from Reported to In progress to Resolved, with updates from the admin
- Complaints open for three days are flagged, and the board shows the average fix time
- Announcements for events stay pinned, and anything can be shared back to WhatsApp in one tap
- Works in English and Hindi, and can be installed on a phone like an app
How I built it

The frontend is plain HTML, CSS and JavaScript, light enough for any phone. Firebase Cloud Firestore stores each building's data and updates every resident's screen in real time. With no backend server, Firestore security rules protect the data, and PINs and passwords are stored as SHA-256 hashes nobody can read. Residents lists are read with SheetJS and PDF.js, then a Cloudflare Worker sends them to Groq's vision AI, which reads messy sheets and photos. Firebase Authentication handles PIN recovery emails.
Challenges I ran into
While I was building the register feature, I ran into a major issue. At first, admins could only upload an Excel sheet, and I used SheetJS to read it. But real buildings don't keep tidy spreadsheets. Some lists had titles and notes above the columns, some had two people in one cell, flat numbers were written five different ways, and many societies still keep a handwritten register. SheetJS can only read what is clearly laid out in a sheet, so these lists either failed or came out wrong. To get past this limitation, I added Groq's vision AI, which can read photos of handwritten pages and clean up messy sheets. Calling the AI straight from the browser would have exposed my API key to anyone, so I built a Cloudflare Worker that keeps the key secret and passes the list to Groq. Now SheetJS reads the file first and the AI double-checks it. If the AI ever loses people from the list, FlatDesk ignores it and keeps the original, so no resident gets left out.
Accomplishments that I'm proud of
This was my first hackathon, and I'm proud that I stepped into territory I had never explored before. Before this week, I had never set up a live database or connected an AI to a website. Every time I hit a problem, I had to find a new tool that could solve it, learn how it worked and fit it into FlatDesk. I learned Firebase so every phone in a building updates instantly, Cloudflare Workers so my AI key stays safe, and Groq so the app can read even a handwritten register. Instead of letting the unknown stop me, I treated each new tool as a challenge to figure out. Going from knowing basic coding languages to shipping a real, working app in one week is something I never thought I could pull off :)
What I learned
I learned how to wield tools I had never touched before, such as Cloudflare Workers, API keys, live databases, password hashing and AI models. I learned by breaking things, reading errors and trying again until it worked. I also learned that building an app is about more than just code. I had to think from multiple different perspectives such as the admin and the residents. Most of all, this hackathon showed me that I can build something real on my own, and I'm leaving it with the confidence to take on even bigger projects.
What's next for FlatDesk
The first step is getting FlatDesk into real buildings, starting with my own, so I can learn from how actual residents and admins use it. Next, I want to add push notifications, so residents know the moment their complaint is fixed or a new announcement is posted. I also want to support more Indian languages like Tamil, Telugu and Marathi, so no resident is left out because of the language they speak. My goal is for FlatDesk to become the one place every apartment building turns to, instead of a messy WhatsApp group.
Built With
- artificial-intelligence
- cloudflare
- css3
- firebase
- firestore
- github
- groq
- html5
- javascript
- pwa
- sheetjs
Log in or sign up for Devpost to join the conversation.