CLboost / Engineering notes
The product continues after generation
A multilingual cover-letter workflow, from profile context to an editable result.
Team project · frontend & DevOps lead contribution
- Profile + CV
- Gemini
- Edit
- Export
The problem
CLboost helps applicants create cover letters with Gemini. My main contribution was frontend and DevOps, with work across the Spring Boot backend. The engineering extends beyond requesting text: users need to supply context, review the result and take it away.
Make the output editable
The documented pipeline fetches the profile, parses the latest uploaded CV and passes the combined context to the AI service. The generated letter appears in an inline editor and is saved as a Word document. Editing is part of the workflow, rather than treating generated text as final.
Language changes layout too
The interface supports English, Finnish, Portuguese, Chinese, Urdu and Persian. Vaadin’s localization provider handles translated resources. Urdu and Persian also require right-to-left layout: document direction, component flow and targeted CSS rules work together.
Separate a test plan from a result
The repository includes unit tests, coverage tooling, static analysis and a JMeter navigation test plan. Their presence explains how quality is checked; it does not by itself prove a production capacity or latency figure. The homepage includes a recorded end-to-end demonstration of the application.
My contribution & stack
Lead contributor — 183 of 263 commits, team of four
- Java
- Spring Boot
- Vaadin
- Gemini
- Docker
- Jenkins
- SonarQube
- JMeter
- i18n / RTL
Where the responsibilities sit
Vaadin provides the server-side Java interface, Spring Boot hosts the application, and Spring AI connects to Gemini. The documented generation path loads a profile, parses the uploaded CV, calls the AI service and presents an editable result. Docker packages the application; Jenkins and SonarQube support the delivery and quality workflow.
What the demonstration establishes
The recording follows the application through form entry and generation. It demonstrates an end-to-end path through the product, while the repository exposes the implementation and test setup. Six interface languages and right-to-left layouts show product scope; they are not claims about the quality of every generated letter.