Full-stack Java contributor
DTU × Deloitte
Consultant Matching System
A Java consultant-matching application built with Deloitte, combining LLM-assisted matching, layered architecture, and behaviour-driven testing.
Scroll to inspect the full diagram →
Consultant profile / LLM matching / tested outputArchitecture abstraction
The problem
Make consultant matching useful while keeping the application's architecture inspectable and its algorithmic behaviour testable independently of an external LLM service.
System architecture
- A full-stack Java application with layered architecture, dependency injection, and SOLID-oriented design.
- LLM API integration for intelligent consultant matching, with Singleton, Observer, and Strategy patterns used in the system.
- LaTeX-based PDF export for client-ready documentation and a 12-page technical report covering architecture, testing, patterns, and trade-offs.
Engineering decisions
- Separate deterministic matching logic from integration paths that call real LLM endpoints.
- Use design patterns and dependency injection to keep responsibilities explicit across layers.
- Work in two-week Scrum sprints with GitLab merge requests and code review in a five-person team.
Testing and verification
- Cucumber and JUnit behaviour-driven tests reached 88% code coverage in the project.
- Integration tests called real LLM endpoints; deterministic unit tests checked algorithmic correctness separately.
Limitations
- LLM-dependent matching is subject to external service behaviour; deterministic tests do not prove response quality.
- The collaboration's repository, report, and client data are not published here.
What I would improve next
- Add explicit quality evaluation for LLM-assisted matches alongside code coverage.
- Strengthen failure handling for unavailable or inconsistent external model responses.
