Case study

Shinsa

The CV checker that tells you not to apply. CV and vacancy in, one honest verdict out: GO, HOLD or SKIP.

Role
Creator. Designed, built and shipped.
Owned
Product, Visual identity, Frontend, Backend, AI pipeline, Payments, Infrastructure
Stack
Next.js, TypeScript, Supabase, Anthropic API, Stripe, Resend, Vercel
Status
Live, free Standby plan and paid Priority plan

Try itRuns in your browser with sample data

Vacancy

Candidate

Frontend engineer, 6 years

TypeScript 6 yrs, React 5 yrs, Node.js 2 yrs, testing. English and Dutch. Remote only.

Sample profile

Product EngineerB2B SaaS, Series A

Waiting for check-in

Pick a vacancy and press Analyze. The board shows the verdict and the two reasons that decided it.

01 The problem

Every CV tool wants you to apply. Shinsa doesn't.

Job boards, CV optimisers and match-percentage tools share one incentive: more applications. Shinsa (審査, “screening”) takes the opposite position. It reads the CV and the vacancy the way a screener does, and if the hard requirements don’t line up it says SKIP before anyone spends an evening on a cover letter.

No percentages. No artificial encouragement. One verdict.

02 What I built

An arrival hall with a verdict board.

The whole product is styled as an airport arrival hall: yellow wayfinding signage, a boarding pass for the CV profile, and a departure board where every checked-in vacancy gets its verdict. Three verdicts on the board, zero percentage scores, and a reminder fourteen days later that closes the loop.

  • GO / HOLD / SKIP
  • Split-flap verdict board
  • CV boarding pass
  • Bulk check-in
  • Self-correcting logbook
  • Outcome reminders
  • Jobs radar
  • CV tuning per vacancy
  • Interview prep
  • Stripe payments

03 How it works

Check in. Get screened. Read the board.

  1. profile.upload(cv)

    01 Get your boarding pass

    Upload your CV as a PDF or paste the text. Shinsa normalises it into roles, years of experience, skills and languages: the profile every screening runs against.

  2. checkin.paste(vacancy)

    02 Check in a vacancy

    Paste one vacancy, or a whole batch at once. Shinsa splits each posting into hard requirements and nice-to-haves and compares them directly against your profile.

  3. board.flip()

    03 Read the board

    The split-flap board flips to GO, HOLD or SKIP, with the reasoning, the gaps, CV tuning for that vacancy and interview prep for the questions those gaps will raise.

  4. outcome.log()

    04 Log what happened

    Interview, rejection or silence: one click per screening. Every logged outcome feeds the calibration loop, so future verdicts get sharper for you specifically.

04 Technical decisions

The model judges structured facts, not prose.

The screening pipeline runs two separate Claude Sonnet calls: normalisation first, the verdict second. The first turns a CV and a vacancy into structured facts. The second judges those facts. That separation is what keeps the verdict consistent.

A one-shot verdict is an opinion, so the logbook turns it into a feedback loop. Recent real outcomes are summarised and handed back to the model as calibration context, so it learns whether it has been too strict or too lenient with a specific user.

The loop depends on behaviour nobody shows voluntarily: coming back weeks later to log “no response”. A daily cron sends one reminder per screening after fourteen days, and a single-use token link logs the outcome without a login. The calibration loop is deliberately never paywalled.

Architecture Shinsa screening
  1. Input
    • CVPDF or text
    • Vacancyone or a batch
  2. AI
    • NormaliseClaude Sonnet
    • VerdictClaude Sonnet
  3. Product
    • Split-flap board
    • Logbook
    • Jobs radarAdzuna API
  4. Platform
    • Supabaseauth, user data
    • Stripeplans, ten-strip
    • Resendoutcome reminders
  5. Runtime
    • Vercel
    • Daily cron14-day loop

Outcomes logged in the logbook flow back into the verdict call as calibration context.

05 What I owned

The whole thing, end to end.

The positioning, the arrival-hall identity with its split-flap board, and every line of code. Supabase for auth and per-user data, Stripe for the Priority plan and the ten-strip carnet, Resend for the outcome reminders, a jobs radar that screens fresh matching vacancies from the Adzuna API, and deployment on Vercel under its own domain.

  • Product
  • Visual identity
  • Frontend
  • Backend
  • AI pipeline
  • Payments
  • Infrastructure

06 Live

The real shinsa.io, embedded.

shinsa.io

Embedded live. Desktop at 1280px, mobile at 390px.

07 Why it matters

A product opinion, enforced all the way into the code.

“Tell people when not to apply” only works if the verdict is trustworthy. That requirement shaped everything: structured facts before judgement, a feedback loop from real outcomes, and a decision to keep that loop free because it is the one thing that makes Shinsa worth trusting.

Next caseODIN, agent orchestration →