It started as a typical university project. "Community Management System." The kind of assignment where everyone gravitates toward Java Swing and calls it a day.
I couldn't do it. Not because Java is bad — but because the thought of spending a semester building something I wouldn't use was unbearable.
I use Slack every day. I love how organized everything is. The layout, the compact message composer, the way information is structured without feeling cluttered. Everything feels polished and intentional.
I wanted to understand why.
So I decided to clone it. Not as a product — as a learning exercise. I called it "Elack" initially. Later renamed to Molly when people kept calling it a Discord clone.
What I learned about design
The most valuable part wasn't the code. It was understanding the decisions behind Slack's interface. Why channels work better than group chats for teams. Why the message composer is compact instead of expansive. How threading keeps conversations manageable.
I spent hours going through their UI, trying to match the spacing, the typography, the color usage. It sounds trivial, but when you're the one implementing it, you start noticing details you'd otherwise ignore. The exact padding around an avatar. The animation timing on a hover state. The way error messages appear and disappear.
The full stack
Next.js for the frontend, Express and Node.js on the backend, MongoDB for storage. Nothing unusual. The interesting part was making real-time messaging work reliably — handling connection drops, message ordering, and optimistic updates without confusing the user.
It's not live right now. A cluster incident took down the hosting and we're still working on recovery. But the codebase and the lessons are still there.
What I'd do differently
I'd spend less time trying to match pixels perfectly and more time on the features that actually matter — search, file sharing, permissions. The UI polish is satisfying but users notice substance more than spacing.
Still, if you ever get the chance to clone a well-designed product as a learning exercise, do it. You'll learn more about design and UX in two weeks than in a semester of theory.