DEV Community

Jaine PS
Jaine PS

Posted on

๐—œ ๐˜„๐—ฒ๐—ป๐˜ ๐˜๐—ผ ๐—–๐—ฎ๐—ฟ๐—ป๐—ถ๐˜ƒ๐—ฎ๐—น ๐˜๐—ผ ๐—ฝ๐—ฎ๐—ฟ๐˜๐˜†, ๐—ฏ๐˜‚๐˜ ๐—œ ๐—ฐ๐—ฎ๐—บ๐—ฒ ๐—ฏ๐—ฎ๐—ฐ๐—ธ ๐˜„๐—ถ๐˜๐—ต ๐—ฎ ๐—ฆ๐˜๐—ฎ๐˜๐—ฒ ๐— ๐—ฎ๐—ฐ๐—ต๐—ถ๐—ป๐—ฒ.

Carnival broke our assumptions about software.
We almost built Loopa wrong.
Not because of code, but because of assumptions.

Initially, Loopa was designed as a general circular fashion platform. But we saw a unique window to launch during Carnival, where identity shifts fast, trust is contextual, and timing is everything.

The shift from โ€œGeneral Circular Fashionโ€ to โ€œCarnival Circular Fashion Modeโ€ wasnโ€™t a UI change. It was an architectural validation.
Because we chose structure over speed before scale existed, our system didnโ€™t blink.

Clothing exchanges arenโ€™t just โ€œstatusโ€ columns.
Theyโ€™re modeled as state machines, not simple CRUD flows. Each transaction moves through explicit states, with rules enforced in the service layer, never in the UI, never directly in the database.

Supabase is fully abstracted behind repositories.
Business logic lives in services.
Side effects, real-time updates and cache invalidation, run through an internal event bus.

Components donโ€™t talk to the database. Ever.
It might look heavy for something that started with Carnival.
But when people reinvent themselves overnight, systems canโ€™t afford to be vague.

The real MVP decision wasnโ€™t the stack.
It was choosing structure over speed before scale existed.
Carnival is chaotic by design. Software shouldnโ€™t be.

When have your architectural choices been the โ€œheroโ€ of a business pivot?

Top comments (0)