The platform behind our placements
We didn't pick a CRM off the shelf. We built one — multi-tenant, timeline-first, with WhatsApp wired in where it actually belongs. Here's why, and what it changes for the people we place and the companies we place them at.
Most recruiting agencies run on someone else's software. A Bullhorn license, a Greenhouse seat, Zapier between them. It works — until it doesn't. When the workflow that wins you a placement is open four tabs, copy a phone number into WhatsApp Web, paste a note back, hope nobody else on the team is messaging the same candidate today — the software isn't helping. It's the friction.
So we built our own. esyrecruiters runs on a platform we wrote ourselves, used internally only, tuned for how senior tech recruiting in Israel actually works. This post is not a product pitch — we don't sell the software. It's an explanation of why we made that call, and what it changes for the people on either end of a placement.
Multi-tenant from day one. The system is structured around tenants — every client engagement, every candidate, every job, every action is scoped to a tenant. In practice that means a recruiter on one search can never see data from another agency's search by accident, and we can spin up a clean environment for a sensitive engagement (acqui-hire, founder replacement, anything that can't leak) without forking a database. It's the kind of thing you don't notice when it works and you really, really notice when it doesn't.
The timeline is the product. Every meaningful thing that happens to a candidate — CV uploaded and parsed, recruitment status changed, sent to a client, added to a pipeline, moved a stage, WhatsApp sent — writes a structured event with a typed ActionType. The candidate page is a read-model on top of that event log, not a free-form notes field. When the partner who owns the relationship goes on reserves and somebody else picks up the conversation, the full picture is already on the screen.
Recruiter ergonomics, not SaaS ergonomics. The screens are built for one workflow at a time. Intake, jobs, applications, scheduling, sending CVs, control center — each surface has one job and gets out of the way. There's no field-builder, no permission editor, no marketplace, no AI assistant that opens a chat panel you didn't ask for. The team is small enough that we change the product when the workflow changes, instead of writing a doc explaining why the product can't.
WhatsApp where it belongs. Israeli candidates live on WhatsApp. Email gets read on Tuesday. WhatsApp gets read in the elevator. So we shipped outbound WhatsApp directly into the candidate timeline this month — Phase 1, internal use only.
The way it's wired is the part worth describing. We don't send a WhatsApp message until the candidate has affirmatively given consent — an explicit consent action is recorded on the candidate, and the platform refuses to enqueue an outbound message without it. Templates are registered in code with an exact parameter count, so a recruiter can't send a half-substituted message. Every tenant has its own provider config, with the access token encrypted at rest. The outbox is idempotent — double-clicking Send doesn't double-send, and a worker crash mid-flight doesn't strand a row.
Interview reminders that don't require remembering. The platform scans active applications with a scheduled interview and enqueues a reminder twenty-four hours before, and another one hour before. Each (application, bucket) is keyed so a reminder fires once and only once even if the scanner runs every minute. From the recruiter's side, this is invisible. From the candidate's side, it's a WhatsApp at the time they actually need it, in Hebrew, from us — not a calendar invite they already dismissed.
What this means for the client. Faster response times. A cleaner pipeline view because the data underneath it is cleaner. A recruiter who walks into the kickoff already knowing what the last conversation was, what was promised, what the candidate cares about — because it's on the screen, not in a memory or a Slack thread. When you're hiring a CTO, three hours versus three days is the placement.
What it means for the candidate. A consistent voice. A team that doesn't ask you to re-tell your last conversation. A reminder on the right channel at the right time. Boundaries that we actually keep — if you didn't opt in to WhatsApp, we don't WhatsApp you. If you did, you hear from us when there's something to say.
We're not building a SaaS. We're not opening this up. Every senior placement is the result of dozens of small, correct moves — a fast first call, a clear note, a reminder that lands at 9:00 the night before, a CV that arrived in the format the client actually wanted. The platform exists because every shortcut compounds across the lifecycle of a senior search, and again across every search the firm runs. The compound interest goes to our candidates and our clients. That's the whole point.