crack-detector
A multi-turn AI diagnostic that interviews you before it critiques: Java 25 and Spring Boot 4.
Problem
Ask a model to review a CV, a training plan or a design sketch and it answers the question it was given, immediately, on whatever it can see. The gaps that matter are the ones the artifact does not mention, and a single-shot critique cannot find them because it never asks.
Approach
A modular monolith on JDK 25 and Spring Boot 4, split into core, api and worker Maven modules so the agent work can move onto a Kafka queue without the API changing. Three agents run in sequence: an Interviewer that asks two or three targeted questions, a Critic that names gaps and anti-patterns once the answers are in, and a Strategist that turns both into an execution plan. Spring AI talks to any OpenAI-compatible backend, virtual threads carry the LLM calls, and the transcript streams to the browser over SSE while the agents are still running.
Outcome
- Sessions survive a refresh: Postgres 17 with Flyway migrations and optimistic locking behind JPA.
- The state machine is covered by an integration test and the controller by a @WebMvcTest slice, with Testcontainers standing up the database.
- Actuator health checks cover both Postgres and the LLM, so a laptop demo comes up in under two minutes on Docker Compose.
- The worker split is configuration, not a rewrite: the same build runs single-process or with Kafka carrying the agent stream.