Our Hiring Process.
How we run every hire at PerkUp. Built to cast a wide net, filter aggressively, and protect the team's most expensive resource — synchronous time.
The frame
The biggest constraint on great hiring at PerkUp is protecting the founders' and team's synchronous time. That single constraint shapes every stage. We cast wide because the funnel is cheap. We filter hard because attention is expensive. We hold every candidate-facing session to one PerkUp person because signal degrades fast in panels. The four principles below frame every decision in the rest of this document.
Four operating principles
Cast wide, filter hard
Paid postings, broad sourcing, no recruiters. Aggressive async filters (Test Gorilla + Loom) before any live time is booked.
One PerkUp person at a time
Every candidate-facing session is a clean 1:1. No panels, no observer chairs. Committee input feeds the rubric, not the room.
The Hiring Manager owns the rubric
The HM updates the rubric throughout the process so the best questions from the committee compound across hires.
Async first, sync earned
Test Gorilla, Loom, paid take-home all run async. Synchronous time is reserved for candidates who've already earned it.
Twelve stages, three phases
Every hire passes through this funnel in the same order. Stages 0–2 set the table. Stages 3–8 filter and earn signal. Stages 9–11 decide and onboard.
| # | Stage | Owner |
|---|---|---|
| Phase 1 · Set the table | ||
| 0 | Job description + success criteria4 success pictures · target Kolbe A · JD locked | Hiring Manager + Thomas |
| 1 | Sourcing setupHiring channel · paid postings · kickoff date | Hiring Manager |
| 2 | Top-of-funnel sourcingWide net · inbound captured in Roles DB | All channels |
| Phase 2 · Filter and earn signal | ||
| 3 | Test Gorilla skills screen5 skills + 5 Claude-generated custom questions | Candidate |
| 4 | 5-minute post-Test-Gorilla LoomAsync signal on communication + motivation | Candidate |
| 5 | Hiring Manager 15-min screenFirst sync conversation · 1:1 with the HM | Hiring Manager |
| 6 | 30-min follow-up interviewHand-off to hiring committee begins here | Hiring Manager |
| 7 | Live working sessionCandidate shares screen · HM runs role-specific tests | Hiring Manager |
| 8 | Paid take-home test1–3 hours scoped to a real task · paid regardless of outcome | Candidate |
| Phase 3 · Decide and onboard | ||
| 9 | Reference checksAt least 1, up to 2 for senior/strategic roles | Hiring Manager |
| 10 | Offer — on a live callHM or Thomas · Deel within 48h · computer policy surfaced | Hiring Manager or Thomas |
| 11 | Onboarding30-day and 90-day reviews · communicated at offer | HM or dedicated lead |
Job description + success criteria
Lock the four success pictures first.
Before sourcing opens, we lock the picture of what a successful hire looks like at each milestone. The JD is built backwards from these. If we can't write them, the role isn't well-defined yet — and we shouldn't be hiring.
- 6 months — first wins, ramp complete, owns clear scope.
- 12 months — ships independently in their domain.
- 18 months — leads projects, raises the bar for the function.
- 24 months — multiplier effect (hires, mentors, lifts peers).
Kolbe A index expectation.
Every role has a target Kolbe A profile written into the JD. Candidates take the Kolbe assessment as part of the process (PerkUp pays). If a candidate's Kolbe is way off the target, we surface that explicitly to them before either party invests more time.
Sourcing setup
Three things must be true before sourcing kicks off. Every role, no exceptions.
- Hiring channel created. One Slack channel per active role in the format
#hiring-<role>. Used for candidate notes, interview debriefs, and offer decisions. - Posting destinations chosen. We are comfortable paying for ads on platforms that produce candidates. We are not comfortable paying for platforms with patterns of fraud or fake candidates — every paid platform gets a quick due-diligence check before money goes out.
- Kickoff date set. Sourcing starts on a specific date so funnel rates are measurable from a known baseline.
Top-of-funnel sourcing
Cast as wide as paid budget allows. Every candidate gets added to the Roles database with clean status discipline — Sourced → Screening → Interviewing → Trial → Hired / Rejected.
Wide-net sourcing only works if we're responsive. The communication SLA (TBD) is how we keep the funnel honest — candidates we ignore stop applying, and the platforms we pay for stop sending great people.
Test Gorilla skills screen
Every Test Gorilla assessment we send must contain exactly two things:
- 5 skill assessments drawn from the Test Gorilla library that match the role.
- 5 custom questions written specifically for the role — and these must be Claude-generated from the JD, not hand-written from scratch. Hiring Manager reviews and approves before sending.
Why Claude-generated custom questions.
The JD already encodes what good looks like. Deriving the custom questions from the JD (instead of inventing them in parallel) does three things at once: it removes the bottleneck of "we're waiting on the HM to write good questions", it keeps the funnel moving, and it keeps the question set tightly aligned with the success criteria from Stage 0. Hiring Manager review still catches anything off-base.
5-minute post-Test-Gorilla Loom
Candidates whose Test Gorilla score lands in our acceptable band are asked to submit a 5-minute Loom covering four prompts:
- Their experience — a quick walk-through of the most relevant past work.
- Why they're interested in the role — what specifically about this job attracts them.
- Why they're interested in PerkUp — what they know about us, why this company over others.
- Why they think they're a good fit — their own pitch for the role.
No slides required. We're explicitly testing how someone communicates async with minimal prep — that's a real-world job skill at PerkUp, not a hoop. The Hiring Manager reviews the Loom and decides if the candidate advances.
Hiring Manager 15-min screen
The first synchronous conversation. Just the Hiring Manager and the candidate — one PerkUp person in the room, no exceptions. Confirms what came through in the Loom and surfaces anything that needs deeper exploration. If it goes well, we advance to Stage 6. If not, we end here cleanly and respectfully.
30-min follow-up interview
A deeper interview led by the Hiring Manager. After this stage, the HM starts handing the candidate off to the rest of the hiring committee in additional one-on-ones. Each committee session is still exactly one PerkUp person at a time.
Live working session
The candidate shares their screen and the Hiring Manager runs role-specific tests:
- Engineering — pair on a real problem from the actual backlog.
- Design — critique a real artifact or sketch a real flow live.
- Operations / CS — work through a real customer scenario end-to-end.
- Marketing / Brand — talk through a real campaign decision and edit a live asset.
The goal is real-time work signal — what does this person do when something doesn't go to plan, how do they think through a constraint, how do they communicate decisions in motion. The screen share is the source of truth; what they say is secondary to what they do.
Paid take-home test
The take-home is always paid. The pay tier depends on the role's target salary band.
Scope is a real task we'd actually need done — never invented busywork. Sized to fit inside 1–3 hours so candidates with day jobs aren't penalized. We pay the take-home rate even if it doesn't lead to an offer — that policy is what makes it ethical to ask for the work in the first place.
Reference checks
At least one reference check is required for every hire. For senior or strategic roles — anything where a bad call would meaningfully change the trajectory of a function — we do two. Run by the Hiring Manager after the take-home result is in and before the offer call.
Default reference questions live in the cross-role question bank; per-role pages can override or add. The HM logs the reference call in the hiring channel so the committee has visibility before the offer goes out.
Offer — on a live call
The offer is always made on a live call, never by message. On the call we confirm four things explicitly, in this order:
- The salary amount, verbally. No ambiguity, no email-only quote.
- Engagement is via Deel as a contractor. The Deel contract goes out the same day as the call and must be signed within 48 hours.
- Start date.
- The computer arrangement (see below).
Computer policy
Onboarding
Every hire starts on a clear review cadence, communicated at the offer and reinforced on day one.
- 30-day review — ramp progress, are they enjoying the work, are we enjoying working with them, is there anything visibly off-track.
- 90-day review — are they on the trajectory toward the 6-month success picture we wrote during Stage 0. This is the most important review of the first year.
Open questions
Each card below is a real open question. Everything above is the current best understanding; everything below needs team input before we lock the next version.
Test Gorilla skill bank
Do we maintain a shared library of which 5 skills we use for which role family (Eng / Design / Ops / CSM / Marketing)?
Claude prompt template
One shared prompt for generating the 5 custom Test Gorilla questions from a JD, or per-role-family variants?
Loom pass/fail criteria
Written rubric, or a single Hiring Manager judgement call?
Reference question bank
What's the default cross-role set, and what should be role-specific?
Communication SLAs
How fast do we owe a "next steps" or "no thanks" reply at each stage?
Paid posting whitelist
Which platforms get our paid budget, which are blacklisted for fraud risk, and who owns the list?
Hiring channel Slack template
Channel topic, pinned messages, who's added by default.
Per-role page template
Every role gets a child page off Hiring with a standard structure so consistency stays high.
Source: PerkUp Operating Document — Our Hiring Process. Owner: Thomas. Working doc, last updated 2026-06-07.