Skip to content
All work

01 / Healthcare staffing · France

Medzair

Hospitals need cover at short notice. Doctors want missions that fit their lives. Medzair connects the two and handles everything in between.

Role
Sole engineer and product designer
Period
2024 → 2026
Platforms
iOS · Android · Web dashboard · Website
Medzair cover: the admin dashboard, the public website and the mobile app for doctors
-45%
Fewer runtime bugs
2.1×
Faster feature delivery
2+
Years live in production

01 / The context

Why it exists

French hospitals run short of staff and need cover fast: a night next week, a 24-hour on-call this weekend. They send these needs to Medzair by email, often as long forwarded lists.

Before the platform, every request was handled by hand. Someone re-typed the email, phoned doctors to find who was free, collected their documents, then chased signatures from both the doctor and the hospital. The team's capacity was capped by how fast they could type and call.

Medzair's bet was simple: if the busywork disappears, a small team can place far more doctors, and doctors get missions without the paperwork.

02 / The people

Who it's for

  • Doctors and paramedics

    Find missions near them that fit their specialty and schedule, apply in one tap and sign without printing anything, in an app that's clear from the first use.

  • Hospitals

    Post a need, judge candidates and sign the contract fast, without learning yet another tool or creating an account.

  • The Medzair team

    Turn requests into missions, match the right people, check documents and keep every contract moving, without drowning in admin.

03 / The goal

What it had to do

  1. Take manual work out of every step, from the hospital's email to the signed contract.
  2. Make the app clear and easy for every doctor, at any level of comfort with technology.
  3. Keep candidates anonymous until they are placed.
  4. Let hospitals take part without creating an account.

04 / My part

My role

I'm the only engineer on Medzair. I designed the screens and built every part of the product: the API and database, the admin and hospital dashboard, the mobile app and the public website.

05 / The approach

How I built it

  1. Map the workflow

    Follow a mission from the hospital's email to the signed contract, and mark every step where someone types, calls or waits.

  2. One shared platform

    Build one API and one database behind the app, the dashboard and the website, so a mission, a document or a contract is the same everywhere.

  3. AI drafts, people decide

    Let AI do the repetitive reading and writing, and always show the result to a person before it goes live.

  4. Design for clarity

    Set design rules so every screen is obvious at first glance, then rebuild the app around them.

  5. Ship and launch

    Release the new app on the App Store and Google Play, and announce it to doctors and hospitals.

06 / Key features

What I built

A website that brings doctors in

The public site explains how Medzair works, lists open missions and sends doctors to the App Store or Google Play in one tap.

Medzair home page with the headline Gérez sereinement tous vos remplacements et recrutements and two phone screens

Missions picked for each doctor

The home screen opens on what needs doing. Missions are matched to each doctor's region and specialty, with dates and shifts in plain words, and applying takes one button.

App home screen greeting Dr Martin, with a contract to sign and four tilesMissions screen with For you, All and Mine tabs and mission cards

Availability that drives matching

Doctors tap the days they're free, by day, night or 24 hours. The team sees, for each date, which missions fit that person and can place them from their profile.

Doctors list in the admin dashboard with profile progress and filters
Monthly availability calendar with days marked Day or Night

Contracts signed without paper

Doctors sign in the app with a saved signature. Hospitals get a secure link by email, upload their signed copy without creating an account, and the team approves it.

Contracts screen with contracts to sign and signed contracts

Hospital requests become missions

Hospitals forward their needs to one mailbox. AI turns each request into a draft mission, and nothing goes live until someone on the team accepts it.

Admin missions page with search, specialty and region filters and mission cards

A dashboard for each hospital

Hospitals follow their missions, applications and contracts in one place. They review anonymous candidate profiles, with diploma, experience and skills but no name, before they decide.

Hospital dashboard with mission, application and contract counts and charts

One back-office for the team

The team manages doctors, paramedics, hospitals, missions and contracts from one dashboard, with an activity log of every action.

Admin dashboard overview with counts for doctors, hospitals, missions and contractsHospitals page with partnership status for each hospital

Content that writes itself

Each week AI drafts a blog article for the team to review. When an article goes live, social posts for Instagram, Facebook and LinkedIn are drafted and published on schedule.

Blog articles page with AI drafting, scheduled and published articles

07 / Key decisions

The hard parts

From inbox to mission, without re-typing

The challenge

Every mission started as an email someone had to read and re-type. One email could cover several hospitals and a dozen dates, or quietly update a list sent the week before.

What I did

Hospitals keep sending emails, because that's what they already do. Every morning the platform reads the mailbox and turns each request into a draft mission, or an update to an existing one.

I chose drafts over automatic publishing: an admin checks each one and accepts it with a click.

What it changed

The team reviews missions instead of typing them, and hospitals didn't have to change a thing.

Hospitals choose skills, not names

The challenge

Hospitals want to judge a candidate's experience before saying yes. But Medzair can't reveal who the candidate is until they're placed, and hospitals won't create accounts just to sign a contract.

What I did

Hospitals see an anonymous profile: diploma, years of practice, services, skills and languages. Anything that could identify them is blocked automatically.

To sign, the hospital gets a secure link by email: download the contract, upload the signed copy, done.

What it changed

Hospitals can decide and sign from a single email, and candidates stay protected until the deal is made.

Clear for every doctor, from the first tap

The challenge

Medzair's doctors range from recent graduates to experienced practitioners who don't spend their day on a phone. In the first version of the app, the important actions were too easy to miss.

What I did

I set simple design rules so anyone can find their way on the first try: clear labels, one obvious action per screen, large readable text and a confirmation after every step.

I compared several design directions, picked the clearest one and rebuilt the app screen by screen.

What it changed

Doctors find what they need at first glance, whatever their comfort with technology.

08 / The result

What it changed

  • For the Medzair team

    Missions arrive as drafts to approve, not emails to re-type. Documents, contracts and ratings live in one dashboard.

  • For hospitals

    They post needs the way they always did, judge anonymous candidates and sign from a link, with no account to create.

  • For doctors and paramedics

    Missions matched to their region and specialty, one tap to apply and contracts signed on the phone, in an app that's clear at first glance.

  • For the business

    Paramedics now use the platform alongside doctors, and the website was rebuilt so every mission can be found on Google.

Built with

  • Expo
  • React Native
  • TypeScript
  • Nuxt
  • Vue
  • Next.js
  • Node.js
  • Express
  • Socket.io
  • Prisma
  • MySQL
  • Claude API

How I work

Built with an AI-agent workflow I designed: one branch per change, Claude Code as a pair programmer, and every change reviewed and merged through a pull request.