Crenaly
A booking SaaS that turns cancellations into filled appointments for salons, spas and other appointment-based businesses in France.
- Year
- 2026
- Role
- Founder - product design, full-stack engineering, launch
- Stack
- Next.js, React, TypeScript, NestJS, PostgreSQL, Redis, Stripe, Remotion
- Website
- crenaly.com
Overview
Crenaly is my own product. I designed, built and operate it end to end: the public booking storefront, the business workspace, the REST API, billing, transactional email and the marketing site. It gives independent businesses their own booking page, a shared agenda and a client book, and it automatically offers every cancelled slot to a client who asked to come earlier.
The problem
Hair salons, beauty institutes, nail studios, massage therapists, tattoo artists and groomers live by their calendar. A late cancellation leaves an empty hour that rarely gets refilled, because nobody has time to call the waiting list between two clients.
Many of these businesses still take bookings through Instagram DMs and phone calls, or rely on marketplaces that show competitors right next to their own profile. They needed a booking page that belongs to them, plus a way to recover lost slots without extra admin work.
What I built
- 01
A booking storefront per business
Every business gets a mobile-first public page with its services, prices, team, gallery, opening hours and reviews. Clients book 24/7 without an account, and only genuinely free slots are offered.
- 02
Automatic freed-slot recovery
Clients can tick “I’d like an earlier slot” when booking. When someone cancels, Crenaly matches the slot with eligible clients and sends time-limited offers in small waves. The first client who accepts gets the slot, their existing appointment moves in place, and nothing changes if nobody answers. No offers are sent at night.
- 03
Agenda, team and client book
Day and week agenda, appointment statuses, team booking profiles with five permission roles, a searchable client book with visit history, and CSV import from previous booking tools.
- 04
Verified reviews
Review requests are sent automatically after a real appointment. Only real clients can leave a review, and the business can reply or report a review but cannot delete it.
- 05
Channel links and QR codes
Separate booking links for Instagram, Google, WhatsApp, TikTok and other channels, so owners can see where their bookings actually come from.
- 06
Plans and billing
A permanent free plan, a 30-day Pro trial without a credit card, and Stripe subscriptions with a customer portal. Downgrading never deletes data.
Engineering decisions
- Next.js frontend, NestJS API
- The client is a Next.js and React application written in TypeScript. The backend is a separate NestJS REST API with cookie sessions, so the storefront, workspace and embeddable widget share one contract.
- PostgreSQL without an ORM
- All data access uses parameterised SQL and forward-only migrations. Booking conflicts are prevented inside database transactions, so two clients cannot book the same slot, even in the same second.
- Tenant isolation on the server
- Every query is scoped to the business, and roles and permissions are enforced in backend services rather than hidden in the UI.
- One source of truth for plans
- Features and limits are defined in a single entitlement model that the API, the workspace screens and the upgrade prompts all read.
- Background jobs and email
- Offer waves, reminders and review requests run as background jobs with quiet hours. Every email is branded and logged, and clients can manage their email preferences with one-click unsubscribe.
- Search-ready storefronts
- Storefronts ship with generated titles, canonical URLs, Open Graph images, LocalBusiness structured data and a sitemap, so each business can be found on Google.
Where it is today
Crenaly is live at crenaly.com, with French-native copy, help centre articles, industry pages and a blog. The launch videos on this page were produced in code with Remotion, from the same design tokens as the product.
This project shows how I work with clients: one person owns the product decisions, the interface, the backend, the integrations and the launch, and every feature is shipped with the edge cases handled.
Screens

Booking storefront 
Verified reviews 
Cancellation cost calculator 
Freed slot recovery 
Industry pages 
Free trial call to action
Next projectCircleHaloHave a product like this in mind?
I take products from scope to launch: interface, backend, integrations and the details that make them hold up with real users.