A mock-interview backend that reads like a systems design answer sheet
AI-Meeting is a Spring Boot 3 + Spring AI backend for resume-driven mock interviews — and a surprisingly thorough showcase of distributed state, streaming, and concurrency patterns.
What it does
Upload a PDF resume and a crew of five workflow agents takes over: one parses the resume and generates questions, others ask, score, follow up, and even judge your on-camera demeanor. Answers come back with per-question scores, feedback, a radar chart, and an AI summary. Alongside the interview module there’s a general AI chat (SSE streaming, multi-model via an OpenAI-compatible UniversalAiChatHandler), agent configuration management, and real-time speech transcription plus long-text TTS over WebSocket.
The interesting bit
The real substance is plumbing most AI demos skip: a distributed single-flight framework (Redis Lua + fencing tokens) so the same answer-scoring request only triggers one AI call across multiple instances, and long-session state governance using MongoDB hot/cold snapshots with Redis lazy loading, CAS protection, and async compensation — so a two-hour interview survives a mid-session disconnect. The ASR pipeline does segment-level incremental deduplication with a TreeMap keyed on seg_id, which is the kind of detail you only write after being burned by duplicated transcript text.
Key highlights
- Five-agent interview workflow (questioner, asker, scorer, follow-up, expression analyst) orchestrated via LiteFlow rule chains
- Multi-model access (DeepSeek, Spark, Doubao) through one OpenAI-compatible handler, switchable at runtime
- SSE streaming with typewriter output, including DeepSeek
reasoning_contentchain-of-thought display - Resilience4j circuit breaking, rate limiting, and retries around AI calls; Sa-Token auth with Redis-shared sessions
- Docker Compose deployment covering MySQL, MongoDB, Redis, and the app; GitHub Actions CI runs tests and build
Caveats
- The README doubles as a funnel for a paid commercial SaaS (Chiron Agent) and paid “source code learning” — the open repo is MIT, but the docs are partly a sales pitch, and free study docs require adding the authors on WeChat
- It leans on iFlytek (讯飞) SDKs for ASR, TTS, OCR, and expression recognition, so those capabilities depend on that vendor’s services and credentials
- The README openly frames the project as resume/interview-portfolio material — it’s a well-engineered learning artifact, not a product you’d run as-is
Verdict
Java developers wanting a concrete, non-toy example of Spring AI plus distributed systems patterns (single-flight, snapshot recovery, streaming) will get a lot out of reading this code. If you want a turnkey interview product, note that the polished version is the paid SaaS, not this repo.
Frequently asked
- What is lishuangqiang/AI-Meeting?
- AI-Meeting is a Spring Boot 3 + Spring AI backend for resume-driven mock interviews — and a surprisingly thorough showcase of distributed state, streaming, and concurrency patterns.
- Is AI-Meeting open source?
- Yes — lishuangqiang/AI-Meeting is open source, released under the MIT license.
- What language is AI-Meeting written in?
- lishuangqiang/AI-Meeting is primarily written in Java.
- How popular is AI-Meeting?
- lishuangqiang/AI-Meeting has 1.1k stars on GitHub.
- Where can I find AI-Meeting?
- lishuangqiang/AI-Meeting is on GitHub at https://github.com/lishuangqiang/AI-Meeting.