Turn it up
All projects

Project detail · technical deep-dive

LLM orchestrationAI agentsGitHub CopilotRAGMCPCursorReactExpressPrismaAWS Cognito

RegularizaAI

Web platform for public contract management: planning, measurement, execution, maps, and collaborative flows—Express API + React app, Cognito auth, and infrastructure ready for multiple environments.

Role

Full-stack engineering

Timeline

2026

Tech

React, Vite, Express, Prisma, Cognito, BullMQ

10 page views

Experience the result

Live product, repository, or both—pick what matters for this case.

Description

RegularizaAI is a monorepo focused on managing government contracts, with planning, measurement, execution, and monitoring flows. The entire user experience is in Brazilian Portuguese, aligned with tenders and contract workflows.

On the engineering side we also used GitHub Copilot configured for code review, with documentation (architecture notes, API contracts, team conventions) supplied as context so feedback stays aligned with how the product is actually built—not generic lint-only nits.

The API (Express.js, TypeScript) follows domain-driven organization: entities, use cases, controller factories, Prisma repositories, and OpenAPI/Swagger routes. Persistence is PostgreSQL via Prisma; queues use BullMQ and Redis, authentication uses AWS Cognito, documents use DOCX templates, observability uses Pino and Sentry, and production processes run under PM2.

The app is a React 18 SPA with Vite, Chakra UI, React Query, Zustand, React Router v6, React Hook Form + Yup, maps with OpenLayers, and realtime with Socket.io. The HTTP client handles organization context (x-organization-id) and token refresh on 401/403 responses.

The repo includes tests (Jest), lint in CI, Prisma migrations, Docker Compose for local PostgreSQL and Redis, GitHub Actions with a reusable workflow and deploy via Laravel Forge API, plus separate environments (production, QA, staging, and release).

Skills & tooling

Product & engineering

  • Backend: Node.js, Express, TypeScript, Prisma, PostgreSQL, domain architecture, interface contracts, and factories.
  • Frontend: React, Vite, Chakra UI, TanStack Query, Zustand, React Hook Form, Yup, OpenLayers, Socket.io client.
  • Auth & cloud: AWS Cognito; environment-specific variables and builds (Vite / API).
  • Data & files: Word document generation and reads (templates / questionnaires flow).
  • Quality: ESLint, automated tests, commit hooks (Conventional Commits / push validation).
  • API docs: Swagger/OpenAPI per domain.

DevOps & delivery

  • CI/CD: GitHub Actions (pipelines per branch/environment), reusable workflow, deploy via Laravel Forge API.
  • Containers: Dockerfiles for the API; Compose for Postgres/Redis in day-to-day development.
  • Runtime: PM2 on managed servers; pipeline notifications (e.g. Microsoft Teams).

AI, productivity, and workflow

  • Coding assistants: Cursor (and agents) to navigate the monorepo, refactor safely, and stay consistent with repository conventions.
  • GitHub Copilot (code review): pull-request reviews grounded in the same documentation bundle (architecture, OpenAPI/Swagger contracts, conventions) fed to the assistant, so suggestions map to real boundaries in the monorepo.
  • MCP (Model Context Protocol): connect external tools and context in the editor (documentation, APIs, automations), reducing manual context switching.
  • RAG & broader context: retrieval-augmented workflows over internal docs, specs, and project history so answers align with real code—useful in large domains (dozens of routes and Prisma models).
  • Scaffolding: new API domains via Plop for faster standardization.

Features

  • Contract & tender management: nested routes like /edital/:noticeId/contrato/:contractId/... for measurement, planning, execution, spreadsheet, map, and dashboard.
  • Multi-organization: headers and session state aligned with the active organization.
  • Maps & GIS: geospatial visualization and operations in the browser with OpenLayers.
  • Realtime: collaborative updates via Socket.io where the domain requires it.
  • Queues & jobs: asynchronous processing in the API with BullMQ.
  • Environments: separate pipelines for production, QA, staging, and release.

Media

Screenshots and a visual showcase are omitted here because this is a private product; the write-up focuses on architecture and delivery instead.