Swadesh Behera is an ecommerce developer with 12 years of experience designing and operating online stores, marketplaces and multi-tenant commerce systems. He writes about architecture, catalogue and search, payments, integrations, scalability and the operational trade-offs behind ecommerce platform decisions. Founding editor of CodeNx.
Ecommerce architecture, multi-store and multi-vendor systems Catalogue, search and inventory at large-catalogue scale Payments, shipping and marketplace integrations AI-assisted development workflows Cloudflare DNS, tunnels and Workers Self-hosted deployment on Linux VPS hosts Docker and Docker Compose operations Node.js and TypeScript
Writing here since 6 January 2026 · 28 guides
Swadesh writes CodeNx, a publication of short, tested engineering guides for
people who build and operate their own infrastructure.
Articles under this byline follow the CodeNx editorial rule: the commands are
run on a clean machine, the exact versions are recorded in the article’s
testedWith frontmatter, and every factual claim links to primary
documentation. Where something is version-sensitive or could not be verified,
the article says so rather than asserting it.
Give every tenant its own subdomain with automatic DNS and SSL — and the 526 → 404 → 403 debugging trail behind it, including an SSR fetch that quietly hairpins out through your CDN.
A freshly provisioned Ubuntu VPS accepts root logins with a password, so automated scanners start guessing credentials within minutes of the host getting a public IP address, and the auth log
Turn a diamond-ring request into a delivery-aware buying experience built on real catalogue, inventory, price and delivery data — and see where UCP fits.
Sharetribe speeds up rental, booking and service marketplace validation, but retail catalogues, multi-currency pricing and partial refunds hit a hard SaaS ceiling.
Feature checklists for Spryker vs commercetools miss the real split: licence and code access, integration limits, and operating model, not identical checkmarks.
Sylius's feature table hides where the free core stops and Sylius Plus's GMV pricing starts: verified module boundaries, architecture and a five-question PoC checklist.
Sylius, Shopware and Magento solve commerce differently — framework, subscription platform and forked suite. Compare licence, pricing tiers and version floors, not checkmarks.
Feature checklists show Vendure and EverShop as equals; license terms, storefront inclusion, admin UI maturity and B2B tier pricing show why they solve different jobs.
Platform upgrades break checkout, admin panels or search not from the core version bump itself but from plugin, schema and search-index contracts moving on separate timelines.
Does EverShop's single-language stack offset its small ecosystem? Verified pricing, architecture trade-offs, scoring and a five-question PoC checklist.
Why decoupling a storefront into CMS, search and checkout vendors multiplies preview gaps, stale search results, PCI scope creep and webhook duplication — and how to test for each before launch.
Keep the listener off the public internet, get pg_hba.conf right, require TLS for remote connections, and give the application a role that cannot drop your tables — on PostgreSQL 17 and Ubuntu 24.04.
Test, build a container image, push it to GHCR and deploy it to a VPS over SSH — with the concurrency guard, environment approval and token scoping that keep the pipeline from becoming the weak point.
A Meilisearch deployment that survives a real workload — master key handling, scoped API keys, the index settings you must set before loading data, snapshots, and what its memory usage actually means.
A working loop for running a coding agent on a real codebase — task scoping, branch isolation, tests as the contract, and the review discipline that stops unreviewed code reaching main.
Add Claude Code to a TypeScript repo you already have: a CLAUDE.md that matches your real build, permission rules that block dangerous commands, and a typecheck loop the agent runs itself.
Expose Docker services through Cloudflare with no inbound ports open — cloudflared plus Traefik, the forwarded-header setting that trips people up, and how to verify the firewall is closed.
Dokploy runs apps as Docker Swarm services, so rolling updates are already there — they just need a real health check and an update policy. Plus how to prove no request was dropped.
Ship a static or server-rendered Astro site to Cloudflare Workers with Wrangler — adapter setup, wrangler.jsonc, nodejs_compat, secrets, custom domains and the errors you hit on the first deploy.
A nightly backup for a self-hosted Docker host: database dumps taken with the right tools, file volumes snapshotted with restic, a systemd timer to run it, and a restore test that proves it works.
Both put a Heroku-style deploy UI on your own VPS, but on different container primitives. What that means for zero-downtime deploys, multi-server growth and the day the control plane breaks.
Diagnose which file descriptor limit you actually hit — container, daemon or kernel — then raise it properly, and work out whether the real problem is a leak rather than a limit.
SSH hardening, a default-deny firewall, and the fix for the problem that catches almost everyone — Docker publishing container ports straight past UFW into the public internet.
Create the A record, pick the right proxy status, set the SSL mode to Full (strict) and lock the origin so only Cloudflare can reach it — plus what errors 521, 522, 525 and 526 actually mean.
A production n8n install on Ubuntu 24.04 using Docker Compose, PostgreSQL and Caddy for automatic TLS — with the encryption key, webhook URL and backup steps most quickstarts leave out.