All work001 · Internal tool · 2023

COTEF

A semi-annual staff review still run by hand, through files and email. Solo build of a Laravel web platform covering the whole flow: self-assessment, manager review, score calculation, and a PDF sent automatically to the right person.

Client
COTEF consulting firm
Role
Full-stack development, solo
Duration
6 months for V1 (2023), evolving ever since
Stack
Laravel 10, PHP, MySQL, job queues
Team
Just me, sole developer on the project
The context

A semi-annual review
still run by hand

Twice a year, the COTEF consulting firm reviews its entire staff. The process ran on files shared by email, filled in by hand, cross-checked case by case depending on who was reviewing whom.

The need wasn't a simple online form: two paths run on the same questionnaire. The employee self-assesses, their direct manager reviews them in turn, and both results have to converge into a single score, comparable across departments.

The firm also needed to keep control over who reviews whom. The reporting logic (which employee belongs to which manager, which manager to which department) changes regularly and couldn't stay hardcoded.

What was built

One flow,
three access levels

The app separates three roles: administrator, reviewing manager, reviewed employee. Each gets their own dashboard and permissions.

The questionnaire runs across several steps, scored 0 to 4 per item, with automatic calculation of the final score. Once a cycle closes, each result is generated as a PDF and emailed out with no manual step.

To handle the send volume (review cycles, PDFs, password resets), emails run through a job queue. Every message gets processed reliably, even under load or after a temporary failure.

The business logic, who reviews whom and which department groups which employees, lives in a single layer of the codebase. The firm can now change its org structure without a developer touching the rest of the app.

The project, in numbers

Since the first release
3+ yearsin continuous production (2023 → 2026)
2evaluation paths (self-assessment and manager review)
3access levels (admin / manager / employee)
A similar project?

Let's talk about your project.

Describe what you need in a few lines: an app, a dashboard, an AI feature to add. I reply within 24h with an honest first take, even when I'm not the right person for the job.