selected work / software & systems

Portfolio

  1. Anno Domini schedule with fictional data
    00 Anno Domini / ERP

    ERP · clinic management

    Anno Domini

    • React
    • JavaScript
    • Node.js
    • MongoDB
    • Socket.IO
    • Metabase

    Anno Domini is a business operations platform used across three companies in Brazil. At the medical clinic, it manages the complete patient workflow from scheduling and reception through consultation and payment, connecting operational, clinical and financial data in a single system.

    implementation details

    The platform includes scheduling, check-in, doctor queues, patient records, prescriptions, payments, financial operations and administration, with separate role-based interfaces for receptionists, doctors and administrators.

    Key engineering work includes server-side scheduling conflict validation, idempotent check-in flows that prevent duplicate visits or charges, role-based authorization, audit trails and financial operations supporting split payments across cash, Pix and cards while preserving a correction history.

    The platform also includes patient- and appointment-linked internal conversations with real-time Socket.IO notifications and optional Metabase analytics through sanitized read-only MongoDB views and signed embeds. It supports self-hosted deployment on the clinic’s own infrastructure.

  2. GridScope historical dashboard comparing DK1 and DK2 in g CO₂/kWh on October 9, 2026
    01 GridScope / historical demo

    data & analytics · Danish electricity carbon intensity

    GridScope

    • Python
    • PostgreSQL
    • FastAPI
    • Dagster
    • React
    • TypeScript

    An electricity carbon-intensity analytics platform built with Python, PostgreSQL and React. Processes five-minute Energinet observations for Denmark’s DK1 and DK2 regions, with validated ingestion, SQL reporting, data-quality checks and interactive visualizations.

    implementation details

    The full application includes FastAPI, PostgreSQL and Dagster orchestration. Ingestion uses transactions and PostgreSQL advisory locks; reporting checks missing intervals, UTC alignment and Europe/Copenhagen daylight saving time.

    The public demo is a static React application on Cloudflare Pages using real historical observations from October 9, 2026. It has no live backend or real-time data feed.

  3. const request: ReportRequest = {
      employeeIds: [id],
      start: interval.start,
      end: interval.end,
      format: "PDF",
      report: "extrato_banco_horas",
      saldoBanco: "TODOS"
    };
    
    const { guid } = await client.requestReport(request);
    await client.waitForReport(guid);
    02 src/index.ts · exportEmployeeFromAdmission

    automation · attendance and hour-bank records

    RHID Historical Attendance Exporter

    • TypeScript
    • Node.js
    • Playwright
    • CSV / PDF

    RHID Historical Attendance Exporter was developed to recover and consolidate more than five years of employee attendance and hour-bank history for a medical clinic. During the project, I investigated RHID’s authenticated network requests to access historical records that were difficult to retrieve through the standard interface, and identified discrepancies between some native reports and the underlying daily attendance records.

    implementation details

    The exporter uses the daily records as the primary source for structured CSV and locally generated PDF reports.

    It processes each employee’s history from their admission date, splits large requests into configurable date ranges for reliability and preserves RHID’s original reported balance alongside a balance calculated from the underlying daily records.

    Authentication and protected requests are automated with Playwright using authorized clinic access.

  4. ilovediana.org
    03 project artwork

    web application · training and nutrition

    ilovediana.org

    • React
    • Tailwind CSS
    • Node.js
    • Express
    • MongoDB
    • Cypress
    • Supertest

    An archive for documenting training, nutrition, progress photos and notes over time. Public protocols can be searched and shared; private records remain accessible only to their owner. Each protocol has its own page and can be printed or saved as a PDF.

    implementation details

    The API checks ownership and visibility before reading or changing records. Uploads validate file contents as well as extensions. Security tests cover unauthorized access to private protocols, forged ownership, XSS and image validation.