Your entire workforce. One platform. Open source soon.

Replace your fragmented hiring stack with one unified platform. Xeela seamlessly combines AI‑driven sourcing, live technical assessments, a dedicated recruiter CRM, and full‑suite Core HR, from stranger on LinkedIn to managed employee.

Explore the project See Xeela in actionFuture open-source release · Community preview · Feedback welcome
LinkedIn
Sofía Alvarez
Senior ML Engineer @ Mistral
Paris, FR · 2nd
Match · Sr ML role
0%
interview-live · main.tsLIVE · 24:12
main.ts
tests.spec.ts
README.md
1// Xeela Proctor · anti-cheat module
2function detectCheating(ctx: Session) {
3  const tab = ctx.tabSwitches();
4  const faces = ctx.facesInFrame();
5  return
6}
⚠ Proctor armed · 0 flags2 participants
campaign · sprint-q2-frontend

The talent you evaluate is the talent you get.

A native IDE, video interviews, rigorous anti‑cheating, and an AI that writes the scorecard for you. No redirecting candidates to a third‑party test and praying the same person shows up to onboarding.

interview · Lina K. · Senior FE
IN SESSION:LK LinaMR Marc (interviewer)
1// Implement a rate limiter (sliding window)
2export class RateLimiter {
3  private hits: Map<string, number[]>;
4  private limit: number;
5  private window: number;
6  constructor(limit = 60, window = 60_000) {
7    this.hits = new Map();
8    this.limit = limit;
9    this.window = window;
10  }
11  allow(key: string): boolean {
12    const now = Date.now();
13    const list = this.hits.get(key) ?? [];
14    const fresh = list.filter(t => t > now - this.window);
15    if (fresh.length >= this.limit) return false;
16    fresh.push(now);
17    this.hits.set(key, fresh);
18    return true;
19  }
20  remaining(key: string): number {
21    const now = Date.now();
22    const fresh = (this.hits.get(key) ?? [])
23      .filter(t => t > now - this.window);
24    return Math.max(0, this.limit - fresh.length);
25  }
26  reset(key: string): void {
27    this.hits.delete(key);
28  }
29}
⚠ Proctor · 0 tab switches · 1 face✓ Tests: 4/5 passing
Interview Report
Lina KowalskiLina Kowalski · Senior Frontend · 42 min
Technical9.2 / 10
Communication8.4 / 10
Experience fit9.0 / 10
Problem solving7.6 / 10
Observed strengths
Clean sliding‑window implementation on the first pass, reached a working solution in under 14 minutes.
Clarified ambiguous bucket semantics with the interviewer before writing any code.
Reached O(log n) on the follow‑up variant with minimal prompting.
Wrote three edge‑case tests unprompted (empty window, overlapping keys, clock drift).
Summary

Lina demonstrated senior‑level fluency with time‑series data structures and a strong instinct for edge cases. Communication was clear and structured throughout. Recommend fast‑tracking to the system design round.

Run the interview.
Ship the verdict.

A coding environment, live video, and proctoring signals in one window. When the session ends, Xeela writes the scorecard, scores, strengths, a Strong Hire / Hire / No Hire call, and files it against the candidate record automatically.

Native live coding IDE
Real‑time pair programming with automated test runs. No external redirect.
Rigorous anti‑cheating
Tab switching, clipboard, face count, and focus signals, all surfaced in the report.
AI interview reports
Technical / Communication / Experience scored with observed strengths and a final recommendation.
Tests library & templates
Calibrated problems by role and seniority. Clone, tweak, ship.

Built for staffing agencies, not adapted from an HRIS.

Clients, Contacts, Deals, Positionings, Activities. Wired to the same candidate record that sourced them. Run Gmail campaigns with AI drafts, auto‑sync replies, track opens, schedule follow‑ups, without leaving Xeela.

Pipeline, deals,
and a mailbox that types for you.

Clients · Contacts · Deals · Positionings
A full sales‑style CRM where the same candidate record flows from sourcing → shortlist → placement.
Email campaigns
Connect your mailbox, write with AI suggestions, send sequences, auto‑sync replies, track opens.
Kanban boards
Drag candidates through placement stages. Each card carries the deal value, owner, and next step.
Activities timeline
Calls, emails, notes, meetings, logged against the candidate and the deal at once.
XeelaCRM · Q2 Placements · Kanban
Shortlisted · 8€ 184k
Payrise · Acme
Sr ML Engineer
3 candidates€ 24k
Lumen Labs
Staff Data Eng
2 candidates€ 32k
Fjord SA
Product Manager
1 candidate€ 18k
Interviewing · 5€ 128k
Acme · follow‑up
Sofía Alvarez → Sr ML
Round 3 / 4€ 24k
Northwind
Lina K. → Sr FE
Round 2 / 3€ 21k
Offer · 3€ 86k
Helvetia AG
Marcus D. → Staff
Pending signature€ 32k
Okapi SAS
Tomás R. → Sr Res.
Counter‑offer€ 28k
Placed · 12€ 312k
Prism Corp
Amira B. · ML Eng
Started 04/07€ 22k
Halberd Ltd
J. Mercier · DevOps
Started 03/24€ 26k

The candidate journey doesn't end at the offer letter. Neither does Xeela.

Secure employee files, frictionless-access portals, leave with approval chains, and document compliance with expiry tracking. From stranger to managed employee, on one record.

Employee portal · OTP sign‑inPasswordless
Enter the 6‑digit code sent to
+33 6 •• •• •• 42
4
8
1
9
Expires in 00:47
Why OTP?
No password sprawl. No reset tickets. Access is always fresh.
Leave · approval chainApril 2026
Marcus Dubois
Marcus Dubois
Apr 22 → Apr 26 · Paid leave · 4d
✓ Approved
Sofía Alvarez
Sofía Alvarez
May 04 → May 10 · Paid leave · 5d
● Pending · L2
Lina Kowalski
Lina Kowalski
May 15 → May 16 · Sick · 2d
✓ Auto
Tomás Rivera
Tomás Rivera
Jun 02 → Jun 13 · Unpaid · 10d
● Pending · L1
Document compliance4 of 4 valid
ID
EU National ID
Expires 2031‑08‑02 · 5y 4m
CDI
Employment contract
Signed 2024‑01‑04 · indef.
RP
Residence permit
Expires 2026‑07‑19 · renew
!
NDA
NDA & IP assignment
Signed 2024‑01‑04 · perpetual

Help shape the future of open-source hiring infrastructure.

Xeela is being prepared for a future open-source release. Explore the platform, share feedback, and help guide the roadmap with the community.

Open-source release planned · Community preview · regional residency · GDPR‑native