Project Info
Inspiration
Interviewing is hard, and practice makes perfect. But many people don’t have someone to practice with—friends are busy, and professional coaching is expensive. Acey solves this by giving everyone an AI interview coach to practice with anytime.
What it does
Acey is like a real interview, but with AI. You talk to it, and it gives feedback to help you improve. Key Features: Talk naturally – Acey listens and responds like a real person. Instant feedback – Get tips on your answers, body language (eye contact, posture), and how well you use the STAR method. Adjustable difficulty – Choose Easy, Medium, or Hard mode. Score & feedback report – See your strengths, weaknesses, and how to improve. Save your progress – Log in to track your past interviews. How We Built It Frontend: Made with React + Firebase (for login). Backend: Built with Python & Flask. APIs: Vapi – Handles the voice conversation + turns text into speech. Deepgram (Vapi) – Turns speech into text. Gemini AI – Generates questions & feedback. Gemini Vision - Checks your body language and returns feedback. Gemini AI – Generates questions & feedback. Fetch.ai - Utilizes mutiple ai agents to customize and give real time feedback Challenges We Faced Getting Flask and all the AI tools to work together smoothly was tricky. For example, at the start, the chatbot was very sensitive to noise, so it get getting interrupted while asking / giving a question. Another challenge we faced was picking the best Gemini model for vision and posture-recognition, which required lot of experimenting. We ended up picking Gemini 2.0 Flash that satisfied our specifications. We were also having difficulty to customize multiple agents for varying difficulties. Our solution was to combine Gemini and uagents together to make each agent. We also had to figure out a proper scoring system so that the AI gave fair, useful feedback took a lot of testing. What We’re Proud Of We're proud to have created a realistic, helpful interview practice tool that analyzes both body language and responses, which are observed in real interviews. For the most part, the conversations feel smooth and questions asked are plausible in real interviews. Also, some of our UI designs, like Acey the Cat, were hand-drawn, and the design fits well with the overall website. What We Learned We all gained significant experience in: Full-Stack Development: **Connecting a React frontend to a Python/Flask backend. **System Architecture: Designing a complex system that orchestrates multiple third-party APIs. Prompt Engineering: Writing detailed prompts to control the behavior and output format of large language models. Real-time Data Processing: Managing and synchronizing multiple real-time data streams. What’s Next? Progress tracking: See how you improve over time. Pinpoint feedback: See exactly where you said "um" or lost eye contact. Improve scoring: Create more comprehensive and accurate scoring.
Analysis
View
Metric
- 24
- 8
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FirebaseIn code
- FlaskIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Google GeminiClaimed
- Node.jsClaimed
7 of 9 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
233 KB
Source files
40
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
samoohleester/Acey-The-Interviewer
65 files · 2.0 MB · @ f107c3b
Structure
Application logic
34 files · 52%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript41%
- CSS30%
- Python23%
- Markdown6%
- HTML1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 13- @testing-library/dom
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- @vapi-ai/web
- firebase
- react
- react-dom
- react-draggable
- react-router-dom
- react-scripts
- react-webcam
- web-vitals
backend/requirements.txt
pypi · 9- beautifulsoup4
- Flask
- Flask-Cors
- google-generativeai
- Pillow
- python-dotenv
- requests
- uagents
- vapi-server-sdk
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.