ShiftIn Showcase
Product showcase

The shift marketplace for Thai doctors and the clinics that need them

ShiftIn connects licence-verified doctors with clinics posting freelance shifts. Doctors browse and apply in a tap. Clinics pick who they work with. No more hunting through LINE groups.

ชิฟต์อิน — ตลาดงานเวรสำหรับแพทย์ฟรีแลนซ์และคลินิก

Why it exists

Freelance shifts were found in noisy chat groups

Clinics posted urgent shifts into LINE groups with thousands of members. Doctors scrolled, messaged, and usually heard the shift was already taken.

✕
Posts buried in minutesA good ER shift scrolls out of view under 100 new messages.
→
✓
Every open shift, searchableFilter by type, date, pay and province.
✕
No idea who is licensedClinics can't tell a real doctor from a stranger in the chat.
→
✓
Every applicant verifiedID card matched to เลข ว. by a human reviewer.
✕
“ยังว่างไหม?” on repeatEach post triggers dozens of private messages.
→
✓
Live availabilityDates show open or filled, so nobody has to ask.
✕
Double-booked nightsEasy to say yes to two overlapping shifts.
→
✓
Clashes blockedThe database refuses a confirmed overlap, even across midnight.
Live demo

Click around the product

This is a working replica of ShiftIn's main screens, filled with sample clinics, doctors and shifts. Filter shifts, switch the viewer's access level, open a shift, apply, then confirm the applicant as the clinic.

All names and shifts here are sample data.
shiftinth.com/shifts/browse
How it works

Two short paths that meet at a confirmed shift

Anyone can browse. Signing up and verifying is a short stop on the way, and the user always lands back on the shift that brought them in.

Doctors · แพทย์

Find a shift that fits

  1. Browse without an accountSee shifts, pay and open-date counts.
  2. Sign up with email, Google or LINELINE login works inside LINE's own in-app browser.
  3. Upload an ID card and เลข ว.One photo. Reviewed by hand.
  4. Pick dates and applyContact details unlock once the clinic confirms.
Clinics · คลินิก

Fill a shift with a verified doctor

  1. Sign up with emailPost right away, no waiting.
  2. Add a facility licence (optional)11 digits, checked automatically, earns the teal badge.
  3. Post the shiftType, dates, hours, pay and perks like ไม่หัก 3%.
  4. Review and confirmOther overlapping pending applications clear themselves.
Trust

Access opens up as trust is established

Three tiers decide what each visitor can see and do. The rules live in the database's row-level security, so they hold even if someone bypasses the UI.

What they can doVisitorSigned upVerified doctor
Browse shiftsYesYesYes
See datesCount onlyAllAll
See notes and proceduresNoYesYes
See contact detailsNoLockedAfter confirm
ApplyNoNoYes
What verification means

การยืนยันตัวตนเป็นการยืนยันตัวตนและสถานะใบอนุญาตเท่านั้น ShiftIn ไม่ได้ประเมินความสามารถทางคลินิกหรือความเหมาะสม

Shown on every verification screen: ShiftIn confirms identity and licence status only, never clinical competence.
Principles

A neutral marketplace by design

ShiftIn connects people. It is not a healthcare provider, an agency, or an employer, and the product is built so it can't drift into being one.

ShiftIn never

  • Sets pay rates or schedules for doctors
  • Holds money, deposits or escrow
  • Takes a percentage of a doctor's pay
  • Charges anyone to get verified
  • Supervises clinical work

Safeguards built in

  • Licence-renting posts (แขวนป้าย) are rejected
  • Append-only audit log of every user action
  • Verification documents in private storage
  • Clinics accept responsibility each time they post
  • Self-service account deletion, blocked only while a shift is confirmed
Under the hood

Built end to end by one person

From database schema to Thai copy, every layer was designed and written solo.

40app pages
40database migrations
8edge functions
3sign-in methods

Frontend

React with TanStack Start, built with Bun and Vite, hosted on Vercel.

Database

Supabase Postgres with row-level security on every table.

Server logic

Edge functions for licence checks, LINE auth and account deletion.

LINE login

Uses LIFF inside LINE's in-app browser, where regular OAuth fails.

Overlap rules

can_insert_application() blocks clashing shifts, midnight-crossing included.

Thai-first UI

IBM Plex Sans Thai, mobile-first layout, PDPA-ready legal pages.

The founder

Built by a doctor who knew the problem first-hand

พญ. ณัชชามน ภัทรทิชากรกุล

แพทย์ผู้ช่วยสอน หลักสูตรนานาชาติ จุฬาฯ · MedCU

หมอทำแอปมาแก้ปัญหากลุ่ม LINE หางานทุกวัน ShiftIn started as a fix for the chat groups doctors scroll every day.
Portrait of พญ. ณัชชามน ภัทรทิชากรกุล
Roadmap

Where ShiftIn goes next

7 Jul 2026

Launched

Live at shiftinth.com, free for doctors and clinics.

24 Aug 2026

Paused

Taking what launch taught us into the next version.

Business model: software only. Clinic subscriptions and flat post boosts later on. ShiftIn never takes a cut of a doctor's pay.

ขอบคุณค่ะ · Thank you

Questions, feedback or ideas for v2 are very welcome.

Visit shiftinth.com ↗ natchamon@shiftinth.com