I built my own version of WhatsApp.
It may not be the "best" in the world, but it does exactly what I want it to do.
Features I wanted:
- Straightforward signup/signin — no complexity
- Username-based system (my phone number is private)
- Online presence, typing, recording, and upload indicators
- Direct text, voice, and image messaging
- Sent, delivered, and read receipts
- No unnecessary status updates (this isn't Facebook)
- Delete chats anywhere — no trace left behind
- Log in and out at will — no constant notifications
- Full account deletion with complete removal of data
I wanted a meaningful Christmas gift for myself — but not the usual.
Coming up with novel ways to enjoy myself is tough, especially since I'm not very social. I’ve seen too many Christmases, and I wanted this one to be different.
So I thought: what gift could bring out the "beast" in me?
The answer: building my own version of WhatsApp, with all the features I listed, built in just 2 days — from Dec 23rd to Dec 24th.
And yes I did it: started on 23rd Dec and finished on 24th Dec.
As Alex Hormozi said: "You don't become confident by shouting affirmations in the mirror. You become confident by having a stack of undeniable proof that you are who you say you are. Outwork your self-doubt."
I definitely outworked my self-doubt here.
Here's the stack I use:
On the frontend:
- TanStack Router
- Socket.io-client
- shadcn/ui + tailwindcss
- react-voice-visualizer + wavesurfer.js
- Axios
On the backend:
- Fastify
- Socket.io
- MongoDB
- Cloudinary
- Zod + zod-to-mongo-schema
- bcryptjs
- Dicebear
Absolutely.
It pushed me, challenged me, and yes — it brought out the beast in me, which I'm still trying to tame 😂.
Wishing you all a Merry Christmas and a graceful, happy New Year.