Skip to content

ijnebzor/prepaired

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 PrepAIred

Interview simulation that doesn't let you off easy.

Live Version License No Server BYOK

Five personalities. Real time pressure. Honest scoring. Bring your own API key β€” runs entirely in your browser.

Not a practice tool that tells you you're doing great. A simulation that tells you when you're not.


πŸ“Έ Screenshots

Landing

PrepAIred landing page

Setup β€” live key validation + Systems Go

Setup modal with live validation and Systems Go panel

Interview in progress

Interview screen β€” adversarial panel, Q3 of 10, real push-back

Session summary

Summary with 4-dimension breakdown and feedback loop


🧠 What It Is

PrepAIred simulates a real interview β€” with an interviewer who pushes back, scoring calibrated to be honest, and time pressure that means something.

It is a single HTML file. No server. No account. No data leaving your machine except the API calls you explicitly make to your chosen provider.

πŸ”— Try it now β†’


πŸš€ Getting Started

  1. Go to ijnebzor.github.io/prepaired
  2. Click Get PrepAIred β†’
  3. Choose your provider β€” Anthropic, OpenAI, or Groq (Groq is free, no credit card)
  4. Paste your API key β€” it validates live against the provider before you can start
  5. Watch the Systems Go panel confirm everything is ready
  6. Optionally paste your bio or resume for personalised coaching
  7. Pick personality, format, difficulty β€” begin
# Or run locally (API calls blocked from file://, use a server)
git clone https://github.com/ijnebzor/prepaired.git
cd prepaired
python3 -m http.server 8080
# open http://localhost:8080

πŸ”‘ Providers

Provider Model Cost Notes
Anthropic Claude Haiku ~$0.02/session Best quality for this use case
OpenAI GPT-4o-mini ~$0.03/session Solid alternative
Groq Llama 3.1 8B Free No credit card. Ludicrous speed.

Keys are validated live before the interview starts, stored in-memory only, and wiped on page unload.


🎭 Interviewer Personalities

Personality Behaviour
β˜€οΈ Warm Encouraging, constructive. Still probes gaps β€” just gently.
πŸ”¬ Technical Rigorous. Demands specifics, frameworks, implementation detail.
βš”οΈ Adversarial Tough and skeptical. Pushes back on almost everything. Not rude β€” relentless.
πŸ“‹ HR / STAR Wants Situation, Task, Action, Result. Redirects vague answers to real examples.
πŸ”­ Curious Intellectually engaged. Goes off-script when something interesting comes up.

⏱️ Difficulty / Time Pressure

Mode Behavioural Governance Technical Scenario
🟒 Easy 3:00 3:00 3:00 4:00
🟑 Real 2:00 2:30 2:00 3:00
πŸ”΄ Brutal 1:15 1:30 1:30 2:00

Timer auto-submits when it hits zero. The interviewer notes it.


πŸ“Š Scoring

Each answer is scored 1–10 across four dimensions:

Dimension What it measures
Structure Logical flow, clarity, framing
Confidence Conviction, directness, not hedging unnecessarily
Technical Depth Specificity, correct terminology, real-world application
Consulting Readiness Client orientation, stakeholder awareness, delivery thinking

Calibration: 7 = solid. 9 = exceptional. 10 = almost never. Not inflated.

Do-overs are available (max 3 per question) but carry a βˆ’0.5 overall penalty per attempt.


✨ Features

  • πŸ”‘ Live API key validation β€” Systems Go panel; Begin button locked until your key passes a live check
  • πŸ‘€ Candidate profile β€” paste your bio, resume, or LinkedIn URL for personalised coaching
  • πŸ’Ύ Session export β€” full session as JSON: questions, scores, verdicts, attempt counts, transcripts
  • πŸ” Feedback loop β€” record the real interview outcome; anonymised locally for Phase 4 calibration
  • β†Ί Do-overs β€” up to 3 per question with a score penalty; for genuine blanks, not comfort redos

πŸ”’ Security

PrepAIred is built around one principle: your key never leaves your hands.

  • API calls go directly from your browser to your chosen provider β€” no proxy, no backend
  • Key stored in JS memory only; wiped on beforeunload
  • connect-src CSP restricts outbound to Anthropic, OpenAI, Groq, and Google Fonts only
  • No analytics. No telemetry. No third-party scripts.
  • No cookies. localStorage stores only anonymised outcome data (capped at 50 entries).
  • All user input sanitised before API submission

Known limitations:

  • Key readable in browser devtools memory during the session
  • AI responses rendered via .innerHTML β€” a compromised provider endpoint could inject content (mitigated by connect-src CSP)

Full threat model, controls, and responsible disclosure: SECURITY.md


πŸ—ΊοΈ Roadmap

Phase Status What
1.0 βœ… Done Interview simulator β€” 5 personalities, timer, honest scoring
1.5 βœ… Done Multi-provider, candidate profile, session export, feedback loop, live key validation
2.0 πŸ”œ Next JD ingestion β€” paste a job URL or PDF; AI generates role-specific questions with salary benchmarks
3.0 πŸ“‹ Planned Salary negotiation simulator β€” offer roleplay, counter coaching, market bounds
4.0 🧠 Planned Career intelligence β€” gap analysis, pathway planning, outcome calibration

Full detail: phases/ROADMAP.md


πŸ—οΈ Tech

Single HTML file. No build process. No dependencies. No framework.

Thing Choice
Language Vanilla JS (ES2020)
Styling CSS custom properties, no preprocessor
Fonts Syne + JetBrains Mono via Google Fonts β€” degrades gracefully if blocked
Providers Anthropic Messages API Β· OpenAI Chat Completions Β· Groq (OpenAI-compatible)
Screenshots Playwright (dev only, not shipped)

πŸ“œ License

MIT. See SECURITY.md for responsible disclosure.


Built by Benji Zorella · AI-assisted · Brought to life with 🧠 and ❀️ by Claude


"Gold stars are for kindergarten."

About

Interview prep assistant powered by gamification and AI.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors