Case study · 16 min read
How a 72-person SaaS uses AethelLayer with Ashby + Greenhouse
Twelve open reqs, two ATS systems, and comp bands nobody enforced. In four weeks they had one pipeline view, six blocked offers, and hiring risk in the same Monday brief as finance.
Product-led SaaS, 72 employees, ~$22M ARR. Ashby for engineering and product, Greenhouse for G&A, sales, and customer roles. People team of 4.
Executive summary
With 72 employees and twelve active reqs, eng hired in Ashby and everyone else in Greenhouse. Leadership could not see aggregate pipeline risk or comp exposure. AethelLayer synced both ATS tools, enforced bands before panel, blocked six offers in the first quarter, and put hiring next to runway in the Monday brief the CFO already read.
Background
The company was hiring across engineering, product, sales, and CS while trying to hold burn flat. Recruiters were strong in their own systems but exec staff got screenshots before every meeting. Comp bands lived in Notion and a spreadsheet the Head of People updated quarterly. Two offers in the prior quarter went over band and Finance caught them late. At 72 people, one bad hire or one over-band offer was a six-figure mistake, not a rounding error.
The challenge
Two ATS tools, four recruiting coordinators, and three departments meant stage names and SLAs never lined up. Hiring risk only appeared in board slides. The CEO wanted weekly truth. People wanted to keep Ashby and Greenhouse. Finance wanted hiring tied to runway and ramp spend.
Key pain points
- No rollup pipeline view across 12 reqs and two ATS systems
- Comp violations found at panel or offer, not at screen
- Offer approvals in email with no audit trail for board or Finance
- Average days-in-stage invisible to leadership until someone escalated
Before AethelLayer
- Weekly 3-hour merge of Ashby and Greenhouse exports for exec prep
- Manual comp checks against Notion; bands often stale after level changes
- Six reqs had candidates over 21 days in Screen without exec visibility
- Four over-band near-misses in prior two quarters; two approved anyway
After AethelLayer
- All reqs sync into one pipeline with source tags (Ashby vs Greenhouse)
- offerBlocked fires before Offer when comp beats band; Slack alert to #talent-exec
- Advance approvals logged for audit; Finance sees comp risk in Monday brief
- Hiring line in brief: open reqs, blocked offers, stalled stages, band exceptions
Implementation timeline
Pipeline rollup at scale
Week 1- ·Ashby connected; 8 eng/product reqs syncing hourly
- ·Greenhouse Harvest connected; 4 G&A/sales reqs mapped to shared stages
- ·Normalized stages and SLAs; dashboard shows days-in-stage by department
Comp bands by level and geo
Week 2- ·Imported bands for 18 role families including US and remote tiers
- ·Enabled guard on ATS advances and agent-proposed moves
- ·First blocks: Staff Eng, Senior AE, and Director CS over ceiling
Approvals and finance link
Week 3- ·Offer approvals to #talent-exec; CFO cc on exceptions over band
- ·Linked Ramp headcount tags for briefing context (not full HRIS yet)
- ·Hiring Agent flagged 9 candidates over band before panel in first month
Weekly exec habit
Week 4- ·Monday brief hiring section read by CEO, CFO, and Head of People
- ·Closed 2 stale reqs after heatmap showed 28+ days in Screen
- ·Documented exception process for board comp committee narrative
Workflows in production
Comp block (multi-req)
Trigger: Advance to Offer on any of 12 active reqs
- 1Guard checks expected comp vs band for role family and geo
- 2offerBlocked + Slack to #talent-exec and recruiter
- 3Head of People or CFO approves exception with logged reason
- 4Execution log feeds board hiring appendix
Stalled req review
Trigger: Weekly brief or hiring dashboard
- 1Surfaces reqs with avg days-in-stage above threshold
- 2Hiring Agent recommends panel, downgrade, or close
- 3Exec assigns recruiter focus in Slack thread
Offer approval with finance context
Trigger: Offer advance with comp near or over band
- 1Card shows band, expected comp, delta, and open req count
- 2CFO sees runway line from same brief before approving exception
- 3Approve triggers ATS update in Ashby or Greenhouse
Strategic approach
- Synced both ATS tools without a rip-and-replace project.
- Scaled band tables for more role families and remote tiers.
- Used blocks and Slack approvals because email could not keep up at 12 reqs.
- Put hiring in the Monday brief next to finance so tradeoffs were obvious.
What changed in practice
First quarter: six offers blocked before panel; estimated $400k+ in comp overhang avoided across eng and sales roles.
Closed two reqs that had stalled 28+ days; recruiters reallocated to high-priority eng hires.
Recruiters still work in Ashby and Greenhouse daily; only exec readout changed.
CFO used one brief to connect runway, open reqs, and two band exceptions in the same week.
Board hiring slide prep dropped from a half-day export job to pulling the archived brief.
Metrics
| Measure | Before | After |
|---|---|---|
| Offers blocked pre-panel (Q1) | 1-2 reactive | 6 automated |
| Exec pipeline reporting | ~3 hrs/week | ~25 min brief review |
| Comp conflicts caught pre-panel | ~25% | ~92% |
| Active reqs with unified view | 0 | 12 in one dashboard |
6 offers
Blocked pre-panel in first quarter at 72 FTE
12 reqs
One pipeline across Ashby and Greenhouse
Weekly
Hiring risk beside runway in exec brief
Lessons for similar teams
- Past 50 employees, band tables need geo and level splits or blocks lie.
- CFO in the loop on exceptions prevents surprise board conversations.
- Heatmaps on days-in-stage matter more than req count alone.
“We have twelve reqs open and two ATS tools. Leadership finally sees the whole board without a Sunday export party, and we stopped panels for candidates we could never approve.”
“Hiring and runway in one Monday read changed how we say yes to exceptions.”
Composite narrative based on Private Pilot patterns; details are illustrative.