Inspiration The inspiration for Humee comes from a deeply personal place. I went through a period of depression and realized that one of the hardest parts was the feeling of isolation. I was scared to share what I was going through with anyone, fearing judgment or dismissal, especially in a community where mental health isn't always seen as a real or serious issue. I know that countless others face the same struggle, bottling up their feelings because they don't have a safe outlet.
I built Humee to be the space I wished I had: a completely anonymous, judgment-free platform where anyone can share what's on their mind and find quiet support from others who understand.
What it does Humee is a real-time web platform that allows users to:
- Post Anonymously: Share thoughts and feelings without creating an account or revealing any personal information. Each user is assigned a random, temporary ID.
- Engage in Conversations: Create new conversation threads or reply to existing ones, with all updates appearing live without needing to refresh the page.
- Offer Peer Support: Interact with posts through simple, positive actions like "Support" and "Relate," fostering a sense of connection and validation.
- Ensure Safety: A simple, one-click "Report" button is available on every post to flag content for review, helping to maintain the community's safety.
How I built it I chose a simple, robust, and scalable tech stack to bring this idea to life quickly and effectively.
- Frontend: The entire user interface is built with HTML5, CSS3, and Vanilla JavaScript. I intentionally avoided heavy frameworks to keep the website lightweight, fast, and accessible.
- Backend & Database: I leveraged Google Firebase, specifically Firestore, as my backend. This was a crucial choice, as Firestore's real-time database capabilities power the core live-updating feature of the website, allowing conversations to flow instantly.
Challenges I ran into During the hackathon, I faced a few key challenges:
- Ensuring UI Stability: With data streaming in real-time, I initially ran into issues where the UI would flicker or duplicate event listeners on buttons, causing unpredictable behavior. I solved this by implementing a strategy to clone and replace elements before adding new listeners, ensuring a smooth and stable user experience.
- Data Structure Design: I had to carefully design my Firestore data structure to allow for efficient querying of threads and their replies. This involved creating a specific composite index in Firestore to sort conversations by timestamp while filtering for top-level posts.
- Balancing Anonymity and Safety: My biggest conceptual challenge was creating a space that was both completely anonymous and safe. I decided that a simple reporting mechanism was the best first step, allowing for community-driven moderation without collecting any user data.
Accomplishments that I'm proud of
- I am incredibly proud of building a fully functional, real-time application from scratch in such a short period.
- Successfully creating a truly anonymous experience that requires zero user sign-up is a core achievement that fulfills the project's primary mission.
- Seeing the live-update feature work seamlessly for the first time was a huge moment, proving that my architecture was sound.
What I learned This project was a significant learning experience, both technically and personally. I gained a much deeper understanding of how to manage real-time data streams with Firestore and manipulate the DOM efficiently without a frontend framework. More importantly, I learned that a personal vulnerability can be the seed for a project that has the potential to connect and help people on a meaningful level.
What's next for Humee The vision for Humee doesn't stop here. I plan to:
- Develop a more robust admin panel to effectively review and manage reported content.
- Introduce a search functionality to help users find relevant conversations.
- Explore more nuanced interaction options to deepen the sense of community and support.
Log in or sign up for Devpost to join the conversation.