EDITORIAL JOURNAL / VOL. II / 2026
CHAPTER / 12• 2026•Individual clients

PATAgenda

Teacher disciplinary case agenda

Before

paper and Excel with no traceability.

After

web system with zero missed deadlines

✓

"Development of a full-stack agenda that accurately models the legal language of the Ministry of Education while prioritizing sensitive data privacy."

PATAgenda
Individual clients
12
FIG 01. Structural representation of the solution© Gonzalo Daniel Vega
01 / CONTEXT

The starting point of the challenge

The client supervises teacher disciplinary cases for the Ministry of Education. Her daily work involves coordinating ordinary disciplinary proceedings, abbreviated proceedings, mediations, incompatibilities, hearings, and legal deadlines that stretch over months. Before PATAgenda, information was scattered across spreadsheets, Outlook folders, physical files, and her own memory. No standard productivity tool (not Trello, Notion, or Google Calendar) understood the specific statuses, deadlines, and requirements of a teacher disciplinary process. Additionally, case files contain sensitive personal data of teachers, so privacy was non-negotiable. The initial plan was for everything to run on the Ministry computer, but we decided to deploy it online so she could access it from both her PC and her phone when away from the office.
02 / RESEARCH

Digging beneath the surface: What did I investigate?

I thoroughly analyzed the client's daily workflow over several weeks. I discovered that most task managers assume linear, abstract flows like "to-do," "in progress," "done." But a disciplinary case follows a regulated lifecycle with specific legal statuses and hard deadlines that, if missed, have real legal consequences. It's not a Kanban board. It's a calendar of legal obligations. I evaluated infrastructure options: cloud services like Firebase or Supabase would have accelerated development, but they meant storing disciplinary data on third-party servers. The solution had to be deployable but with restricted, controlled access.

INSIGHT REVEALED
THE SYNTHESIS

"Software adoption doesn't fail for technical reasons. It fails when the system doesn't represent the user's way of thinking. The data model had to speak the language of the Ministry of Education precisely. Instead of modeling abstract statuses like "pending" or "completed," I designed real legal domain concepts: Ordinary Disciplinary Proceeding, Abbreviated Proceeding, Mediation, Dismissal, Serious Sanction, each with its own deadlines, expiration dates, and specific restrictions. Designing for a single user was also liberating: it eliminated the need to manage complex roles or concurrent access and allowed focusing all energy on polishing a product that genuinely works for her."

Understanding this pillar completely transformed the tactical direction of the project, allowing unnecessary noise to be filtered out and focusing on strict value.

03 / TACTICS

Tradeoff Analysis: options on the table

Building custom software requires honestly evaluating scenarios. No architecture is perfect — every decision has a price:

OPTION 1
Generic cloud managers (Notion, Trello)

Quick to set up and no development needed. But it violated privacy requirements by storing sensitive data on third-party servers, and forced the client to adapt complex legal processes to generic abstractions that don't represent her reality.

OPTION 2
Custom cloud system (Supabase, Firebase)

Lower infrastructure complexity and automated backups. But it meant storing confidential disciplinary information about teachers on external servers, which was unacceptable from both a regulatory and ethical standpoint, regardless of the provider's security promises.

OPTION 3
Self-hosted full-stack application

This was the original plan. Data would reside exclusively on the local device under the client's direct control, with zero SaaS costs. But the downside was losing remote access and mobility: she could only use the system from that computer. We ultimately opted to deploy on Vercel for flexibility.

OPTION 4
Single-user design without concurrency

Radically simplified the architecture by eliminating roles, permissions, write locks, and editing conflicts. It allowed focusing all effort on polishing the experience for one specific user. But it rigidified the model: scaling to multiple inspectors would require deep structural changes.

OPTION 5
JWT httpOnly + rate limiting security

Storing the token in an httpOnly cookie, inaccessible from JavaScript, mitigated XSS risk. Rate limiting prevented abuse. OAuth or two-factor authentication wasn't implemented because, for a local single-user application, it would have been over-engineering with no real security benefit.

04 / DETERMINATION

The Decision: The path chosen

I developed a full-stack application with React, Vite, and TanStack Query on the frontend, and Express, Prisma ORM, and PostgreSQL on the backend. We deployed it on Vercel so the client could access it from any device, both the Ministry PC and her phone. For security, I implemented JWT authentication in httpOnly cookies and rate limiting on authentication routes. The domain model was custom-built around the Ministry's language: Ordinary Disciplinary Proceeding, Abbreviated Proceeding, Mediation, Dismissal, Serious Sanction, each with its own specific deadlines and expiration dates.

WHAT ACTUALLY WORKED

What worked best was that the system spoke the client's exact language from day one: there was no need to translate legal domain concepts into software abstractions, and no forced learning curve. The dispersion of information — her greatest daily pain — collapsed into a single place, and phone access covered the out-of-office case that kept falling through. The client still uses it as her working system.

LIMITATIONS & TRADE-OFFS

Being deployed in the cloud, sensitive data no longer resides exclusively on the client's device, although access is restricted by authentication and connections are over HTTPS. PostgreSQL and Vercel hosting have a monthly cost that didn't exist before. Depending on an internet connection means the system becomes inaccessible during network outages. The application is modeled for a single person; scaling it to a team of inspectors would require deeply restructuring the data model and permission management.

FROM GONZALO'S PERSONAL LOGBOOK: WHAT WOULD I DO DIFFERENTLY TODAY?

"I would implement automated PostgreSQL backups to have security copies without depending on manual processes."

Retrospective note after launch
Gonzalo Daniel Vega — 2026 — SFV Catamarca, Catamarca