Building Ente's Design System

April 02, 2026

It's been over 6 months since I joined Ente as a designer. Long before actually working on a design system, they have always been something I'd admire from a distance. I used to scroll through Behance and Dribbble, at awe how clean and satisfying everything looked. The moment I started actually building one, things fell apart fast. Edge cases I never considered started showing up everywhere. I'd go back to fix something and realize the fix only worked if I ignored three other things. The Ente design system went through more iterations than I'd like to admit. I had no idea what I had no idea about, but eventually, I started understanding why design systems that are actually used in production look so "boring".

It started with Ente Locker. I was given complete freedom, visual, UX, everything. And I was excited. As an intern, I got to design an entire (albeit simple) app from scratch. I poured my heart into it and very unsurprisingly I didn’t do a great job. No design system, no real consistency in mind, just me making decisions that felt right in the moment. It was only when I put all the screens together that everything started falling apart. There were no rules, and it showed.

Then came the phase where we had to go back and make everything consistent. I hated it. Not because the work was hard, but because I kept running into decisions past-me had made and wondering how I hadn't noticed. On a positive note, getting embarrassed by your own work means you're learning.

Locker went through three dev iterations (sorry developers :P) and countless design iterations. The more complicated the flows got, the more difficult it became for me to keep up. That’s when the idea for having a system came up.

The one thing that survived every iteration of Locker was rounded corners. They felt friendly, approachable, way less cold. Rounded buttons were the very first component I made. I copied an entire button variant from an old design system, added rounded corners to it, and called it a day. I had no idea how components in Figma actually worked back then, but I was enthusiastic, which counts for something.

New, rounded buttons

The design system got put on hold for a while. I moved on to designing other UX flows, making new components that roughly followed a system without really being one. When we came back to it a month or two later, it felt smooth at first. I already had several components ready — I just copy-pasted them in. Easy.

Then I had to learn how variants worked. I watched videos, looked at other design systems, and understood nothing. It took me an embarrassingly long time to get them right. Things got messier when I had to build components out of other components. It was all driving me a little nuts. I was relieved when it finally started making sense.

Until I realized I wasn't using any colour variables or text styles.

I had been avoiding it. The old codebase had hundreds of colour tokens and so many text styles that it felt overwhelming to even look at. But I had to bite the bullet eventually. So I sat down, figured out the colours and text styles, without any naming convention at first, and started using them across components. Which immediately made everything confusing, because I had no idea which colour I'd used for what. I had to go back and fix the names.

At some point I genuinely felt unstoppable. Like I had figured out design systems. Like I’ve overcome the hardest part. I went back to designing UX flows with the basics in place, and it felt (really) good to be using your own components. Until a new problem showed up. Every time I was working on a new flow, I couldn't find the right component. So I'd go back to the design system to either make it or add a variant to something existing. I kept thinking there'd be a point where I'd have everything I needed. That point never came.

My seniors suggested a smarter way to go about it, pick a popular design system, go through all its components, and build whatever made sense for our app. And so I did that. Would I say our current design system is completely fail-proof? Absolutely not. But it is at a stage where it works.

Ente Design System

While I don't have any concrete learnings to share, I do want to give credit to Figma's recently shipped feature that lets AI agents make changes directly inside your file. It's genuinely useful, and also the kind of thing that can quietly make a mess if you're not paying attention. I also stopped looking at Dribbble or Pinterest for design system inspiration. The ones worth learning from are the boring ones, Material, Carbon, Atlassian. They're not flashy because they've been through too much real usage to afford to be. That's exactly why they're good.

One thing I know now is that a design system is never really done. You'll always feel the itch to go back and change something, add something. And that's perfectly fine.