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:

  1. Post Anonymously: Share thoughts and feelings without creating an account or revealing any personal information. Each user is assigned a random, temporary ID.
  2. Engage in Conversations: Create new conversation threads or reply to existing ones, with all updates appearing live without needing to refresh the page.
  3. Offer Peer Support: Interact with posts through simple, positive actions like "Support" and "Relate," fostering a sense of connection and validation.
  4. 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.

  1. 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.
  2. 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:

  1. 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.
  2. 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.
  3. 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

  1. I am incredibly proud of building a fully functional, real-time application from scratch in such a short period.
  2. Successfully creating a truly anonymous experience that requires zero user sign-up is a core achievement that fulfills the project's primary mission.
  3. 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.
Share this project:

Updates