Michael Bromley
banner
michlbrmly.dev
Michael Bromley
@michlbrmly.dev
Creator of vendure.io. CTO at Elevantiq. Open source and stuff.
And overall the excitement is the far stronger feeling.

Today I'll be building more of the new @vendure.io dashboard at 10-50x the speed of my younger self. 🚀
July 25, 2025 at 6:40 AM
It fills me with both dismay and excitement 😂

Dismay at the "lost" hours, days, weeks.

Excitement at the realization that during that process I learned deep fundamentals that newcomers may now have little incentive or opportunity to master.
July 25, 2025 at 6:40 AM
The types flow instantly from your GraphQL document, right into your React code, with ZERO waiting on code generation.

Shout out to @jovidecroock.com & @kitten.sh for gql.tada which powers the magic that you see here 🙏
July 21, 2025 at 7:13 AM
And with our new Dashboard, we're leveraging GraphQL to help you build custom UI with speed and productivity you won't find anywhere else.

First post contains a clip of what it looks like to build a fully type-safe list view.
July 21, 2025 at 7:13 AM
But after seven years, I'm still glad we chose GraphQL.

The unmatched DX of Vendure would simply not be possible without it:

- Type safety from backend to frontend
- Extend any response with custom fields
- Dynamic, type-safe sort & filter on all list queries
July 21, 2025 at 7:13 AM
Not explored that yet. We have much simpler requirements for the back end part.
July 18, 2025 at 9:47 AM
Yes, of course we did, what else?!

github.com/vendure-ecom...
github.com
July 18, 2025 at 9:45 AM
In every case, no matter how ambitious my requirement - Vite made it positively *intuitive* to implement.

Bravo to @evanyou.me, @rich-harris.dev and the whole Vite team & community for producing this beautiful piece of software 👏
July 18, 2025 at 7:11 AM
➔ Automatic type safety from GraphQL _without_ a codegen step
➔ Auto-generated list & detail view based on your GraphQL queries
➔ Dynamic components that adapt to the exact data types in your custom schema
July 18, 2025 at 7:11 AM
In our case, we're using it to power our brand-new React-based dashboard. I've gone pretty deep building out some very cool Vite plugins that really make it feel magical to build UI extensions to your Vendure app.
July 18, 2025 at 7:11 AM
Look, I've been around a while & remember when we used to bundle with Grunt, then Gulp, then Webpack. So isn't Vite just an incremental take on what has gone before?

No - Vite has something that makes it magical. An absolutely sublime plugin API that feel like you can build *anything* with it.
July 18, 2025 at 7:11 AM
I don't always get this perfectly right, still. But I can promise you that for Vendure developers I am fighting to bring simplicity to the often complex and over-engineered world of enterprise commerce.
July 16, 2025 at 5:43 AM
It's all fun and games until, 6 months later, you need to debug something and proceed to spend 5 hours figuring out what the hell is even supposed to be happening here.

This message is brought to you by 7 years of hard-won lessons building @vendure.io
July 16, 2025 at 5:43 AM