Bachelor's Thesis
The project is currently closed source. Further information may be published here in the future.
For my bachelor's thesis, I designed and developed a platform to support the creation of consultant profiles tailored to specific client projects. The project brought together full-stack development, local AI integration, and an evaluation of the resulting application.
Throughout their careers, consultants develop different skills, gain project experience, and build expertise in specialized areas. Presenting that experience clearly for a particular opportunity requires an understanding of both the consultant's background and the client's requirements.
The platform helps users work with this information and prepare project-specific profiles. Its purpose is to make relevant experience easier to identify and present, not to invent qualifications or replace professional judgment.
Starting Point and Goals
The starting point was a time-consuming manual process involving existing consultant documents, project information, and repeated coordination between different roles. Finding relevant content, adapting descriptions, and maintaining a consistent presentation required considerable effort.
I began by analyzing the existing workflow and gathering requirements from the people involved. From there, I developed a custom prototype intended to make information easier to manage and reuse, while supporting the preparation of profiles with AI-assisted features.
My work covered the application from concept to evaluation, including system architecture, data modeling, backend and frontend development, and the integration of locally running language models.
Research and Challenges
A central part of the research was exploring how language models could support a business application that processes sensitive information. Local operation was a core requirement, which meant working within the available infrastructure rather than relying on external AI services.
One of the biggest challenges was balancing output quality with response time and hardware limitations. A model's general capabilities do not necessarily make it suitable for a specific application, particularly when resources are limited and users need practical response times.
To investigate these trade-offs, I benchmarked a selection of locally executable models and compared different prompting approaches. The focus was on their suitability for the application's tasks, rather than on general benchmark rankings alone.
Evaluating the generated content was another important challenge. An output can be well written and correctly formatted while still being incomplete or unsupported by the available information. Assessing quality therefore required looking beyond whether a model successfully returned an answer.
The scope of the evaluation was limited by the time and resources available for the thesis. The results provided a basis for selecting suitable approaches for the prototype, while also identifying areas that would benefit from more extensive testing.
Keeping Users in Control - Human In The Loop
Human oversight was a central principle throughout the project. AI was intended to assist users in reviewing and refining existing information, not to take responsibility for the final content.
This shaped both the application and its interface. Users needed to understand the assistance being provided and retain control over the resulting profiles. For me, this was an important part of making AI useful in a professional workflow rather than simply adding text generation to an application.
Technology
I built the prototype using a modern web stack, with separate components for the user interface, application logic, data storage, and local model inference.
- SvelteKit for the frontend.
- Python and FastAPI for the backend.
- PostgreSQL with pgvector with support for semantic search.
- llama.cpp for locally running AI models.
- Docker for containerized application components.
As the project is currently closed source and was developed in a sensitive business context, I am keeping the internal architecture, implementation details, and research configurations private.
Evaluation and Takeaways
Beyond the technical benchmarks, I evaluated the prototype with users from the relevant business roles. This helped assess how the application supported their work and where its interface and functionality needed further refinement.
The evaluation was encouraging, but it also reinforced the importance of treating a prototype as a starting point rather than a finished production system. Broader testing would be needed to establish its effectiveness across a wider range of cases.
My main takeaway was that integrating AI is only one part of the problem. Useful results also depend on well-organized information, a clear understanding of the workflow, appropriate evaluation, and an interface that keeps users in control.
The thesis gave me the opportunity to connect these areas in a working application, from understanding the original problem to building and evaluating a possible solution.