Back to projects

Horas — Time Tracking System

Backend Lead & Frontend Contributor2025-10
Express.jsTypeScriptPrismaPostgreSQLDockerJestGitHub Actions

Horas is a time management application designed to support how an organisation actually runs. Schedules, clock entries, absences and activity tracking all come together in one place, with a clear distinction between what employees need and what managers need.

But behind that apparent simplicity lies a more interesting challenge: how do you design a tool flexible enough to adapt to the different realities of a company, while keeping it simple to use and reliable day to day?

It is around that question that Horas was designed.

backendfullstackdevops
Horas — Time Tracking System — image 1
1 / 11

A time management application that adapts to the realities of the company

Horas centralises working-time tracking: schedules, clock entries, absences and activity monitoring.

Above all, the system was designed to handle what happens as soon as an organisation leaves the ideal case: several teams, different hours, part-time employees, individual exceptions, absence requests and clock-entry corrections.

The idea: turning sometimes complex business rules into a simple experience for users.

What the system makes possible

Handling organisations that do not all run the same way

Before

every team had to be thought of as a special case.

With Horas

schedules can be shared across several teams, while still letting an employee have their own hours when their situation calls for it.

  • A common structure where it makes sense.
  • Individual exceptions where they are needed.

Making time tracking reliable

Before

a clock entry is just a value recorded at a given time.

With Horas

the system knows the logic of arrivals and departures and bounds corrections so as to preserve the consistency of the history.

  • Fewer handling errors.
  • More reliable data.
  • A chronology that stays coherent.

Turning data into an operational view

Before

schedules, clock entries and absences are separate pieces of information.

With Horas

that data is cross-referenced so the manager can follow attendance, lateness, hours worked, absences and various activity indicators.

  1. Schedule
  2. Reality
  3. Gaps
  4. Decision

The manager no longer has to piece together each employee's situation themselves.

Giving everyone the right level of access

Before

access rights can become hard to control as roles multiply.

With Horas

employees and managers each get a scope matched to their responsibilities.

An employee reaches their own data. A manager reaches the data of the teams they supervise.

The separation is enforced by the system itself, not only by the interface.

Built to evolve with the need

A business application is never really finished.

New fields appear, rules change, new cases have to be supported.

Horas was therefore designed so that those changes can be absorbed without multiplying the risk of inconsistency between the different parts of the system.

A change in the need should be able to become a change in the product, not a source of regressions.

What this project demonstrates

Horas illustrates one way of designing a business product:

  1. Understand how things actually work
  2. Identify the rules and the exceptions
  3. Build a simple experience despite that complexity
  4. Secure the data and the access
  5. Get the system ready for future changes

That is the approach I try to reproduce in my projects: starting from the real problem to build a solution that stays simple to use, reliable day to day, and flexible enough to support the company.