All projects
Client & Production Projects

Skipti A rental marketplace platform, and the React Native courier app built to deliver its orders.

Frontend work on a marketplace platform at Skipti — checkout, orders, payments, admin tooling, and a state-management migration — plus a courier mobile application built from scratch for the drivers fulfilling those orders.

Skipti landing page presenting its circular commerce platform for rentals and delivery

Client / Project

Skipti

Industry

Marketplace — on-demand rental & delivery

My Contribution

  • Marketplace frontend (React
  • TypeScript)
  • Courier mobile app
  • built from scratch (React Native)
  • Redux → Redux Toolkit migration
  • Stripe payments integration
  • Admin panel & admin/customer separation
  • Code review & mentoring
Skipti rental marketplace home page offering rentals delivered to your door

The Brief

Skipti is a rental marketplace — customers order items, couriers deliver them — built at Volo as part of an engineering team of around ten. The work here spans two connected pieces: the marketplace's own frontend, and a mobile application built from scratch for the couriers fulfilling its orders.

Built with: React, TypeScript, React Native, Redux Toolkit, Stripe, REST APIs

Problem

Two different needs on the same product. The marketplace itself needed continuous frontend work as it grew: a checkout that handled real payment edge cases, an admin surface that had outgrown living inside the customer-facing app, and a state layer that had accumulated enough complexity to slow down every new feature. Separately, the couriers doing the actual deliveries had no dedicated tool — order handling, status updates, and navigation all needed a mobile app that didn't exist yet.

Solution

On the marketplace side: reworked problem areas in the checkout flow, rebuilt the map, updated the Stripe integration, contributed to the analytics section, and built out a large part of the admin panel — including separating admin from customer-facing routes behind proper authentication, where both had previously lived in the same place. The frontend's state layer moved from plain Redux to Redux Toolkit, which meant reshaping the project's architecture around it rather than swapping a library.

On the mobile side: built the courier application from scratch in React Native and TypeScript, after working through the requirements directly with the client. It covered the driver's full working loop — order management, delivery status, driver profile, maps and location, push notifications — and shipped to both the App Store and Google Play, distributed to couriers by link rather than as a public listing.

Key Features

A browsable rental catalog, organized by category, with nightly pricing and customer ratings on every item.

Skipti marketplace catalog of photo and video rentals with nightly prices and ratings

Item pages with a rental date picker and delivery-area check before checkout.

Skipti rental page for a DJI Mavic Air drone with nightly price and rental date picker

Technical Approach

  • Marketplace frontend: React and TypeScript, with feature work ranging from individual components to complete pages.
  • State management: migration from plain Redux to Redux Toolkit, with the surrounding frontend architecture reworked to match.
  • Payments: Stripe integration work, including the refund and charge flows.
  • Admin: significant parts of the admin panel, plus the separation of admin and customer-facing areas behind authenticated routes.
  • Mobile: a React Native and TypeScript courier app — orders, statuses, driver profile, maps and location, push notifications — integrated with the same REST API backing the marketplace.
  • Cross-team work: feature planning, technical feasibility discussions with other developers (frontend and backend), and code review.

Challenges

Requirements that conflicted with how payments actually work

part of the Stripe update specified refund and charge behaviour that didn't match Stripe's own model. Raising that instead of implementing it as written — and arguing it through, with the team lead's backing — led to the requirements being reworked rather than the mismatch being buried in code.

Migrating state management on a live product

moving from plain Redux to Redux Toolkit meant reshaping the frontend architecture while feature work continued, rather than pausing the product for a rewrite.

Untangling admin from customer-facing code

both had grown in the same place, so separating them behind authenticated routes meant drawing a boundary through code that was never designed to have one.

Building for users you never see

the courier app's users were drivers out on deliveries, where interrupted connectivity, fast status updates, and location handling matter far more than anything on screen.

My Role

Joined the project as a junior React developer and grew into a mid-level engineer carrying part of the frontend leadership responsibilities.

Individually owned: the React Native courier application, built from scratch after requirements discussions with the client; the Redux → Redux Toolkit migration and the architecture rework it required; the separation of admin and customer-facing areas; and substantial parts of the checkout, orders, payments, admin panel, and map work.

Within the team of around ten: mentored two junior developers, reviewed code, took part in feature planning, and supported other team members — including backend — at the requirements and technical-solution level. The marketplace as a whole was the team's work; the pieces above are the ones I owned.

Conclusion

Skipti is where the work shifted from implementing features to shaping them. It started with individual components and ended with a mobile application owned end to end, a state-management migration that reached through the whole frontend, two junior developers mentored, and enough standing on the team to push back when requirements didn't hold up technically.

Real products, practical engineering, and problems worth solving.

Selected work across .NET, full-stack SaaS, AI integrations, developer tooling, React, React Native, and more.

Get In Touch