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
- alibaba-cloud
- dashscope
- docker
- frankenphp
- inertia.js
- laravel
- postgresql
- qwen
- qwen-cloud
- react
- shadcn/ui
- tailwind-css
- typescript
- vite


Log in or sign up for Devpost to join the conversation.