Inspiration
Medical specialty interviews are high-stakes, but preparation remains surprisingly unstructured. Candidates often rely on static question banks, expensive coaching courses, or informal practice with friends. These approaches can help, but they rarely provide consistent, objective feedback or show candidates how they are improving over time.
I experienced this problem directly while preparing for surgical recruitment in the UK. A candidate may understand the clinical content but still lose marks because their answer lacks structure, prioritisation, or clear communication. Traditional question banks can show candidates what a good answer contains, but they cannot listen to an answer, identify what was missed, and explain how to improve it.
That led me to build Hebbian, an AI-powered interview coach for doctors applying to competitive UK medical training programmes.
The name is inspired by Hebbian learning: the idea that repeated, reinforced connections become stronger. Hebbian applies this principle to interview preparation by helping candidates practise repeatedly, receive targeted feedback, and build better answering habits.
What it does
Hebbian provides realistic, specialty-specific interview stations for programmes such as Core Surgical Training, Internal Medicine Training, Radiology, Anaesthetics, and higher surgical specialty recruitment.
Candidates can:
- Choose a specialty interview track
- Practise a timed station using voice or text
- Respond to realistic follow-up questions
- Receive feedback against a station-specific scoring rubric
- See which points they covered, partially covered, or missed
- Review an improved answer structure and personalised next steps
- Track their performance across repeated attempts
Rather than producing generic advice such as “be more structured”, Hebbian explains where an answer lost marks and what the candidate should do differently next time.
A simplified representation of the scoring process is:
$$ S = \sum_{i=1}^{n} w_i r_i $$
where $r_i$ represents performance against an individual rubric criterion and $w_i$ represents the importance of that criterion within the station.
The numerical score is only one part of the output. The more useful result is an evidence-based explanation of how the score was reached.
How we built it
Hebbian is built as a full-stack web application.
The frontend uses SvelteKit to provide a responsive practice interface with station timers, audio recording, transcript review, and interactive feedback reports.
The backend uses FastAPI, with services deployed through Google Cloud. Firebase Authentication manages user accounts, while Firestore and Cloud Storage store station content, attempts, transcripts, and audio recordings. Stripe manages access plans and practice-credit purchases.
For voice practice, recorded answers are sent to the OpenAI speech-to-text API. Candidates can review and correct their transcript before submitting it for analysis, reducing the risk that transcription errors affect their feedback.
The transcript, station instructions, and approved scoring rubric are then passed to an OpenAI model through a structured analysis pipeline. The model returns validated structured data containing:
- Criterion-level scores
- Evidence from the candidate’s answer
- Missing or underdeveloped points
- Strengths
- Priority improvements
- A suggested answer structure
- Overall feedback
Each attempt stores a snapshot of the station and rubric used at the time of submission. This makes the evaluation reproducible even if the underlying question bank is updated later.
Every station has its own expert-reviewed rubric. The model is not asked to invent what a good answer should contain; its role is to assess the candidate’s response against an explicitly defined standard.
Challenges we ran into
The hardest challenge was producing feedback that was consistent, specific, and genuinely useful.
Medical interview answers are rarely exact matches to a model answer. Candidates may communicate the correct idea using different terminology or in a different order. The evaluation system therefore needs to recognise semantic coverage without rewarding vague statements or assuming knowledge that was never demonstrated.
Latency and cost were also important constraints. Detailed analysis can require substantial reasoning, but candidates expect feedback soon after completing a station. We had to balance model capability, prompt size, response structure, and the number of processing steps.
Another challenge was supporting very different interview formats. A clinical prioritisation station, portfolio discussion, and ethical scenario require different rubrics and different styles of feedback. Hebbian addresses this through modular station types and bespoke assessment criteria.
The final challenge was maintaining trust. In a high-stakes educational setting, an unexplained score is not enough. Hebbian therefore shows the evidence behind its evaluation and presents the output as coaching rather than an authoritative recruitment decision.
Accomplishments that we're proud of
We built a working end-to-end voice practice flow that takes a candidate from a timed interview station through recording, transcription, transcript review, structured scoring, and personalised feedback.
We are particularly proud that Hebbian does not rely on generic prompting alone. Each station is paired with an expert-reviewed rubric, allowing the system to evaluate candidates against a clear and transparent standard.
We also designed the feedback to be actionable rather than merely descriptive. Candidates can see what they did well, where they lost marks, and what to practise next.
Finally, we built Hebbian around a real problem faced by doctors preparing for competitive UK medical recruitment, with the aim of making high-quality interview coaching more accessible and measurable.
What we learned
The biggest lesson was that reliable AI assessment depends as much on the quality of the evaluation framework as it does on the model.
Early versions produced feedback that sounded convincing but was sometimes too broad. The output improved substantially when we replaced general prompts with detailed, station-specific rubrics and required the model to connect every judgement to evidence from the transcript.
We also learned that the best feedback is not necessarily the longest feedback. Candidates need to understand three things quickly:
- What they did well
- Where they lost marks
- What they should practise next
This influenced both the prompting strategy and the design of the feedback interface.
Another important lesson was the need to separate content creation from assessment. Interview questions and rubrics should be written and reviewed before they are added to the question bank. The AI should evaluate candidates against that approved content rather than silently changing the standard for each attempt.
Building the voice workflow also highlighted the importance of transparency. Allowing candidates to review their transcript before analysis gives them more control and reduces the risk that an inaccurate transcription produces misleading feedback.
What's next for Hebbian
The next stage is to expand Hebbian into additional specialty tracks and introduce adaptive practice recommendations based on each candidate’s recurring weaknesses.
We also plan to improve follow-up question logic so that practice sessions feel more like a real interview rather than a sequence of isolated prompts.
Another area of development is multimodal feedback using video signals such as gaze direction, speaking pace, and visible engagement. This could allow Hebbian to provide communication coaching alongside content-based assessment, while avoiding unsupported claims about personality or emotion.
The long-term goal is to make high-quality interview preparation more accessible, personalised, and measurable for doctors, regardless of whether they can afford repeated private coaching.
Built With
- fastapi
- firebase
- gcp
- gpt
- openai
- python
- speech-to-text
- stripe
- sveltekit
- typescript
Log in or sign up for Devpost to join the conversation.