Skip to content
CO
All projects

Case study

Zit Mall

An e-commerce platform for electronics and home appliances, handling real orders and payments.

  • Live

The problem

An electronics and home-appliance retailer needed one platform to sell its own stock alongside third-party vendors, on the web and in mobile apps, with delivery and payment rules that differ by location.

What I built

  • Product catalogue and categories
  • Cart and checkout
  • Pay on delivery and bank-transfer payments
  • Order management
  • Third-party vendor marketplace
  • A versioned REST API serving the customer and delivery-driver mobile apps

My role

Sole developer of the Django platform since April 2024: storefront, checkout, vendor tools, the mobile API and the production infrastructure.

Tech stack

  • Python
  • Django
  • Django REST Framework
  • PostgreSQL
  • Coolify on Hetzner

Technical challenges & decisions

  • SEO for a large catalogue

    Consolidating fragmented category URLs, controlling crawlable filter/facet URLs, and adding proper H1s and Open Graph metadata.

  • Moving to self-managed infrastructure

    Migrating the live store to a self-managed Hetzner VPS with Coolify, as the pilot of a wider consolidation of 20+ sites from Render, Railway and Vercel.

  • Query performance

    Eliminating N+1 queries with select_related and prefetch_related (for example, product thumbnails in the mobile app's search suggestions), with tests that cap query counts so a regression fails the build.

  • One source of truth for payment rules

    Pay on delivery is only allowed where we deliver ourselves, and some items must always be prepaid. Those rules had drifted between the web checkout, the mobile API and front-end JavaScript, so I moved them into one module the API also exposes, letting the app grey out the option up front instead of failing at submit.