← Portfolio
Own productSki rental & lessons marketplace · TourismBansko, Bulgaria · UK-registeredAugust 2026 – launching for season 2026/27

Old School Ski

Book ski gear and lessons in Bansko from many shops and schools in one place — our own platform, launching for season 2026/27

Product & business designDesign systemFull-stack developmentPayments & settlementLegal & GDPR implementationOperationsVisit the site →
Old School Ski — 1

About the product

Old School Ski is our own project. It is a booking website for Bansko where guests reserve skis, snowboards, lessons and extras from local shops and ski schools. They pay a deposit online and pay the rest when they pick up. We had already built and run a booking system for one ski school. This time we designed one that works for many shops and schools at the same time.

The challenge

Most rental shops and ski schools in Bansko are small, open only in winter and still run mostly on phone calls and paper. Guests planning a trip from abroad want to compare prices, feel they can trust the shop and book in their own language. Very few shops can offer that. And once the confirmation email is lost, the guest has no way to check or change the booking.

A site that sells for many shops has two hard jobs. It must never let two guests book the same pair of skis for the same day. And it must keep the money straight: who paid a deposit, who got a refund, who owes a damage fee, and how much each shop is owed at the end of the month. On top of that, the terms and conditions have to be right in four languages.

The solution

Guests book on the site and can look after their trip afterwards on a simple "manage my booking" page — no account, no app. Partner shops get their own page that works well on a phone and shows just their bookings. Our team runs everything else from the back office: prices by season, promo codes, availability, refunds and damage cover. The site always charges exactly what the price rules say.

A shop's gear can never be double-booked. Every day of the booking is checked against what the shop really has before the reservation is confirmed. If a guest starts a booking but never pays, the gear goes back on sale by itself. If a shop is fully booked, guests can join a waiting list. Deposits are paid by card, and confirmations arrive in English, Bulgarian, Russian or Hebrew. A guest who has lost the email can still get back into the booking.

The back office covers a real season in the shop: walk-in guests at the desk, no-shows, gear that has not come back on time, damage claims, and a monthly statement that shows each partner exactly what they will be paid. Staff have their own logins, and every change is recorded so nothing gets lost. Guests can also ask what personal data we hold on them, as the law requires. Before launch we went through the whole platform several times and fixed thirty issues we found along the way.

Key features

Tech stack

Next.js 16ReactTypeScriptDrizzle ORMPostgreSQL (Neon)StripeReact Email + SMTP/IMAPZodGitHub Actions → Plesk

Screens

Old School Ski — 2
Old School Ski — 3

Related services

Want a result like this for your business?

Get a free analysis and hour estimate — before you commit to anything.

Free Analysis +