About Bantuin Online

Inspiration

Technical hiring is often fragmented across docs, spreadsheets, and emails—leading to slow, inconsistent evaluations. Furthermore, multiple-choice tests fail to capture how candidates actually solve problems.

I built Bantuin Online to give hiring teams an AI assistant for essay-based technical assessments. Instead of making autonomous hiring decisions, AI acts as a reviewable assistant that surfaces structured evidence, trade-offs, and communication skills while keeping humans in full control.

What it does

Bantuin Online turns job descriptions into end-to-end technical assessment workflows:

  • AI Assessment Generation: Automatically generates role-specific essay questions and observable grading rubrics.
  • Resume & Candidate Screening: Screens PDF resumes and hosts timed, section-based candidate tests.
  • Rubric-Grounded Evaluation: Grades essays against defined rubrics and ranks candidates using deterministic backend logic.
  • Human-in-the-Loop: Automatically escalates low-confidence scores, borderline cases, or critic warnings for manual review and override.

How I built it

  • Tech Stack: Laravel 13 (PHP 8.5), Inertia.js 3, React 19, TypeScript, Tailwind CSS 4, PostgreSQL, Docker, FrankenPHP, and Alibaba Cloud.
  • Multi-Agent AI Pipeline: Powered by Laravel AI SDK (custom Qwen provider via DashScope), split into Reasoning (evaluation generation), Structured Data (schema validation), and Critic (safety & confidence checks) agents.
  • Deterministic Ranking: Backend calculates final rankings directly using weighted scoring components to ensure transparency and auditability.
  • Queue Reliability: Employs claim-execute-finalize boundaries so long-running AI requests stay outside database transactions, with snapshotting to prevent data drift during campaign edits.

Challenges I ran into

  • Essay Consistency: Solved by generating per-question rubrics and running a secondary Critic agent to flag hallucinations or unsupported conclusions.
  • AI Safety & Untrusted Input: Isolated candidate inputs in prompts and strictly enforced score logic and state transitions on the backend.
  • Concurrency & Performance: Used non-blocking background jobs for AI processing and snapshot candidate test states upon starting to ensure immutable assessments.

Accomplishments I'm proud of

  • Developed a custom Qwen provider integration for the Laravel AI SDK.
  • Engineered a robust Multi-Agent workflow (Reasoning + Structured Output + Critic Agent).
  • Built a fully auditable candidate ranking system backed by automated tests.
  • Implemented secure candidate journeys with private S3 storage and team-scoped authorization.

What I learned

  • Prompts are not enough: Production AI requires rigorous backend validation, state management, and human oversight.
  • Valid JSON ≠ Correct Logic: Schema-valid outputs can still contain logical inconsistencies; backend verification remains mandatory.
  • AI as an Evidence Engine: AI is most effective when surfacing candidate reasoning for humans rather than acting as a black-box gatekeeper.

What's next for Bantuin Online

  • Reusable team question libraries and advanced hiring funnel analytics.
  • AI multi-provider failover support and ATS/calendar integrations.
  • Enhanced fairness monitoring and protected-attribute safeguards.

Built With

Share this project:

Updates