Push.bike
Push.bike is a UK-based e-commerce platform tailored specifically for independent bike retailers, enabling them to seamlessly launch and manage their online stores. Leveraging the headless e-commerce framework Lunar, we built what’s essentially “Shopify for bike retailers” with a user-friendly, block-based drag & drop page builder and powerful theming capabilities, helping them effortlessly create distinctive storefronts aligned with their brand identity.
However, unlike Shopify, Push.bike out of the box integrates with point-of-sales, warehouse stock management and product information management systems, providing a complete platform for managing everything from product catalogs and inventory tracking to shipping - transforming how easily and quickly bike retailers can set up their ecommerce stores and start selling online.
We are responsible for
Scope:
Dedicated Agile Team
Team:
8 People
Duration:
January 2024 - Ongoing
Challenge
Push.bike was growing rapidly, with more independent bike retailers joining the platform and new markets opening up. However, their existing e-commerce SaaS solution - built initially on raw PHP - was reaching its limits. Accumulated technical debt and the lack of multi-tenancy made further scalability painful requiring lots of manual work both for setup and maintenance of the stores. An attempt to rebuild the platform (v2) with another provider also fell short due to unsupportable, incomplete code.
Push.bike needed a robust, next-generation platform capable of smoothly scaling alongside their ambitious business growth plans, supporting multi-tenancy to cater for various retailers, and delivering a seamless e-commerce experience. They approached us to thoroughly audit their existing codebase and determine whether v2 could be salvaged or if an entirely new, future-proof solution was necessary.
Solution
After auditing the codebase, we concluded that the v2 platform codebase was beyond saving. Core features like multi-tenancy were missing, the admin panel was broken, and the code was riddled with anti-patterns and security vulnerabilities. There was no path to scaling or stabilizing the product.
So we started fresh. Using a Laravel-based stack - Tenancy for Laravel, Lunar for eCommerce, Filament for both central platform management and tenant eCommerce management, and Nextjs for completely dynamic, blazing-fast and visually stunning storefronts - we delivered and launched the next gen platform.
It includes everything from advanced theming and core integrations to product catalog, stock, shipping, and order management, payment and finance provider integrations, marketing and promotions toolset, analytics dashboards, you name it.
The result is a stable, scalable platform that lets retailers launch, manage, and grow their online stores without technical hurdles or overwhelming manual work.
Retailer Onboarding Flow
We built a streamlined, multi-step onboarding wizard that allows new retailers to set up their store in under 15 minutes - no technical knowledge required. It all starts with an invitation: Push.bike’s team creates a pre-filled invite with the retailer’s domain and contact info, triggering an email with a setup link.
From there, the onboarding flow guides retailers through selecting their ePOS provider, registering all physical store locations, choosing a visual theme, uploading logos, picking fonts and color palettes, configuring payment and finance options, and finally assigning a responsible admin. Once completed, the retailer’s storefront is ready to go - fully branded, configured, and published. What once required manual setup by Push.bike’s internal team is now an intuitive, self-service flow.
Custom Theme Builder
We built a powerful theme builder available to both platform admins and individual retailers. From the central admin panel, the Push team can create and configure default themes, defining fonts, color palettes, and header/footer layouts. Each theme comes with default pages like Home, Product, and Contact and can be populated using a library of 100+ reusable UI blocks.
Retailers can select a base theme during onboarding and further customize it to match their branding. These edits are isolated to the retailer’s store, preserving the integrity of the master theme. From their admin panel, retailers can also fine-tune SEO meta content for each page, add or edit pages while getting real-time updates in live preview, and build fully custom layouts using the same rich UI block library. Central administrators (Push team) can access retailer dashboards as technical users to provide support or implement changes on their behalf - ensuring flexibility, customization, and scalability at every level.
Product Catalogue Management
Push.bike’s product catalogue is tightly integrated with retailers’ existing EPOS and inventory management systems, syncing real-time stock data directly into the platform. This allows retailers to maintain an accurate, up-to-date product inventory without duplicating effort or introducing manual errors.
Beyond stock levels, the system also fetches rich product metadata - like description, size, color, geometry, weight, etc. - via a dedicated product information management system integration. These integrations ensure that each product listing is detailed, consistent, and ready for storefront use without manual involvement.
To handle occasional gaps or inconsistencies in the source data, the platform includes built-in workflows for identifying and resolving issues with product information. Products with missing or incomplete data are automatically flagged as “Uncategorized”, as well as highlighting what kind of information is missing for the product and retailers are guided through intuitive admin panel flows to review, categorize, and enrich those listings - keeping the catalog clean, reliable, and ready to sell.
Flexible Checkout & Payment Integrations
Push.bike is built to support a wide range of checkout flows, accommodating the diverse financial preferences of UK-based bike shoppers. From direct payments to finance providers and government-subsidised cycle-to-work programs, the platform provides seamless, flexible options to complete a purchase.
The system integrates with major payment and financing providers like Klarna, Stripe, PayPal, Worldpay, Novuna, and V12 - each implemented using a unified, extensible driver pattern to ensure consistency and maintainability. Customers can also apply coupon codes to receive discounts during checkout, and retailers can easily configure and manage these promotions from the admin panel.
Additionally, Push.bike supports the UK’s Cycle2Work scheme, allowing eligible buyers to redeem a state-subsidized code at checkout and significantly reduce the upfront cost of a bike purchase. With these combined tools, the platform empowers retailers to offer frictionless, accessible shopping experiences for every type of customer.
Advanced Cart Management
Push.bike offers a powerful cart experience that goes far beyond the basics. In addition to a standard shopping cart, users can create Saved Carts - reusable, shareable, and fully actionable at any time. Saved carts can be shared via link, instantly populating another user’s cart with the same items.
If any product in a saved cart goes out of stock, users receive real-time notifications. For added flexibility, carts can also be exported and repurposed for UK-specific financing flows like the Cycle2Work program.
Dynamic Form Builder
Push.bike includes a highly flexible form builder, allowing retailers to create any type of form - no code required. Whether it’s a simple feedback form or a lead capture form requesting contact details, the system supports fully customizable configurations.
The builder also plays a key role in Cycle2Work flows, enabling retailers to tailor provider-specific forms and surface the right one during checkout, based on which financing option the customer selects.
Product Groups
Push.bike lets retailers create dynamic product groups based on specific conditions or condition combinations - like brand, color, size, etc. These groups become powerful tools for managing bulk actions: applying discounts, featuring products in listing components, enabling or restricting shipping options, and more. It’s flexible merchandising, fully automated.
Additional Inventory
Push.bike allows retailers to sell more than just what’s on their shelves.
With SDM Top-Ups, they can list products they don’t physically stock - pulled directly from pre-configured supplier catalogs. Once enabled, these products appear seamlessly in the storefront, flagged as supplier-sourced with no stock limitations.
For real-time supplier inventory integration, Warehouse Stock Feeds allow retailers to treat supplier warehouses as additional stock locations. When local inventory dips below a set threshold, the system automatically shifts to supplier stock, adjusting shipping time as needed. It’s seamless inventory expansion - with zero overhead.
Customer Journey Tracking
Push.bike gives retailers full visibility into the customer journey - from the first search to final checkout. With rich behavioral insights, retailers can identify exactly where customers drop off, what drives conversions, and how to continuously optimize the sales funnel.
The platform captures search history, highlighting which keywords led to successful checkouts and which didn’t. Abandoned carts are logged with the exact stage of drop-off and the contents left behind. Retailers can trace the source of every order - channel, device, and referrer - and differentiate between new and returning customers with purchase-frequency-based badges. All of this allows for smarter decisions, better targeting, and higher conversion rates.
Dashboard & Analytics
Push.bike equips retailers with a powerful analytics dashboard that offers a comprehensive view of store performance and customer behavior - all in one place.
From sales breakdowns by product category to the most popular items and top-searched keywords, retailers can track what’s working and where there’s room to grow. The dashboard also includes product stock visuals, customer engagement stats, and real-time sales data. Plus, it highlights lost revenue due to cart abandonment - including at which step (like shipping selection) the drop-off occurred - so retailers can fine-tune their checkout flows and recapture missed opportunities.
Order Management
We built a robust order management interface within the Filament-powered admin panel, enabling retailers to track, update, and oversee incoming orders with ease. The table view includes tab-based filtering, actionable widgets, and instant status updates—streamlining everything from order fulfillment to PDF invoice downloads. On the order detail screen, retailers get a full breakdown: itemized product lists, customer info, transaction logs, and a timeline of every step taken.
Shipping Configuration & Management
Shipping management was designed to be both flexible and precise. Retailers can create, edit, and configure shipping methods while reviewing key performance stats at a glance. Each method includes adjustable rules: cart value thresholds, item quantity ranges, estimated lead times, and location-based restrictions by country, postcode, or even specific product groupings. This level of control ensures accurate delivery options for every customer, across every region.
Full-Text Search with Meilisearch
To deliver lightning-fast, intelligent product discovery on the storefront, we integrated Meilisearch. The search experience now supports full-text queries, typo tolerance, and instant indexing—allowing customers to find what they need faster and more accurately. Whether searching for specific gear or browsing by intent, the new system makes exploration frictionless and effective.
Liked our projects?
Let's create something case-worthy together!
Involvement & Process
Discovery & Requirements Gathering
We began the project with a comprehensive audit of Push.bike’s existing codebase, which revealed major issues - critical features like multi-tenancy were missing, the architecture was inconsistent, and security vulnerabilities made the codebase unfit for production. Salvaging the previous version wasn’t feasible.
From there, we transitioned into a structured discovery phase, holding in-depth sessions with Push.bike’s team to define the product roadmap. These meetings helped us translate their long-term vision into an actionable product backlog - aligning feature priorities with technical feasibility and laying the foundation for a scalable, next-gen SaaS platform.
Data Integration and System Architecture Design
Backend Development
To efficiently spin up new retailer ecommerce stores within a multi-tenant architecture, we used Tenancy for Laravel, which allowed us to dynamically generate isolated environments, each with its own database, domain, and admin panel. This setup ensured robust separation and scalability across all tenants. For the platform administration experience, we relied on Filament, defining two distinct panels: one for system admins to manage the ecosystem, and another for retailers to fully control their individual stores - all without reinventing the wheel.
We utilized Lunar - a headless Laravel-native ecommerce engine with a modular architecture. It gave us a strong foundation for building out a customizable, easily extendible and developer-friendly e-commerce backbone.
For payments and financing, we implemented support for Klarna, Novuna, V12, and Worldpay using driver-based pattern. The same approach was used to implement other core integrations such as with point of sales, product information management and warehousing systems.
Laravel’s ecosystem also played a key role in handling large-scale product data syncs - leveraging distributed queues, scheduled commands, and Horizon to manage job orchestration at scale.
Frontend Development
For dynamic storefronts, we used Next.js, allowing us to apply SSR for pages which search engines should index, therefore delivering out-of-the-box SEO-optimised ecommerce pages with perfect Lighthouse scores for the retailers. We incorporated our custom-built theme/page building module with Next to dynamically render pages and blocks according to their configuration defined from the administration portal. Since we’ve got a large number of blocks with a vast number of configuration options for our retailers, we needed a feasible way to test these components. We’ve used Storybook for that.
DevOps
Our infrastructure was built using an Infrastructure as Code approach with Docker, CloudFormation and Ansible deployed with AWS ECS. We also utilized other AWS services like S3, RDS and Elasticache for database, storage and caching needs.
We established CI/CD pipelines powered by GitHub Actions, automating the build, test, and deployment processes for both the backend and frontend. These pipelines spanned four environments: development, staging, pre-release, and production.
Integrations with Slack and Jira streamlined communication, with automated notifications for successful deployments and environment updates.
Tech Stack
We are a 200+ people agency and provide product design, software development, and creative growth marketing services to companies ranging from fresh startups to established enterprises. Our work has earned us 100+ international awards, partnerships with Laravel, Vue, Meta, and Google, and the title of Georgia’s agency of the year in 2019 and 2021.