Hi,πŸ‘‹ we have updated the app and fixed multiple bugs. We are lacking funds, request to free user not to use Adblock. Ads are non intrusive. 😊

✨ Visual Editor

close

palette Canvas & Background

Gradient:arrow_forward
Text Color:
135Β°

style Card Style

40px
16px

text_fields Typography

16px
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
🧡 I stopped building my e-commerce UI with static HTML… and rebuilt it using JavaScript-driven rendering.

It slowed everything down but the learning payoff has been massive.

Here’s what changed πŸ‘‡
Thread image
Thread image
Thread image
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
1️⃣ Initially, I built everything the β€œsimple” way:
Static HTML for product info, images, cart, and layout.

It was fast.
It was clean.
It worked.

I could’ve finished the project quickly.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
2️⃣ Then I made a decision:
Instead of hard-coded UI, I started rendering everything with JavaScript.

No more static content.
Everything became data-driven.

Product info β†’ JS
Gallery β†’ JS
Cart β†’ JS
UI state β†’ JS
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
3️⃣ I introduced a real data model:

- product object (name, price, images, thumbnails)
- state object (current image, quantity, cart)

Now the UI was no longer β€œwritten in HTML”…
It was β€œgenerated from state”.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
4️⃣ I also grouped all DOM references into a single structure instead of scattered querySelectors everywhere.
Cleaner. More controlled. More scalable.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
5️⃣ Then came the shift in mindset:

I stopped thinking:
"Which element do I update?"
And started thinking:

"What does the state look like right now?"

That's a completely different way of building UIs.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
6️⃣ I built render functions like:

- renderProductInfo()
- renderThumbnails()
- renderCart()
+ updateQuantityDisplay()

Each function responsible for syncing UI with state.

Everything became explicit and intentional.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
7️⃣ The downside?

Speed dropped.

A LOT.

Because now I wasn't just building UI…

I was designing how UI behaves.
Every feature required:

state β†’ update β†’ render β†’ sync β†’ test
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
8️⃣ But here's what I realized:

Static HTML teaches structure.
JavaScript rendering teaches architecture.

I wasn't just building a page anymore.

I was building a system.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
9️⃣ The biggest win so far:
I accidentally started thinking like React.

πŸ”Ήstate-driven UI
πŸ”Ήrender functions
πŸ”ΉDOM as output, not source of truth
πŸ”Ήcomponents emerging naturally

I didn't plan that but it's happening.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
πŸ”Ÿ Final thought:

This shift slowed me down, yes.

But it also changed how I see frontend development entirely.

I'm no longer just placing elements on a page…
I'm designing how UI reacts to state.
Jacey || Frontend Dev πŸ‘¨πŸ½β€πŸ’»
@jacey_muna
Once this project ships, I'll rebuild it in React - not to "learn React", but to see what the framework abstracts away from what I built manually.

That's where the real insight will come from. πŸ’‘
Generated by Thread Navigator
100%
view_carousel Carousel Studio NEW
Press ⌘ + S to quick-export