Work
- Drupal 10
- Commerce
- Nova Poshta
- CI/CD
Kyivsad — Drupal Commerce e-shop, full-stack ownership
What we shipped
Key outcomes
- Decade-long engagement: built the original D7 e-shop in 2015–16, rebuilt on Drupal Commerce in 2021, still maintained
- 28+ custom modules: cart, pricing, product variations, Nova Poshta, one-click, CRM-style order layer, merchant feed
- Full-stack ownership: Bitbucket CI/CD with dev + prod environments on self-managed Netcup VPS — build and run
- 21K uniques + 265K pageviews in May 2026 MTD; 6.13 pages/visit, peak spring planting season (AWStats)
Kyivsad is a long-running Ukrainian online nursery — saplings and garden plants. We've been the engineering team behind it for a decade. The first build, in 2015–16, was a Drupal 7 e-shop with a custom cart on the basic_cart module and a long tail of sapling-specific commerce rules: closed vs. open root-system variants, wholesale and retail price tracks, and a custom catalog layout.

basic_cart, sapling-specific rules for root-system types and wholesale/retail pricing.In 2021 we rebuilt the platform on Drupal Commerce — the current generation of the site. It's since moved on to Drupal 10, and we still maintain it. The codebase carries 28+ custom modules around the commerce flow: product variations for the root-system types, pricing overrides for retail/wholesale, cart and admin-order extensions, a custom CRM-style order layer, a merchant feed export, plus integrations — Nova Poshta for delivery and one-click ordering for the lighter checkout path. The whole pipeline runs on Bitbucket CI/CD with separate dev and prod environments deployed onto a self-managed Netcup VPS — we build the site and we run the servers it sits on.


Recent traffic — May 2026 month-to-date, through May 19: 21,363 unique visitors, 43,192 visits, 265,122 pageviews, ~154 GB bandwidth on the Netcup VPS. The 6.13 pages per visit ratio is real catalog-browse depth; peak days run ~7,000 visits during the spring planting window, and the infrastructure handles the seasonal ramp without intervention.


Got a similar build in mind?
Tell us about the platform, the constraints, and the timeline.
- Reply within one business day, weekday hours UA / EU.
- 30-minute discovery call when it is useful.
- Scope written around deliverables, risks, and ownership.