Gabriel Costa

Case study

Members, donations, an online store, international pilgrimages and content, in a single web platform with a mobile app, payments from Portugal and Brazil and automatic invoicing.

Client
Apostolado de Garabandal
Role
Product, design and engineering
Platforms
Web, iOS, Android
Period
2026 to present
Apostolado de Garabandal home page
234

pages

67

admin screens

5

languages

10

scheduled background jobs

Context

Each of these had its own tools and its own manual work.

Problem

With members on both sides of the Atlantic, the platform had to accept each country’s payment methods without making anyone’s life harder.

The clearest way to show the system is to follow a payment. Everything after the click is automatic.

  1. 01

    Checkout

    The member picks PIX, MB WAY, Multibanco or card.

    One checkout for everything

  2. 02

    Payment

    The payment is processed in the chosen method.

    Several providers, one interface

  3. 03

    Confirmation

    Confirmation arrives asynchronously and updates the status.

    Idempotent processing

  4. 04

    Reconciliation

    A scheduled process checks anything left pending and settles it.

    Nothing depends on a single event

  5. 05

    Invoice

    The tax document is issued with no manual step.

    Certified invoicing

  6. 06

    Email

    The member receives the receipt and confirmation in their language.

    Five languages

  7. 07

    Marketing

    The contact’s profile is updated and communication adjusts.

    Automatic segmentation

What I built

01

PIX, MB WAY, Multibanco and card, with fallback options. Membership fees, donations, orders and pilgrimage instalments all go through the same engine.

Checkout with payment method selection
02

Every payment produces the right tax document with no manual step, with separate control per revenue type.

Tax documents in the admin dashboard
03

Catalogue of physical and digital products, cart, checkout, order and shipping management, and a product feed for Google.

Online store
04

Sign-ups, instalment payments, automatic reminders and QR check-in, with a logistics area to manage accommodation, suppliers and costs for each trip.

Pilgrimage page with instalment payments
05

A custom engine merges every source into a single contact, computes segments and sends email sequences based on each person’s journey, with dozens of templates in several languages.

Automated email templates in the marketing dashboard
06

A CMS with a visual editor, media library, navigation and categories. Pages publish in Portuguese, English, Spanish, French and Italian, with machine translation to review.

CMS page published in five languages
07

Dozens of admin screens for a small team: members, orders, transactions, invoicing, marketing, content and reports, with alerts where something needs attention.

Admin dashboard navigation
08

An assistant that answers questions about pilgrimages from curated knowledge and live data, and guides each person to the next step.

Support assistant conversation
09

iOS and Android app with prayer, novenas, library, calendar, pilgrimages and push notifications. It shares the backend with the website: one member, one account, the same data.

Garabandal +, Today screen with a novena in progress
Garabandal +, prayers
Garabandal +, my pilgrimages

Technical decisions

  1. 01

    One core, many channels

    Website, app and admin share the same backend and a single source of truth. The app reads and the website writes: there is one place where money comes in and where business rules live.

  2. 02

    The AI proposes, the interface decides

    The assistant is orchestrated in layers: curated knowledge, live pilgrimage context and conversation rules. Instead of inventing actions, it returns structured intents that the interface turns into real buttons.

  3. 03

    Evaluated on real usage

    Every conversation is logged and reviewed. The assistant’s knowledge and instructions evolve from real cases, not assumptions.

  4. 04

    Automation that can run twice

    Payments, invoices and emails are idempotent, observable processes: they can run twice without duplicating anything, and everything is logged so you can see what happened.

  5. 05

    Automation with limits

    Automated communication follows rules of respect: capped frequency, priorities between sequences and automatic exit once the person has done what the sequence was for.

  6. 06

    Designed for the people who run it

    The dashboard was built for a small team: everything in one place, few clicks per task and alerts only where something needs attention.

Results

1000+

contacts in a single CRM

170+

members

90+

transactions invoiced in a single month

40+

pilgrims signed up for a single trip

Stack

Web
Next.js
React
TypeScript
Tailwind CSS
Mobile
Expo
React Native
Data
Supabase
Postgres
Scheduled jobs
Services
Payments for PT and BR
Certified invoicing
Resend
DeepL
OpenAI
PostHog