I Wonder Why Developers Keep Reinventing the Same Apps

2/17/2026·i-wonder-why·
...
I Wonder Why Developers Keep Reinventing the Same Apps

At some point, it hits you.

Another to-do app. Another notes app. Another habit tracker. Another chat app with a slightly different colour palette.

The internet is already full of these. Polished ones. Popular ones. Apps with teams and funding and years of iteration behind them.

And yet, people keep building them again.

Including me.


It’s rarely about the final product

On the surface, it looks pointless.

Why build something that already exists and works fine? Why spend weeks recreating features that someone else solved years ago?

But most of the time, the goal was never the finished app.

The goal was to understand something.

How state flows. How data persists. Why something breaks when you refresh the page.

The app is just the excuse.


Building something familiar lowers the cognitive load

When the idea is familiar, the brain is free to focus elsewhere.

You’re not stuck figuring out what the app should do. You already know. The uncertainty is removed from the what so you can focus on the how.

That makes repetition useful.

You can try a new framework without also inventing a new concept. You can test an architecture without worrying whether the idea itself makes sense.

Reinvention becomes a controlled environment.


Everyone builds the same thing for different reasons

Two people can build the same app and still be doing completely different work.

One is learning UI logic. One is figuring out backend flows. One is practising clean code. One is just trying to finish something for once.

From the outside, it looks redundant. From the inside, it’s specific.

The sameness is deceptive.


Reinventing is how personal style forms

I think this part gets underestimated.

When you build a familiar app, your decisions start showing through. What you prioritise. What you simplify. What you overthink. What you ignore.

Given the same problem, different developers solve it differently.

That’s how preferences form. How instincts develop. How you slowly learn what kind of developer you are.

You don’t discover that by only reading documentation.


Shipping matters more than originality at this stage

Early on, originality is overrated.

Finishing something teaches more than starting something clever. A complete, boring app reveals gaps you wouldn’t notice in a half-built novel idea.

Edge cases appear. Bad decisions show up. Technical debt becomes visible.

Those lessons don’t care whether the app was unique.


I don’t think developers reinvent the same apps because they lack imagination.

I think they do it because repetition is how understanding deepens.

Each rebuild strips away a layer of confusion. Each familiar project teaches something new, because the person building it is no longer the same.

The app may look identical from the outside.

But inside the developer, something has changed.

And that’s usually the point.