Engineering at Bazaar Technologies
I spent about a year at Bazaar across two roles. Most of that time ended up being focused on performance and SEO, mostly because things weren’t scaling the way we expected. Pages were slow, search visibility was limited, and there were a lot of small inefficiencies that didn’t seem like much individually but added up quickly.
A big part of the work was around Core Web Vitals. LCP was sitting at ~4s on desktop and ~7s on mobile, which is pretty bad for an e-commerce platform. Getting it down to ~2s on desktop and ~2.3s on mobile wasn’t just a matter of lazy loading images. It required rethinking rendering strategy, how assets were loaded, and how caching was set up across the stack. INP also needed work; we got it from ~243ms to ~92ms on desktop, which made the pages feel noticeably more responsive.


The SEO side was interesting. Organic clicks went from around 875/month to ~30K/month, and impressions from ~44K to over 2 million. A lot of that came from fixing how pages were structured and rendered, making them more crawlable and removing bottlenecks that were slowing down content updates. It’s one of those things where the individual fixes seem small, but they compound.

CDN costs were higher than they needed to be. We moved to CloudFront, added a Lambda@Edge image resizing pipeline, switched to AVIF/WebP, and tightened up caching on both the client and server side. Costs dropped by around 75%. I also built an AWS WAF bot-filtering system to replace some fragile user-agent matching that kept breaking. The new approach used rule-based detection and was a lot more reliable, while still letting legitimate SEO crawlers through.

One thing I realized pretty early is that you can’t really improve what you can’t see. We built a real-time web vitals monitoring pipeline with Grafana dashboards, segmented by page type, so we could actually track the impact of changes instead of guessing. That made a big difference in how fast we could iterate. Around the same time, we fixed a content upload bottleneck that was limiting the team to ~30 products per day, and after the changes they could do 500+.
In the Senior role, I shifted to the data side. There was an Apache Airflow ingestion pipeline that was taking 3 hours to run, mostly because it was scraping pages instead of using structured API access. After the transition, it ran in 50 minutes. Not glamorous work, but it had a real impact on data freshness across the platform.