Ez1.in Services full stack ecommmerce platform development

A global brand entrusted us with a unique challenge: crafting an internal tool to share its brand story with every employee, from sales to product development. This wasn’t just about information – it was about forging a unified company culture.

Task

Building an internal tool of this scale is no small feat, but with the right approach, it can be a powerful force for uniting a company.

  • Strategy

    Brand Strategy, UX Strategy

  • Design

    UI/UX Design, Art Direction

  • Client

    Envato

Open Project

Project Overview

Ez1.in Services required a ground-up rebuild of a multi-vendor-adjacent ecommerce platform capable of handling a broad services-plus-products catalog, third-party logistics integration, and regional payment methods across mobile-first traffic in tier-2/tier-3 Indian markets, where average connection speeds and device capability are significantly below metro benchmarks.

Technical Stack

  • CMS/Commerce: WordPress + WooCommerce on a dedicated PHP 8.2-FPM stack behind Nginx, with OPcache and Redis object cache
  • Queueing: Action Scheduler extended with a custom priority queue for order processing, inventory sync, and shipment status polling, decoupling long-running tasks from the request/response cycle
  • Search: Algolia-powered instant search replacing WooCommerce’s default MySQL LIKE-based product search, indexed via a custom webhook on product save/update
  • CDN/Edge: Cloudflare with a custom Worker script handling geo-based currency/language routing before origin requests are made

System Architecture

The platform separates catalog management, order orchestration, and fulfillment tracking into loosely coupled modules communicating via WordPress hooks and a lightweight internal REST layer (custom namespace under ez1/v1). This allowed the logistics integration (shipment creation, tracking webhook ingestion, delivery status updates) to be developed and deployed independently of the core storefront without touching WooCommerce core order tables directly — all shipment metadata lives in a dedicated custom table joined to wc_orders via order ID.

Vendor/service-provider onboarding uses a custom role-capability matrix built on top of WordPress’s native roles API, giving service providers scoped access to their own listings, order queue, and payout ledger without exposing WooCommerce’s admin order screens wholesale — reducing both security surface area and support overhead.

Performance for Low-Bandwidth Users

Given the target user base, performance engineering prioritized total payload size and time-to-interactive on 3G/4G over raw Lighthouse desktop scores:

  • Critical rendering path reduced to a single inlined CSS block under 14KB (fitting within the first TCP round-trip) for the shop and product templates
  • JavaScript bundle split via dynamic import() so checkout-specific logic (address validation, payment SDK) only loads on the checkout route, cutting the shared bundle from 480KB to 96KB gzipped
  • Images served through Cloudflare Polish + Mirage-equivalent adaptive loading, with a low-quality image placeholder (LQIP) blur-up technique to avoid layout shift while data-saver connections load full-resolution assets progressively
  • Server Time to First Byte held under 200ms via full-page caching (LiteSpeed Cache) with ESI carve-outs for the cart count and account state, avoiding a full cache bypass for logged-in users

Payments & Regional Considerations

Payment integration supports Razorpay, UPI intent/collect flows, and COD with a custom risk-scoring hook that flags high-risk COD orders (based on pin code return-rate history and order value) for manual review before dispatch — implemented as a woocommerce_checkout_order_processed hook writing a risk flag to order meta, surfaced in a custom admin order list column.

Currency and pricing display account for regional tax handling (GST slabs varying by product category), computed server-side via a tax class mapping table rather than WooCommerce’s default flat tax class system, since the catalog spans categories with different GST rates (5%, 12%, 18%).

Data Integrity & Reliability

Order state transitions are handled through a finite-state machine layer wrapping WooCommerce’s default status system, preventing invalid transitions (e.g., shipped → pending) that were previously possible through race conditions between the admin UI and automated fulfillment webhooks. All webhook ingestion (from the logistics partner API) is idempotent, keyed on a signed payload hash stored in a dedicated dedup table with a 72-hour retention window.

Results

Post-launch metrics over the first quarter: checkout completion rate improved from 41% to 68%, average Time to Interactive on mid-range Android devices dropped from 7.4s to 2.9s, and order-processing latency (order placed to fulfillment-ready) dropped from an average of 6.2 hours to 47 minutes due to the async queue-based processing pipeline.

Back