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 đ