Interaction Design, Generative AI
Leveraging AI to help job seekers prepare for interviews
Overview
As someone who is currently preparing for interviews for jobs, I noticed that me and many others find behavioral and situational interviews more anxiety inducing than technical interviews. This case study demonstrates my passion project where I designed a web interface leveraging LLMs to help people prepare for such interviews.
My Role
Developed a web-based interface using React and LLama3 model where users can practice behavioral and situational questions and get feedback on their answers.
Tools: Figma, React, v0.dev, TypeScript
Motivation
A quick survey with current senior and graduate students helped me understand their opinions and frustrations about interview processes. I set out to answer the following questions:
How do they currently prepare for interviews, and what are their biggest challenges?
How do they currently evaluate their own interview performance?
"I really struggle with behavorial questions"
-Participant 1
"I have trouble with these (behavioral) types of interviews"
-Participant 2
"…I'm not sure I'm differentiating myself from a bad candidate"
-Participant 3
The Working
Designing the Interface
I started the exploratory sketching and defining the I/O flow for the interface. The focus was on designing a simple and intuitive dedicated interface different from the conventional chatbot interface seen in platforms like ChatGPT, Perplexity, Claude, etc.


I initially experimented with Google Colab and Python to implement the core functionality while using Gradio to design the interface. This approach allowed me to quickly test individual functions and establish a working MVP prototype with minimal setup.
However, I encountered limitations with Gradio’s API, which restricted my ability to fully customize the UI and interactions as needed. Additionally, Google Colab’s constraints like session duration, managing dependency, and lack of storage made it difficult to use beyond quick, initial prototype.

For the final implementation, I chose React for front-end development because of its component-based architecture, which made it easier to build a modular and maintainable interface. It provided greater flexibility and control, allowing me to fine-tune the design and user interactions.

Iterations
Refining the interface involved optimizing two things
Inputs required to generate relevant question(s) and feedback(s)
Balancing the human and AI touch for the outputs to make it clear and concise
Refining the Inputs
I considered different use cases like —1. practicing for a specific position at a specific company, and 2. practicing general questions— to optimize the inputs.
I selected some inputs that would be mandatory (position), and some inputs that would be optional (company, years of experience) in case the user want more specific questions
Optimizing the outputs
Initial questions and feedback were long, overwhelming, and generic. The goal was to provide the user with one question at a time to not overwhelm them and simulate an actual interview situation by making the outputs clear and concise.
I achieved better results by tuning the inputs and prompts given to the LLM while generating the question,
© Framer Inc. 2023