← Back
Les Santes
app Active

Ajuntament de Mataró

Les Santes

Apr 18, 2026 → En progrés

Logo de Les Santes

Les Santes

La Festa Major de Mataró a la teva butxaca - construïda de punta a punta per una sola persona

Cada estiu, Mataró celebra Les Santes: sis dies de concerts, correfocs, cercaviles de gegants i esdeveniments a l’aire lliure que atrauen desenes de milers de persones per tota la ciutat.

L’única eina oficial? Un PDF imprès i una web estàtica sense dades en temps real. La gent s’havia d’imaginar les hores dels actes, on eren les cercaviles en moviment i si s’havia cancel·lat alguna cosa.

Així que vaig construir tot l’ecosistema jo mateix: aplicació mòbil, web de màrqueting i gestor de continguts (CMS) per a l’administració; en solitari, des de zero i de forma pública.

Landing page de Les Santes
3plataformes publicades
Soloconstrucció i manteniment
MITcodi obert
134anys de cartells arxivats

Per què existeix aquest projecte

He assistit a Les Santes des de fa més de 20 anys. Cada edició veia la mateixa escena: gent amb programes de paper arrugats preguntant-se: “on són els gegants ara?” o “a quina hora comença el correfoc?”.

El problema és realment complex en el moment: les cercaviles es mouen, els actes comencen tard, la cobertura és dolenta en carrers plens de gent i la web oficial no està pensada per a un ús en temps real.

Mataró es mereix millors eines. Per això les vaig construir: un projecte d’utilitat pública, en solitari, sense client, sense pressupost i sense equip. Només un problema que valia la pena resoldre i una tecnologia que valia la pena aprendre.


Aspectes tècnics destacats

Posició en directe de la cercavila - sense GPSCada cercavila té una ruta GeoJSON planificada i una hora d’inici. L’aplicació interpola la seva posició al llarg de la ruta cada segon, des del client. Sense maquinari extra ni peticions al servidor: pura geometria i temps transcorregut.
Funciona sense connexió - els espais de festa maten el senyalTotes les dades es guarden a la memòria cau en la primera càrrega. Si obres l’app sense connexió, segueixes tenint el programa complet amb una petita nota que indica l’antiguitat de les dades. Sense esperes ni pantalles buides.
Zero comptes, zero dades recollidesSense registres, sessions ni tokens. Això simplifica tot el backend i facilita la revisió a les botigues d’aplicacions: simplement no hi ha res a revisar pel que fa a la gestió de dades personals.
Cancel·lacions instantànies via Supabase RealtimeQuan l’organitzador cancel·la un acte, totes les instàncies de l’app connectades ho reben immediatament. Els usuaris amb notificacions activades reben un avís amb el motiu. Sense consultes periòdiques al servidor.
130 anys de cartells en només 146 KBL’arxiu complet de cartells (1892-actualitat) re-codificat a AVIF. El que haguessin estat 5,2 MB de PNGs ocupa només 146 KB, un 97% menys amb la mateixa qualitat visual.
MapLibre en lloc de Google o Apple MapsMapLibre GL JS en una WebView aïllada amb mapes de MapTiler. Sense rastreig de tercers, sense configuració pesada d’SDKs natius i control total sobre l’estil. Això manté la política de privadesa en un sol paràgraf.
Mapa de la cercavila amb seguiment de posició en temps real

L’aplicació

L’aplicació mòbil (React Native + Expo) està organitzada al voltant d’una pregunta: què passa ara mateix?

Ara

Obre l’app i mira immediatament què hi ha en directe: una targeta destacada amb l’acte actual i una llista horitzontal dels següents. Sense registres ni configuracions: directament a la festa.

Vista Ara de l'app

Mapa (Mapa interactiu)

Els actes fixos apareixen com a punts. Les cercaviles en moviment mostren la seva posició estimada en temps real com una línia animada, recalculada cada segon interpolant el temps transcorregut sobre la ruta GeoJSON. Sembla en directe perquè el càlcul es fa en directe.

Mapa de l'app amb rutes en directe

Agenda (Programa complet)

El programa complet, filtrable per dia, categoria, tipus d’acte o distància. Un sistema de preferits permet als usuaris marcar actes i rebre notificacions abans que comencin.

Vista de l'agenda completaFiltre de preferits

Recursos (Arxiu)

Un arxiu amb tots els cartells oficials de la festa des de 1892, a més d’una galeria de les postals dels Gegants, tot codificat en AVIF per a una càrrega instantània.

Arxiu de cartellsGaleria de postals dels GegantsPestanya de recursos

Decisions clau de disseny

Sense registre. Sense comptes. Zero dades recollides.Els assistents a la festa volen saber què hi ha, no omplir formularis. L’app és 100% anònima: no es transmet ni es guarda cap dada personal. Això també va facilitar l’aprovació a l’App Store i Google Play.
Offline-first, no només tolerant al mode fora de línia.Els espais de festa tenen una cobertura pèssima. Totes les dades es guarden localment en la primera càrrega, de manera que l’experiència funciona totalment sense internet. Un banner indica l’antiguitat de la memòria cau sense bloquejar l’ús.
El català com a llengua principal.Les Santes és una festa de cultura popular catalana. L’aplicació parla en català de base, no com a localització secundària. L’anglès i el castellà són idiomes de reserva. Aquesta va ser la primera decisió de producte.
AVIF a tot arreu.Tot el contingut multimèdia s’ha codificat a AVIF. La col·lecció de més de 130 cartells va passar d’ocupar 5,2 MB en PNG a uns 146 KB. Mateixa qualitat visual, amb una mitjana de menys de 30 KB per imatge.
MapLibre en una WebView en lloc d’SDKs natius.Utilitzar Google Maps o Apple Maps hagués introduït polítiques de privadesa complexes i fricció en la revisió. MapLibre GL JS s’executa aïllat en una WebView amb mapes de MapTiler: control total sobre l’estil, zero rastreig i una privadesa clara.

La pàgina web (Landing page)

Un lloc web construït amb Next.js 15 App Router que serveix per descarregar l’app i com a gestor de continguts (CMS) per a l’organitzador. Optimitzat per a Core Web Vitals i amb una estructura SEO pensada per competir amb el domini oficial de la ciutat.

Secció de captures de l'app a la webMarquesina de cartells a la webPàgina 404 personalitzada

El panell d’administració

Un back-office protegit per contrasenya integrat a la web. L’organitzador pot crear, editar i cancel·lar actes sense tocar codi. Les cancel·lacions requereixen un motiu que s’envia a l’instant a totes les apps connectades via Supabase Realtime i notificacions push.

Panell d'administració - llista d'actes

La creació d’actes permet tant llocs fixos com cercaviles. Les rutes de les cercaviles es dibuixen a geojson.io i es pugen en format GeoJSON; l’app les fa servir per calcular la posició en directe durant la festa.

Panell d'administració - formulari d'edició

Tecnologia d’un cop d’ull

CapaTecnologia
App mòbilReact Native, Expo SDK 54, Expo Router
Estat i memòriaZustand, AsyncStorage
MapaMapLibre GL JS en WebView, MapTiler
Notificacions pushExpo Notifications, Supabase Realtime
Landing i CMSNext.js 15, Tailwind CSS v4, shadcn/ui
BackendSupabase (PostgreSQL, Auth, Realtime)
SEOJSON-LD @graph, FAQPage, subEvent[], AI allowlist
ImatgesAVIF (reducció del 97% de mida)
InternacionalitzacióCatalà primari, Anglès de reserva

Estat actual

La propera edició de la festa serà del 24 al 29 de juliol de 2026.

L’aplicació està disponible a Google Play per a dispositius Android. Actualment estic treballant per obtenir el reconeixement oficial de l’Ajuntament de Mataró i publicar la versió per a iOS.

Tot el codi font és obert sota la llicència MIT.

Enllaços

Projectes similars

Les Santes

© 2026 Pol Gubau Amores