FCOPTS — Francisco Pontes
HomeAboutProjectsContact
Get a quoteNew
  • 01About
  • 02Projects
  • 03Contact
Get a quoteNew
Case Study

SDA Ceará: Modernizing the State's Agrarian Management

App + Web/Admin System for the State Agrarian Development Secretariat

Official Government of Ceará app that centralizes the systems of the State Agrarian Development Secretariat (SDA): demand and action indicators, technical tickets, agenda, messaging and surveys, unifying modules that used to run in isolation.

React NativeReact Native
PostgreSQLPostgreSQL
.NET.NET
C#C#
PHPPHP
DockerDocker
KubernetesKubernetes
GrafanaGrafana
PrometheusPrometheus
SDA Ceará · mobile app
Project typeMobile App
RoleMobile Developer
Idealized byGovernment of Ceará / SDA
StatusIn production
Duration1.8 years of continuous evolution
ObjectiveRefactoring + new modules

SDA Ceará represents the module-by-module, zero-downtime modernization of a government system already in use, unifying indicators, tickets, agenda and surveys into a single app for the State Agrarian Development Secretariat's staff.

Context and Scope

SDA Ceará is the official app of the Government of Ceará's State Agrarian Development Secretariat, used by staff to track demand and action indicators (the IDA system), open and manage technical tickets, handle agenda and messaging, and answer surveys. The app also surfaces linked programs, such as Ceará Sem Fome and Projeto São José.

Modules centralized in the app

  • Demand and Action Indicators (IDA), with reports and dashboard
  • Technical and bureaucratic tickets via the Activity System
  • Agenda, messaging with history, and surveys (SDA)
  • Cross filters by entity, project, year and municipality
Sample data

Home: unified access to messages, activities, systems and surveys

Sample data

Cross-referencing data: Ceará Sem Fome x Projects, by region, gender and CadÚnico

Module-by-Module Migration and Modernization

As the Systems Analyst responsible for the product's evolution, I led the backend and frontend migration module by module: each screen was rewritten and validated without interrupting use by the Secretariat's staff, who already depended on the system daily.

API (.NET / C# / PHP)

Business rules for indicators, tickets and surveys.

Filters and reports

Cross queries by entity, project, year and municipality.

Mobile (React Native)

Unified experience for field and office staff.

Module migrated in production

The "Sistemas" module was rebuilt with dynamic filters by entity, project, year and municipality, letting staff cross-reference data from different agrarian initiatives without relying on external spreadsheets.

Sistemas module: dynamic filter by entity, project, year and municipality

Sample data

Beneficiary registration: multi-step form with validation and autosave

Architecture and Infrastructure

SDA Ceará isn't a niche app: it's used by staff across an entire State Secretariat, with access spikes concentrated around accountability periods and project tracking in every municipality of Ceará. That makes the infrastructure as critical as the product itself — the architecture was designed to scale horizontally, tolerate instance failures and allow frequent deploys without noticeable downtime.

Immutable containers

Each module (.NET, C# and legacy PHP) packaged into versioned Docker images, with reproducible builds independent of the developer's machine.

Orchestration and auto-scaling

Kubernetes with multiple replicas per service and a Horizontal Pod Autoscaler adjusting capacity by CPU/memory during statewide access spikes.

Data resilience

Primary PostgreSQL with a read replica, isolating heavy reporting load from transactional traffic and serving as a backup source.

Gradual rollout

A CI/CD pipeline ships new module versions via rolling update, letting the system evolve in production without stopping service to staff.

End-to-end observability

Prometheus scrapes metrics from every pod, Grafana exposes operational dashboards, and Alertmanager fires alerts before incidents reach end users.

Isolation between modules

Each domain (IDA, Activities/MAPP, Survey) runs as an independent service, so any module can scale, update or restart without affecting the others.

CI/CD — Docker image buildRegistry push and gradual cluster rolloutReact Native + WebStaff across all of CearáLoad BalancerTLSKUBERNETES CLUSTERIngress ControllerRoutes per module/domainIDA — .NET3 replicas · HPA 2–6Activities / MAPP — C#2 replicas · HPA 2–4Survey — PHP2 replicas (legacy)HPA rebalances replicas by CPU/memory during statewide traffic spikesPostgreSQL — PrimaryRead and writePostgreSQL — ReplicaRead replica and backupsPrometheusScrapes pod metricsGrafanaOperational dashboardsAlertmanagerIncident alerts

The result is infrastructure built for statewide scale: multi-replica services behind an Ingress Controller, a database with a read replica, and an observability stack that gives production visibility before an issue affects Secretariat staff in any municipality of Ceará.

Integrating Multiple Modules

MAPP: tracking system with its own dashboard

Sample data

MAPP Dashboard: projects by region and status, filtered by year

Sample data

Internal messaging: conversation history between staff and beneficiaries

Besides IDA, the app integrates MAPP (the tracking system) with its own dashboard, the Survey system and internal messaging. Each module keeps its own business logic but shares the same navigation shell and authentication, reducing the learning curve for staff.

Integration principles

  • Single authentication and navigation across all modules
  • A single ingress routes each domain to its own service, without coupling modules together
  • Each module migrated in isolation, with a simple rollback path
  • Reusable filters and reports across related modules
  • No interruption to staff usage during modernization

Security, Observability and Technical Decisions

A statewide system, accessed by staff across all of Ceará, requires security and observability to be part of the architecture — not an afterthought. These are the layers that keep the system secure, observable and sustainable over time.

Security

  • Token-based auth and access by secretariat role/sector (RBAC)
  • End-to-end TLS at the ingress; secrets per environment, out of the code
  • Sensitive administrative data restricted by role
  • Network isolation between services inside the cluster

Observability

  • Prometheus scraping metrics from all pods
  • Grafana with real-time operational dashboards
  • Alertmanager firing incident alerts
  • Healthchecks + HPA reacting to CPU/memory during statewide spikes

Decisions & trade-offs

  • Incremental refactor: new .NET services living alongside a legacy PHP module, instead of a big-bang rewrite
  • PostgreSQL read replica for backups and reports without loading the primary
  • Kubernetes + HPA for unpredictable statewide access: elastic instead of an oversized fixed instance

Project Impact

SDA Ceará now sustains over 1,000 active users and 200+ concurrent logins from staff across the State, with backend and frontend fully migrated module by module over 1.8 years, without ever interrupting the Secretariat's daily work — backed by Kubernetes infrastructure ready to scale as statewide demand grows.

The project reinforces that modernizing government systems in production requires both technical rigor and process discipline: every module has to evolve without breaking the trust of the people who already depend on it.

Trade-offs and what I'd do differently

What I chose not to build

  • A big-bang rewrite: I ruled out replacing the legacy system all at once. With 1,000+ users already depending on it daily, migrating module by module took longer (1.8 years) but never interrupted the Secretariat's operations.
  • Swapping the database mid-transition: I kept PostgreSQL as the source of truth instead of migrating databases partway through, to avoid stacking data risk onto a project that was already inherently risky.

What I'd do differently today

I'd introduce feature flags from the first migrated module, not partway through the project. Decoupling deploy from release would have given more room to test each new module with a small group of staff before rolling it out to the state's 200+ concurrent logins.

Key Challenges Faced

SDA Ceará was already used by government staff in production when I joined the project. That completely changed the nature of the work: it wasn't building from scratch, it was evolving a system in active use without interrupting the State's operation.

1Challenge

Migrating backend and frontend module by module, with zero downtime, serving 1,000+ active users

2Challenge

Sustaining 200+ concurrent logins with stability on orchestrated infrastructure

3Challenge

Unifying historically siloed systems (IDA, Survey, MAPP, Ceará Sem Fome) into a single app

Structural Technical Indicators

  • 1,000+ active users in production
  • 200+ concurrent logins supported
  • Backend and frontend migrated module by module, without stopping operations
  • Observability with Grafana and Prometheus
  • Container orchestration with Kubernetes

Tech Stack

React NativePostgreSQL.NETC#PHPDockerKubernetesGrafanaPrometheus

Liked it? Get in touch!

Send me a messageSee other projects
© 2026 Francisco Pontes
Privacy·Build your quote here·Resume