Isra Voyages

Full-stack developer / Product design · Since 2025

Visit the site
Home page of the public site isravoyages.fr

Guided travel, from the need to the online booking.

  1. The need

    The website is the agency's main sign-up channel: departures, quotas, a clear funnel, traveler follow-up, and a booking that several people can pay for.

  2. My contribution

    Wireframes and user stories for my scope, then the public site, the client portal, the back-office and the booking lifecycle API. Stripe payments built as a team.1

  3. What was delivered

    The platform is in production and serves as the main sign-up channel. V2 is live on all three interfaces.

What I built

Three interfaces and one API, sharing the same TypeScript SDK generated from the API contract.

  • Public site

    The catalog and the booking, in one place.

    Trip pages rendered server-side for SEO, a guided booking funnel, and a payment that several people can split, each with their own link.

    Next.js · Zustand · Stripe Elements

  • Client portal

    Follow your booking without calling the agency.

    Bookings, travelers and payments in one dashboard, with a menu for each client company.

    React · Vite · TanStack Query

  • Back-office

    Create a booking in five steps.

    Trip, package, organizer, passengers, summary. Passenger import from a CSV file, tracking of the amounts left to collect.

    React · React Router · CSV

  • API

    One API for the three interfaces.

    Departures, quotas, sign-ups and statuses. Automatic reminders for missing documents and pending payments.

    Node.js · Hono · PostgreSQL · pg-boss

Tech stack

Interfaces
Next.jsReactViteTanStack QueryZustandTailwind CSS
API
Node.jsTypeScriptHonoOpenAPIZod
Data
PostgreSQLTypeORMpg-boss
Quality
VitestTesting LibraryMSWTestcontainers
Payment
Stripe1
Deployment
Docker

1. Stripe payments (charges, refunds, disputes, webhooks, split payment between several payers) were built together with the mission architect.

All projects

Let's talk about yours.

A product to scope or build, a team to strengthen: write to me.