Skip to main content

StrangEars

·873 words·5 mins
Pratham Dhyani
Author
Pratham Dhyani
Just someone who loves to code and be creative
Table of Contents

Building StrangEars: From late‑night chats to a live, anonymous listening platform
#

I didn’t start with a business plan. I started with conversations—long, honest, late‑night chats on Discord where strangers became friends. Over time, a pattern emerged: people often don’t need advice; they need a safe, private space to be heard by one attentive human. I talked about this with my long time friend, Sanyam and decided to make something which helps with this issue. We found out that most platforms were either general chat or group venting. I wanted one‑on‑one, anonymous, and safe. That’s how StrangEars began.

🍃 Turning the feeling into a product
#

The vision was simple: match someone who needs to vent with someone who’s willing to listen—privately, anonymously, and without judgment. That meant intentional constraints:

  • Text‑only chat to reduce misuse and keep focus.

  • Usernames instead of real names, with guidance to avoid real photos.

  • Always‑visible End Chat and a Report flow that captures the session ID for quick review.

  • Spam protection via rate limiting to prevent rapid‑fire floods and keep conversations readable.

🏃‍♂️The 3‑week sprint
#

My teammate and I worked closely on all aspects to make sure we were on the same page, may it be the design or the features. We chose a stack built for speed and clarity: React 18 with TypeScript, Tailwind, and Socket.IO on the client; Node/Express, Socket.IO and Redis for session logic on the server. I treated UX like guardrails: calm surface, obvious exits, and safety tools you can’t miss, and the UI like a welcoming mat: cozy and welcoming.

The first time we saw messages travel across our chat UI, it felt like proof the idea worked—not just the code. Early demos with friends validated the vibe we were aiming for: “cozy”.

🤖 Using Kiro (and learning to manage an AI teammate)
#

We had a 3rd teammate with us this time around!- Kiro (Amazon’s coding assistant) which helped accelerate implementation. It was undeniably helpful for scaffolding the real‑time chat loop, wiring Socket.IO events, and drafting Tailwind layouts we could refine. But it also needed a lot of supervision. We found ourselves repeating instructions—sometimes the same ones—so it would actually implement what we intended, and once it nearly deleted a large chunk of code during “cleanup” (thankfully it asked for confirmation and Sanyam caught it). The lesson: AI can boost productivity, but only with to-the-point prompts, small steps, and human review on every step.

What worked best with Kiro:

  • Small, directive tasks (“Add a Report modal that auto‑captures session ID and posts to /reports”) instead of broad requests.

  • Clear acceptance criteria (“Button always visible; modal blocks until reason is selected; server logs timestamp + session ID”).

🎨 Designing for safety over flash
#

We consciously avoided voice/video in the first version despite receiving that suggestion from quite some people. That decision shaped everything—from the compact message composer to prominent “End Chat” and “Report” controls. Rate limiting became a must‑have, not a nice‑to‑have: it keeps conversations humane, preserves attention, and blocks bot‑like bursts before they overwhelm a listener.

🌟 What changed me as a builder
#

Being my first major project, I got to learn about the importance of UI/UX. How important it actually is to think about the user while making your product. From the color to the illustrations, each element has subliminal impact on the users. Making sure the screen doesn’t look too bland or too much during any interfaces.

Teamwork is also an important takeaway for sure. There were multiple times when there were disagreements on designs but you should know when to back down and accept the suggestion and when to urge for a change when you feel it’s important to do what you are thinking. Apart from this I learnt about new frameworks and building tools like Tailwind and Vite.

The most important takeaway has to be that AI is more of a force multiplier and not an autopilot that can do everything by itself. It has a lot of areas of improvement but it certainly makes implementation and the tedious things easy to do.

🗨️ Thoughts and Conclusion
#

Venting is common. Everyone around us, be it friends or family vent with us and with each other. Sometimes that venting comes with a fear of judgement. Judgement of our views being ignored, rejected or misinterpreted. The people closest to us are often that make us feel that way. In some unfortunate cases they aren’t even there to listen to us. Something as simple and as common as venting has made me realize a lot of things hence this idea felt just right to me. This project can be treated as a tribute to all the friends I have made or bonded over on discord during those late-night venting calls when I would be venting (sometimes) or listening (mostly) to topics varying from minor inconveniences to conversations that changed me as a person. I hope this idea, if not the project, gets noticed more so that people are able to take thoughts off of their chest without the fear of judgement or rejection

A special thanks to my close friend and project partner Sanyam Chhabra for listening to my vents and making this project with me 💌