Custom systems for recruitment & staffing

The software your agency runs on — built around you.

Custom CRM, automation and premium websites for recruitment and staffing companies — built on the Microsoft 365 you already pay for, with AI built in wherever it removes real work. One senior person, start to finish.

What I build

Three things, done properly.

Not a generalist agency. A focused build partner for recruitment and staffing firms.

01

Custom CRM on Microsoft 365

A recruitment/HR system shaped to how you actually work — not a rented SaaS you bend yourself around. Built on your own SharePoint, so your data stays yours.

  • Candidate & client pipelines
  • Intake forms that feed the CRM
  • Reminders, dashboards, exports
  • Auto-generated branded documents

€12–18k · + €800–1,200/mo Care

02

Premium websites

Hand-built, fast, and on-brand — not a template. Career site, employer pages and intake funnels designed to actually convert.

  • Custom design & brand identity
  • Multilingual when you need it
  • Technical SEO done right
  • Connected to your CRM

€4,500–9k typical

03

Recruitment growth infrastructure

The machine behind the marketing: job-posting structured data, Google for Jobs, employer landing pages and candidate funnels — all wired into your CRM.

  • JobPosting / Google for Jobs
  • Employer & candidate funnels
  • Multilingual reach (hreflang)
  • GDPR / consent done correctly

€3,500–7k typical

AI — used heavily, kept honest

Modern AI built into what I deliver.

Less manual work: pull candidate data straight from CVs, passports and IDs; draft summaries, job ads and emails in seconds.

Always in control: AI does the busywork — a person makes every decision. No black boxes, nothing sent automatically.

Also, when a project needs it: workflow automation, Power BI reports & dashboards, legacy-data migration & cleanup, and emergency server / hosting recovery.

Hidden in your folders

The candidates you already have — finally searchable.

Most agencies sit on 5,000 to 50,000 CVs scattered across Outlook attachments, OneDrive, and exports from the ATS you used to use. You can't search across them. So they don't exist. Until they do.

The math your archive hides

20,000 CVs × 2% reactivation × €8,000 average fee

= €3.2M sitting in your folders.

Conservative numbers. Boutique agencies running ten years or more usually have far more in their archive than they realise — because nothing has indexed it.

Archive Unlock

Old documents extracted, indexed, searchable.

PDFs, Word files, scanned images, ZIP exports from your old ATS — pulled into structured records inside your CRM (or delivered as a clean export if you don't have one yet).

  • Name, role, skills, languages, location, work eligibility
  • Confidence-scored — low-confidence records flagged for review
  • Swiss-hosted processing available for regulated data
  • From €3,000 standalone — or bundled into a CRM build

Typical timeline: a 20,000-CV archive runs end-to-end in 3 to 5 days — pipeline configured to your data, batch processed, sampled for quality, delivered.

See it work

How the CRM works.

This is the kind of system I build — click through it. Your brand, your workflow; sample data only.

Sorapis · RecruitmentMicrosoft 365
Money report
Candidates
AI match
Pipeline
Intake
Documents
Money you're losing right now — computed from your own database
Candidate database — search, then open one
CandidateRoleNationalityStatusUpdated
AI match — say what you need, get a shortlist
Pipeline — same people, by stage
Public intake form
Marko Sample
Mechanic
Documents

Summaries & documents are composed per person. Open anyone in the Candidates database, go to the Documents tab, and one client-ready summary is composed from all their profile fields — you edit, done.

Illustration — sample data, not a live screenshot.

All of it lives on your own infrastructure — your data stays yours. AI does the busywork — reads CVs, passports and IDs and fills the fields — and a person confirms every time.
Real, verifiable

Not a mockup — a system in production.

Built for Vorentis, a technical-recruitment agency. The public site is live; the CRM below is the real product, shown with sample data.

Vorentis — built & running

View it live → See how it works
Dashboard & system healthBackups, reminders and the weekly digest running automatically — a live, maintained system, not a demo
Vorentis CRM dashboard and system health Click the image to open it full size ↗
Candidate profile & AI CV creatorPull a CV in with AI or build the branded Vorentis CV from scratch, with live pipeline progress
Vorentis CRM candidate profile and CV creator Click the image to open it full size ↗
Client shortlist & matchingMatch candidates to a client's exact need in seconds, straight from the database
Vorentis CRM client shortlist and candidate matching Click the image to open it full size ↗

Screenshots use sample data — no real candidate or client information.

Also delivered — InfermiereTicino

View it live →

Web and ongoing systems for a home nursing-care service in Locarno, Switzerland — a different sector from recruitment, kept here as proof I build & maintain for paying clients long-term.

Also delivered — Norwegian staffing company

~25,000 candidates · client name withheld
  • Recovered a failing production server & database — zero data loss
  • Custom recruitment + HR system on their existing Microsoft 365
  • Consolidated ~25,000 candidate records from scattered spreadsheets — deduplicated & synced
  • Auto-generated branded candidate documents — manual paperwork removed
Is this you?

Built for one kind of company.

This is for you if…

  • You run a recruitment or staffing firm
  • Your team fights spreadsheets, email and a tool that doesn't fit
  • You already pay for Microsoft 365 and barely use it
  • You want a system shaped to you — and to own it

Probably not if…

  • You want cheap off-the-shelf SaaS and will bend to it
  • You need it "yesterday" with no scoping
  • You're not the person who can say yes

The point isn't software — it's the outcome: recruiters place more and type less, your data stays yours, and you're live in weeks, not months. The system should pay for itself — that's the only reason to build it.

How it works

Clear scope. Fixed price. No surprises.

Discovery

We map how you actually work and agree exactly what gets built. You get a fixed scope and a fixed price before anything starts.

Build

I build it — start to finish, you talk to the person doing the work. Delivered in working steps you can see and approve, not one big reveal.

Care

A simple monthly plan keeps it running, supported and improving — new small features included. The system grows with you instead of going stale.

The model: a one-off setup for the build, then an optional monthly Care plan for hosting, support and ongoing improvements. You pay for the outcome, not the clock — fixed price for fixed scope, 50% to start, and you always deal directly with the person who builds and maintains it.

Pricing typically

Three project shapes — three rough ranges.

Foundation build

Pipeline, intake, dashboard, branded documents — on your own tenant.

€12–18k + €800–1,200/mo
Premium / regulated build

Hybrid hosting, pseudonymisation, audit chain — for healthcare, finance and regulated data.

€18–28k + €1,200–2,000/mo
Add-ons

Archive Unlock, Power BI, premium website, intake funnels — bundled or standalone.

€3–8k each

What moves your number.

Same model, different scope — your discovery call decides which apply to you.

Number of users
5 → 25+
Custom modules
CRM → + billing + portal
Integrations
Tenant → + HIN + Bexio + …
Compliance tier
Standard → healthcare / FADP
Languages
1 → 4
Document templates
3 → 15
Legacy data migration
None → 20k records
Archive Unlock volume
5k → 30k+ CVs

The exact number for your scope comes from discovery — not from this page. Larger or multi-country projects scoped accordingly.

Add-on packs

Pick what your firm actually needs.

Four packs. Same model, different problem. Each runs standalone or bundles with a CRM build — click a pack to see the services inside.

The Hidden Value Pack

Pack: €11–25k

Same database, same contacts, same inbox — finally working for you.

5 services: Client Reactivation · Conversation Recall · Placement Alumni · Spreadsheet Rescue · Source ROI

Client Reactivation

“200 past clients. You're talking to 30.”

200 × 35% currently hiring × 1 mandate  =  70 potential mandates this year.

Surface dormant clients with hiring signals (LinkedIn job posts, funding, team growth, public news) — prioritised re-engagement plan wired into your CRM as a reactivation pipeline.

From €2,500 · + €400/mo opt

Conversation Recall

“Years of emails. None searchable for context.”

12,000 candidate emails × 30s lookup  =  100 hours/year wasted searching.

Extract email threads with candidates and clients — build a per-contact relationship timeline surfaced inside your CRM: last contact, what about, what came of it, what's next.

From €3,500

Placement Alumni

“Your best candidates are now hiring managers.”

5 years × 20% promoted into hiring roles  =  50+ future clients already in your network.

Track placed candidates forward — LinkedIn promotions, job changes, company moves. Your CRM surfaces the right moment to re-engage them as warm clients or warm referrers.

From €3,000 · + Care

Spreadsheet Rescue

“Sarah has 5 spreadsheets. Marko has 3. None talk.”

A consultant leaves  =  3–6 months recovering what they tracked privately.

Audit every scattered tracking file across your team — consolidate into one CRM-ready database, document the workflows so the knowledge survives the people who built it.

From €2,500

Source ROI

“€30,000 a year on job boards. Which one places candidates?”

Most firms waste 40–60% of sourcing budget on channels that produce volume but no fee-generating placements.

Tag every candidate by source — follow them through pipeline to paid placement — per-channel ROI dashboard. Kill what doesn't pay, scale what does.

From €3,000

The Compliance Pack

Pack: €14–28k + €750–1,000/mo

EU AI Act. Pay Transparency. FADP. GDPR retention. SECO. One year of regulatory peace of mind — documented, audit-ready, defensible.

5 services: AI Decision Ledger · Pay Transparency Brief · GDPR Retention Auto-Purge · Compliance Calendar · SECO License Pack [CH]

AI Decision Ledger

“The fine for unexplainable AI screening is €15M. Yours lives in ChatGPT history.”

EU AI Act classes CV screening as high-risk. Documentation is required from day one, even with the 2027 deferral.

Logs every AI-assisted shortlist decision — prompt, model, output, human reviewer, override reason — plus auto-generated quarterly DPIA report and a candidate-facing explanation template.

From €4,000 · + €300/mo

Pay Transparency Brief

“From 7 June you must quote a range before interview.”

EU Pay Transparency Directive in force June 2026. Salary-history questions banned. Job ads without ranges  =  non-compliant.

Intercepts new role creation — forces a comp-band field before publish — flags existing live job posts that don't meet the rule. Quiet compliance, not bolt-on theatre.

From €3,000

GDPR Retention Auto-Purge

“35% of HR GDPR fines = bad deletion. Avg SME fine €50k.”

Most boutique CRMs hold CVs from 2019 with no current consent record. Audit day finds these in minutes.

SharePoint retention labels driven by “last meaningful contact” date, re-consent email at T-30, scheduled auto-purge, immutable audit log of what was deleted and why.

From €2,500

Compliance Calendar

“Work permits expire. Who's tracking?”

One lapsed contractor permit  =  €5–15k legal exposure, plus a lost placement and a damaged client.

Track work permits, certifications, background checks and visa expiries across your full contractor base — automated alerts at T-60 / T-30 / T-7, plus a client-facing compliance dashboard.

From €2,500 · + €200–400/mo

SECO License Pack CH

“Your AVG license renews in 9 months. Your file is in 4 binders.”

Jan 2026: SECO reporting scope widened from 6.5% to 10.8% of professions. Audit-ready file becomes mandatory.

SharePoint document set per placement — Bewilligung evidence, contract trail, vacancy-report receipts, foreign-worker checks — plus a Power BI compliance dashboard and renewal reminders.

From €4,000 · + €250/mo

The Fee Recovery Pack

Pack: €7–12k

One avoided fee dispute pays this 10×. Email-layer protection layered on your existing M365 — without giving up your inbox.

3 services: Off-Limits Radar · Submission Memory · Inbox-to-Reference

Off-Limits Radar

“You just pitched a candidate you placed at their employer 8 months ago.”

One avoided fee dispute pays for this 10×. Enterprise ATS got this last year; boutiques are still flying blind.

Watches outbound emails and submissions — cross-checks against your Off-Limits list (client, candidate, expiry date) — warns or blocks before send.

From €3,000

Submission Memory

“Two agencies claim this candidate. Yours has the timestamp — you just can't find it.”

90-day candidate-ownership is industry standard. Whoever proves “effective cause” first keeps the fee.

Outlook add-in auto-stamps every CV-attached email to a client — date, recipient, candidate, role, fee — into an immutable SharePoint log. One-click “proof of introduction” PDF for legal.

From €2,500

Inbox-to-Reference

“You promised the reference call. It never got booked. The placement walked.”

61% of candidates ghosted post-interview. Offer-stage drop-off rises sharply when the reference loop slips.

Detects “reference” keywords in outbound mail, auto-creates a SharePoint reference-request workflow — form to referee, log into candidate file, status visible to recruiter and client.

From €2,500

The Owner Dashboard Pack

Pack: €13–25k + €500/mo

What your gut tells you vs. what the data says — every Monday morning. The numbers your owner-screen never had.

5 services: Intake Decoder · Pipeline Reality Check · Stalled Deal Rescue · Hiring Manager SLA Tracker · Contractor Margin Watch

Intake Decoder

“4 hours on the brief. The recruiter still mis-shortlists.”

Recruiters spend 30% of the week on intake admin. 23 hours per hire lost to manual screening.

Records the hiring-manager intake call (Teams) and turns it into a structured Role Card — must, nice, red-flag, comp band, competencies — auto-filed to the role folder.

From €3,500

Pipeline Reality Check

“You forecast €420k this quarter. The math says €180k.”

Owners over-forecast on hope. Weighted pipeline is what hires, fires and pays.

Every open role re-weighted by historical close-rate per recruiter, per client and per role-type — realistic 30/60/90-day cash forecast. Monday-morning truth instead of vibes.

From €4,000

Stalled Deal Rescue

“23 candidates mid-process. 9 are dead. Nobody told you.”

TA teams spend 42% of time on interview logistics. KPIs scatter across ATS, CRM and spreadsheets.

Power BI pulls from M365 mail + your submissions list — scores every open process by “days since last activity” — surfaces dead and at-risk processes in a weekly owner digest.

From €3,000

Hiring Manager SLA Tracker

“Feedback after 48h = +50% chance the deal collapses. Yours sits at 6 days.”

Industry rule: 48h is the ceiling. Beyond that, top-of-funnel candidates accept competing offers.

Watches every submission — starts an SLA clock — auto-nudges the hiring manager at 24/48/72h — owner dashboard of stalled deals by client with €-at-risk score.

From €2,500 · + €200/mo

Contractor Margin Watch

“Contractor #14 is gross-margin negative. You'll find out at month-end.”

After 10 active placements, margin rules hide in spreadsheet cells. Real margin appears in QuickBooks weeks too late.

SharePoint contractor list + timesheet capture + live margin calc — bill rate minus pay rate minus employer cost minus umbrella — with red-flag alerts the moment a placement turns unprofitable.

From €4,000 · + €300/mo

One rule

If a system won't make you money or save it, I don't build it. Pretty software that doesn't move numbers wastes everyone's time. Every project starts with the one number it has to move.

About

One senior builder. The whole job.

I'm Anto Andrijanic. I build the systems recruitment and staffing companies actually run on — and I've been on both sides of them. Before I wrote a line of code for an agency, I worked inside them: I've watched recruiters lose strong candidates in spreadsheets, retype the same data five times, and chase work a system should have surfaced.

So when I build, it isn't generic software — it's the way your team already works, made fast, and owned by you. Selected work: rebuilt a failing Norwegian staffing company's server and consolidated ~25,000 scattered candidate records into one custom system; co-built Vorentis, a technical-recruitment agency — premium site and a custom CRM from scratch; and I build and maintain the web and systems for a Swiss client today.

One senior person, start to finish. You explain the problem to the same person who solves it — no account managers, no juniors, no empty promises. Just systems that help your agency place more and waste less.

— Anto

From the blog

Recent writing.

Evidence-based posts on recruitment systems, compliance and what actually moves the numbers. No fluff, no fear-marketing — sourced statistics, honest math, and what works on the ground.

All posts →

Questions

The things people ask first.

Straight answers — no sales fog.

Why custom — why not an off-the-shelf ATS or SaaS?
Rented software makes you bend to it, charges per seat forever, and parks your data on someone else's servers. A custom system is shaped to how your team actually works, runs on the Microsoft 365 you already pay for, and is yours.
Do I actually own it?
Yes. It lives inside your own Microsoft 365 / SharePoint — no per-seat licence to me, no lock-in. If we ever stop working together, the system and all the data stay with you.
What if I want to switch later? Won't I be locked in?
Opposite of SaaS lock-in by design. You own the source code, the schema, the documentation and all your data — on day one, in your own repository and your own Microsoft 365 tenant. If we stop working together tomorrow, the system keeps running and another developer can pick it up cold from the docs.

Compare to Bullhorn / Vincere / generic ATS: your data lives on their servers, the export format is proprietary, your workflows are shaped to their UI, and per-seat fees compound for years. Migration off costs €20-50k and 6 months of chaos — which is why almost no firm ever leaves once they're on.

Custom on your own M365 is the opposite trade-off: more upfront work, zero lock-in afterwards. Honest comparison →
How does pricing work?
Fixed price for fixed scope, agreed before anything starts — then an optional monthly Care plan for hosting, support and improvements. I don't sell hours; I sell the outcome. No surprises, and you deal directly with the person who builds it.
Why does it cost €15k+ when it looks like “a SharePoint list”?
Because you're not paying for the code. You're paying for the work around it: understanding how your team actually works (not how you think they work), shaping the system so it doesn't break when a real recruiter uses it on a Tuesday afternoon, integrating with the email, document and calendar flows your team already lives in, the IT consent dance, the data migration nobody warned you about, the testing that catches the edge case before the client does, the documentation another developer can pick up cold, the post-launch support when someone's first instinct is to break it.

The code itself is maybe a third of the price. The rest is the experience that makes the code not be the wrong code. The cheapest quote you'll get is from someone who only counted the typing.
Is our data — and our candidates' data — safe?
It stays inside your own tenant, under the security and compliance you already have — nothing is copied out to a third-party SaaS. Built GDPR-aware from the start.
How many candidates can the system actually handle?
Three tiers, depending on your size:

Up to ~30,000 records — SharePoint-native, comfortable, fast. The default build pattern (Vorentis runs 25,000+ smoothly).

30,000–100,000 records — Hybrid setup. SharePoint stays for workflow and UX, a Swiss-hosted PostgreSQL layer handles candidate search and document index. Same look-and-feel, more horsepower underneath.

100,000+ records — Full custom platform: Swiss-hosted PostgreSQL as the source of truth, M365 as the workflow + UX layer, semantic search and analytics built in. Different scope (€35–80k+), different timeline (3–5 months) — and an honest "do you actually need custom?" conversation, because at that scale Bullhorn or Vincere might serve you better if you're happy locking into a SaaS.
What if you get hit by a bus?
Fair question with any solo consultant. Three things protect you:

Full documentation, delivered with the system. From day one you get the complete source code, schema, integration notes, deployment guide and runbook — everything another developer needs to take over cold. It lives in your own repository, not mine.

Your system lives in your own Microsoft 365 tenant — not on my server. If I disappear, your system keeps running. No vendor lock-in, no service that goes dark.

For 30+ day unavailability your contract includes a clean termination option with no penalty, and I maintain working relationships with peer M365 developers who can step in for Care continuity if needed.

Bus factor is real for any solo practice. The answer is code escrow from day one, full documentation that another developer can actually use, and a documented handoff path baked into the contract — not pretending the risk doesn't exist.
We just have spreadsheets and a half-working setup. Worth changing?
That's the usual starting point — and the usual first project. The first step is deliberately small and fixed-price: turn today's chaos into one working system in weeks, so your team places more and hunts less.
What about all the old CVs we already have?
We extract them — PDFs, Word, scans, and ZIP exports from old ATSes — into structured, searchable records inside your CRM. A 20,000-CV archive typically runs in 3 to 5 days. Can be a standalone project or bundled into a CRM build. See Archive Unlock.
How long until we see something?
A useful first version in weeks, not months — delivered in steps you can see and approve, not one big reveal at the end.