Khaled Ahmed
Tech / SaaS Egypt Live in production Featured

Interprova — Arabic AI Interview Coach

My own product: an AI interviewer that runs a full job interview in Arabic or English — by voice and camera, or in writing. It builds its questions from the candidate's CV and the job advert, then scores each answer out of 10 with a written reason behind every point. One Node process serves the marketing site, the web app, the admin dashboard and the API, and the same codebase ships the Android app on Google Play.

Full-page screenshot of the Interprova — Arabic AI Interview Coach homepage — Tech / SaaS project in Egypt built with Node.js, Express, Prisma by Khaled Ahmed
Interprova — Arabic AI Interview Coach homepage as it renders live — Tech / SaaS · Egypt · Node.js, Express, Prisma, MySQL

Interprova is my own product, not a client build. It is an AI interviewer that runs a real job interview in Arabic — it asks, it listens to the answer spoken aloud, and it scores it out of 10 with a written reason for every point. Built for the Arab market rather than translated into it.

What I built

  • Live interview by voice and camera: the model speaks, the browser transcribes the answer, and the call is scored at the end
  • Questions generated from the candidate's uploaded CV and the pasted job advert, not from a fixed question bank
  • Written practice mode with a per-answer score, strengths, weaknesses and a model answer
  • One Expo codebase producing both the Android app on Google Play and the web app at /app
  • Express and Prisma API on MySQL, with an admin dashboard for users, content, payments and AI cost per call

The engineering decision

Every model call goes through one module that will try a second and a third provider before it gives up, with a 45-second budget for the whole chain and a one-minute cooldown on whichever provider just failed. That sounds like over-engineering until a quota runs out mid-interview: the candidate is sitting in a live call, and a provider that is merely slow is far worse than one that fails fast enough to fall back.

The rule underneath it is that an AI failure must never be written down as a result. An earlier version returned a placeholder score when the model was unreachable, and the interface saved it as a real grade. Now the call throws, the request returns 503, and the minutes it would have cost are refunded. A product that quietly invents a score is worse than one that admits it is down.

Technologies used

Node.jsExpressPrismaMySQLReact NativeExpo
Chat on WhatsApp