Skip to content
Renan Spatin
Projects

2024

Comunidade Católica Exaltai

comexaltai.com

Catholic community platform with web, hybrid mobile app, and custom .NET backend. Daily liturgy, events, content editor, and members area.

Role
Lead engineer · Web + Mobile + API
Year
2024
Stack
React 19ViteTypeScriptTailwind CSSCapacitor.NET 9 / C#ASP.NET CoreEF CorePostgreSQL
comexaltai.com
Comunidade Católica Exaltai — comexaltai.com

§ 02 highlights

  1. 01ASP.NET Core 9 backend in Clean Architecture with Entity Framework Core 9 over PostgreSQL 16 and JWT authentication.
  2. 02React 19 + Vite web and hybrid mobile via Capacitor, sharing the same API — one code base, three surfaces.
  3. 03TipTap editor and liturgical calendar wired so the editorial team publishes content without needing engineering.

§ 03 case

01

Context

Comunidade Católica Exaltai is an active community with in-person events, formation tracks, and editorial content published daily. The technical challenge was serving three surfaces — open institutional site, members' mobile app, and editorial backoffice — with limited operational resources. Off-the-shelf SaaS (Squarespace, Wix, Substack) doesn't cover the combination of daily liturgical calendar + rich media editor + authenticated members area + native mobile app on the app stores. The decision was to build it from scratch, with an architecture that could grow without rewrites.

02

Architectural decision

Single backend in ASP.NET Core 9 on PostgreSQL 16, organized in Clean Architecture (Domain / Application / Infrastructure / API). Authentication via JWT Bearer with refresh tokens, delegated to our own backend — no dependency on Auth0 or Supabase. Owning API and data allowed specializing the schema for liturgy (the Catholic liturgical calendar has complex calculation rules and movable feasts) instead of forcing a generic CMS to understand the domain. Accepted trade-off: more code to maintain, larger responsibility surface — balanced by predictability of production behavior.

03

One base, three surfaces

The institutional web uses React 19 + Vite for build speed and DX, with Tailwind CSS and Radix UI components for visual consistency. The mobile app reuses 100% of the TypeScript code via Capacitor — same React base, same API layer, packaged as native iOS/Android. This saves over 70% of the effort compared to maintaining React Native + Web separately. The editorial backoffice is a protected route in the same SPA, with permissions managed by the backend. Three products, one repository, one CI/CD pipeline.

04

Editorial pipeline

The content team isn't technical. The barrier to publish cannot be git-push. I integrated TipTap (a rich-text editor based on ProseMirror) with direct media upload to storage, live preview, and scheduled publishing. The liturgical calendar — yearly cycles, colors, saints of the day — is a separate module that consumes ecclesiastical data and serves both the web and the app. The result: the editorial team publishes daily content without opening an engineering ticket.

05

Outcome and operation

Three live surfaces (web, iOS, Android) serving daily content to the community, operated by a small team. Backend deployed on Heroku for operational simplicity — fixed cost at low volume is predictable and doesn't require a DevOps team. Managed PostgreSQL with automated backups. Observability via structured logs (Serilog) and explicit health checks. Delivered as lead engineer with over 220 commits, sustaining the product in production and operationally.