Case Study: One Headcount View from Three Different Sheets

A working automation and dashboard demo built around the structure of Rivermate's three source systems.

Role: Solo project (design, automation and dashboard) Tools: n8n, Google Sheets, an AI agent with an OpenAI chat model, React Links: Live dashboard | Walkthrough video | Annotated sheets and results

The problem

A company that grows by combining systems ends up with the same data in different shapes. In this demo, headcount lives in three sheets: Rivermate Core, Legacy Serviap and Legacy EOS. One writes full country names, one uses short codes like BR and MX, and each has different column names and a different date style (28/02/2026, 2026-02 and Feb-2026). Nobody can answer a simple question like "how many people do we have?" without cleaning it all by hand first.

My approach

I wanted a result a manager could trust at a glance, with no manual work behind it. So I split the job into three parts: collect the data, standardise it, and publish one clean answer.

What I built

  1. An n8n workflow that runs on a daily schedule. It reads the three sheets, then a code step standardises the layouts, adds up each month and compares January with February.
  2. An AI written summary. An AI agent turns the numbers into a short plain English sentence for the dashboard row.
  3. One tidy output row appended to a Consolidated Dashboard sheet: latest period, total headcount, growth, summary, top countries, and the countries that grew or shrank.
  4. A dashboard in React with a tab for each source, so you can see the combined picture or open any one sheet. I styled it in warm orange on near black, with animated numbers and bars.

The result

In the demo data, total headcount went from 193 in January to 211 in February, which is 9.3% growth, with every country growing and none shrinking. The whole run, from three raw sheets to a finished row, takes seconds and needs no manual steps.

What I learned

A note on the data