A flo is your hiring process as one graph: how candidates get in, what you learn about them, what you keep on file, where it branches, who decides, and how it ends.
Code review task. Show them a real code change and ask whether they would approve it. Fifteen minutes, and the highest signal per minute in the catalogue.
Every stage
Twenty-eight stages. Six jobs.
Filter by what a stage does. Each one has its own settings for integrity level, time limits, revisits and score visibility.
Tap a stage to read what it does and how it is configured.
One node, three modes inside: a shared link, invites by email, or a CSV of candidates. Every candidate gets a personal link that resumes wherever they are, and a recruiter can copy it into any channel.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Show a code change a model produced with a plausible, wrong edit in it: an off-by-one, a swallowed exception, a race. Ask what is wrong and whether they would ship it. Fifteen minutes, and the highest signal per minute in the catalogue, because reviewing the model still requires judging which objections are real.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Write a query where the trap is in the data, not the syntax: fan-out joins duplicating rows, NOT IN with NULLs, money in floats, soft-deleted rows nobody mentioned. The query runs, the number looks plausible, and it is wrong. Deterministic grading against the result set.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
The candidate never writes the answer; they write the prompt that makes an AI produce it, run it against your input up to three times, and fix it when it fails. A second model judges against a fixed rubric so scores mean the same thing across every test. Needs the AI plan features.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Classic data-structures problem with hidden test cases, graded instantly in a sandbox. Any model solves these, so the catalogue ranks it lowest per minute; keep it for roles where a customer insists.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A candidate can optionally link past coding session logs for extra context. Never required, never a gate, never scored: usage is not quality.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Timed multiple-choice from a question set you author or draw from the library, with per-category and per-difficulty quotas so every candidate sits the same shape of test. Auto graded.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A small snippet with a planted bug, against the clock. Partial work has meaning here, so a timeout auto-submits and scores what was done instead of throwing it away.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Drag blocks to build a working system under constraints. Tests systems thinking without writing code, on the same canvas engine the flo builder uses. Content is ours; this is an engineered environment, not authored text.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Short puzzle games that quietly measure reasoning in a form candidates actually finish. Best placed for engagement and early-career volume; validity for games as a gate is contested, and we say so.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A simulated fleet in a real terminal: containers, hosts, services. The candidate is handed an outcome, not a command, with man pages and --help available. The grader asserts on end state, so any valid path passes, and a destructive command is a gradeable outcome rather than a blocked one.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
The same simulated environment, but they walk into something already broken and must work out what is wrong before fixing it. The closest instrument of the core thesis outside code review: catching the plausible, destructive suggestion before it runs.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A form with whatever fields you need. Cheap and inline by default, so it sits before or after an assessment in the same sitting.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A file from the candidate: a CV, a portfolio, anything, with a size cap and the plan's retention window. Storage is a cost that keeps arriving, so retention defaults short.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
One plain photo of their face at the start, nothing else. This is session continuity, not proctoring, and it is a separate switch from any document so you never become the custodian of a passport by accident.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A photo of an ID, or an ID held beside the face. We store the image and never scan or match faces. Short mandatory retention ceiling on every plan, and the node defaults to late in the flo, because asking for identity documents early is a discrimination exposure for you.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Candidates book from real availability, Calendly style: weekly patterns per interviewer, date overrides, buffers, notice and daily caps. Slots are claimed atomically, times are stored in IANA zones so DST cannot move a meeting, and an .ics goes out with the confirmation. Your meeting link is passed through; we do not build video.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A short, optional check at the end: a rating, how hard it felt, whether the instructions were clear, and a comment. It is never part of the assessment and no rule can read it. You see answers pooled across the flo, without names, once enough candidates have answered, so you can fix what candidates stumble on.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Branch on any completed score (raw or percent), completion state, countable integrity fields, or anything a tag stage saved. Reads only nodes on its own path or behind a completed join, so a condition never races a sibling branch. Camera and microphone findings are deliberately unreadable here.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Pause for a set time before continuing: wait for a booked interview to pass, space out reminders, or hold a candidate until a window opens.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Send the candidate down several paths at once. Cross-branch conditions need a join afterwards; we do not build mid-parallel cancellation because it is a race.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Wait for one or all parallel paths to finish before continuing. This is what makes a condition across two branches safe to write.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Send candidates down different paths at random for an A/B test of a stage, with stable draws so a candidate who returns lands on the same path.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Email the candidate in your wording, from your name, with our address in the footer and your reply-to. This is the whole mechanism for telling a candidate anything: the flo never sends a verdict on your behalf. Sends count against the plan's per-run allowance.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
A real person looks and decides. One of three ways a candidate is rejected, beside the manual override and an automated rule. Media findings, contact sheets and evidence land here for human eyes, and a bulk gate lets a reviewer confirm a list in one pass.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Save a value for later steps: a score bucket, a source, a flag from an earlier stage. A condition can read it and a webhook carries it.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Push the outcome and its tag to your hiring system or any tool, with scoped configuration per flo. The status name you defined is what arrives.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Ends the flo and sets the final status: advanced, rejected and expired ship built in, and you can define your own, each tagged positive, negative or neutral. The candidate sees only that their submission is complete; the status is your vocabulary, not theirs.
Integrity level
Start deadline and completion limit
Revisit and answer retention
Score visibility
Inline or sent
Where the signal is
Minutes are the scarce thing.
What each stage tells you per minute of a candidate's time, and where in a flo it earns its place. Our own ranking, from the product plan.
Stage
Time
Signal
Place it
Weight
Structured screen
2 min
Logistics only
Always first
Code review of AI output
15 min
Highest per minute in the catalogue
Early
Prompting / delegation
20-30 min
Differentiated
Middle
Messy-data SQL
20-30 min
Strong, deterministic
Middle
Simulated terminal / ops
15-25 min
Strong for ops roles, deterministic
Middle
Auto-graded coding (DSA)
20 min
Commodity, AI-solved
Only if you insist
Rules and outcomes
Your bar. Your call.
Thresholds are yours to set and every decision is on record, whether a person or a rule made it.
Rules read real numbers
A condition can branch on any completed score, as a percent or raw, on completion state, on countable integrity fields, and on anything a tag stage saved.
Automate, or do not
Wire a rule straight into an outcome, or put a review gate in front of it. Both paths log who or what decided, the threshold, and when.
Two clocks, not one
A start deadline in days for people who never open the link. A completion limit in minutes for people who run out of time inside it. Expired and abandoned stay distinct facts.
Candidates hear what you write
Reaching the end tells a candidate their submission is complete. Nothing else. Want to say more? Add an email stage and write it.
Also in the builder
The details that make a flo yours.
Settings that exist because hiring is messy: pools instead of fixed tests, two kinds of deadline, outcomes in your own words, and a candidate's run drawn on the graph you built.
Question sets with quotas
A node draws from a pool larger than any one candidate sees, with a quota per category and per difficulty so every draw is the same shape of test. We warn when a pool is too thin to randomize honestly.
Score visibility, per node
Off by default. On, a candidate sees their score only after the whole flo finishes, never mid-flo, and we warn that revealed scores leak what the hidden answer rewards.
Two clocks
A start deadline in days for the candidate who never opens the link, and a completion limit in minutes inside the node. Expired and abandoned stay separate facts in your funnel.
Presets
Save any configured node, settings and content together, and drop it into the next flo. Copied on insert, so editing a preset never changes a node under a live candidate.
Custom outcomes
Advanced, rejected and expired ship built in. Add your own, like hold for next cycle, tagged positive, negative or neutral so analytics and rules still read them.
The run on the graph
Open a candidate and see their path drawn on the same canvas you built: the node they are on, the branches they never entered, every score and how long each step took.
Your name on every email
Logo, display name, accent colour, signature and reply-to. We send on your behalf so it arrives, and our name stays in the footer so candidates know who runs the system.
Publish, copy, verify
Publish a flo for other teams to copy. Copies are theirs; your later edits never reach them. Verified is a badge we grant per version, and unverified is said out loud.
Integrity, honestly
Signals for a reviewer. Never a verdict.
Free plans get the browser signals. Camera and microphone proctoring arrives on Pro, and its findings are for human eyes only. No tier detects a phone on the desk, and we say so.
What we count
Paste count, largest paste, total pasted characters
Tab switches, focus lost count and seconds
Fullscreen exits, devtools opened, device changes
Cross-candidate similarity on the event sequence
What only a human sees
Camera snapshots and the contact sheet
Event-triggered clips
Face-missing findings
Speech segments and durations
What no tier detects
A phone sitting next to the keyboard
A second laptop
A person off camera
Remote desktop, without a native client we have not built
A few good questions.
Code review, messy-data SQL, prompting, auto-graded coding, objective tests and debug puzzles. Built environments like the pipeline puzzle, the simulated terminal and triage come from the platform because they are engineered, not written.
Per stage, and only after the whole flo is finished. It is off by default, and we warn you when you turn it on: over enough candidates, a revealed score leaks what the hidden answer rewards.
Yes. A preset copies settings and content together. Editing it later never reaches into a flo that already used it, and never changes a stage under a candidate mid-assessment.
That is abandoned, not expired. Whether they can come back, and whether their work is still there, are two separate switches on the stage. After an assessment we can email a link back to exactly where they stopped.
Free to start, no card, no seats
Your next great team. Your kind of flo.
Create your account, bring every reviewer you need, and run your first candidates on the free plan. Upgrade when the volume asks for it.