Trucadors

Custom public-sector software from Formentera

Public platforms,
built to measure.

Websites, CMSs, bookings, data, voting and AI assistants for administrations across Spain and Europe. No WordPress, no templates. Security built in and compliance with the most demanding European standards: ENS, GDPR, NIS2 and WCAG 2.2 AA accessibility. With artificial intelligence only where it truly saves time.

6public platforms in production
10languages on the official tourism website
1,116URLs migrated without losing search rankings
0templates, plugins or WordPress

Services dossier · Edition September 2026

trucadors.eu · hola@trucadors.eu · Formentera, Illes Balears

01 · Services

Everything an administration needs in digital.

Web

Custom websites and CMS

A content manager designed around your team, not the other way round. No WordPress, no plugins, no updates that break things.

AI

AI-powered platforms

Assistants that answer in any language using official data, by text and by voice. Like na Sargui on formentera.es.

Bookings

Booking and appointment systems

Slots, calendars and automatic confirmations, with no double bookings. Like the appointment system for the Formentera vehicle inspection centre.

Data

Data observatories

Semi-automated collection of local data, reports and open data. Like the Observatori de Dades de Formentera.

Participation

Voting and participation

Citizen voting with real-time results. Like the Formentera Gastronomic Days.

Registers

Public lookup portals

Public search over official registers, with an API for third parties. Like the Formentera tourism register.

Apps

Mobile apps and kiosks

Android and iOS with Capacitor, plus kiosk mode for public totems, all from the same code as the website.

Automation

AI workflow automation

We turn manual, repetitive processes into automated flows supervised by people: translations, reports, notifications.

Security

Cybersecurity for the public sector

Security headers and CSP, hardening, tested access rules, backups and recovery, with Spain's National Security Framework (ENS) as the reference.

SEO

Technical and international SEO

Migrations without losing rankings, hreflang, structured data and Core Web Vitals. 1,116 URLs redirected in the formentera.es migration.

Analytics

In-house usage analytics

Every interaction measured in BigQuery with our own dashboard and no third-party cookies. Like the telemetry on formentera.es, kiosks and app included.

02 · Projects in production · 01/06

Consell Insular de Formentera · Tourism · 2026

The new official tourism website, with AI in ten languages

in.formentera.es began life as an AI assistant and in September 2026 replaced the official WordPress site as formentera.es: website, physical kiosk, mobile app, business portal and management dashboard, all from a single codebase.

10languages
2,840pre-rendered pages
1,116URLs redirected without losing rankings

The challenge

The official tourism website lived on a WordPress install with information that was out of date and duplicated across other channels. Residents, visitors and businesses needed a single place with live data: beaches, events, transport, shops, and immediate answers in their own language.

The solution

We built a complete platform on Google Cloud. The public website is pre-rendered into more than 2,800 pages for flawless SEO and served by nginx behind a load balancer with Cloud Armor. The na Sargui assistant answers via streaming with Gemini and live voice over WebSocket, and takes geolocation, temperature and wind into account to recommend, for instance, the most sheltered beach. The same code powers the island's totems in kiosk mode, the Android and iOS app and the portal where businesses publish their listings in ten languages. The migration redirected 1,116 URLs from the previous WordPress site.

Project highlights

Technology

React 19ViteTypeScriptExpress 5GeminiWebSocketsSSENext.js 16CapacitorFirestoreBigQueryCloud RunCloud ArmorCloudflare WorkersCloudinaryCloud DLPnginxk6

https://www.formentera.es

02 · Projects in production · 02/06

ITV Formentera · Consell Insular · 2026

Vehicle inspection appointments without queues or phone calls

Public appointment booking system for the vehicle inspection centre, with PIN verification, PDF confirmation and a dashboard for the centre's team.

3languages
83automated tests
0double bookings, by design

The challenge

Appointments were handled by phone and by hand, with lost slots, double bookings and no reminders. It needed a simple website for citizens and a nimble tool for the centre's staff, with a guarantee that two people could never take the same slot.

The solution

A Node.js application on Cloud Run with Firestore. Every time slot has its own occupancy document and bookings are made inside a transaction, which rules out double bookings even under simultaneous load. Citizens confirm with a PIN sent by email, download their PDF confirmation and can manage their appointments. The internal dashboard shows the daily and weekly grid and supports blocking, a blacklist and CSV export. Cloud Scheduler triggers reminders and expiries, and the operations, restore and security documentation lets the Consell run the service independently.

Project highlights

Technology

Node.jsExpressFirestoreCloud RunCloud SchedulerSecret ManagernodemailerpdfkithelmetJWTbcryptCloud Monitoringnode --test

https://itv.conselldeformentera.cat

02 · Projects in production · 03/06

Observatori de Dades de Formentera · 2025

The island's open data bank

The Consell's data portal, with eight thematic views, interactive reports, public surveys in eight languages and a semi-automated collection flow from the tourist offices.

8thematic views
8languages in the surveys
3languages on the portal

The challenge

Data about Formentera was scattered across reports, spreadsheets and paper surveys. It needed a single public portal, a dashboard so the team could publish without depending on anyone, and a way to collect field data without manual work.

The solution

A Next.js application with Firestore as its single data store. The public portal organises information in a category tree with embedded Power BI reports. The admin dashboard includes an editor, drag-and-drop ordering and Excel export. The tourist offices enter data through their own form, and the public surveys, such as those for the Starlight project, work in eight languages. Gemini automatically translates content from Catalan into Spanish and English and powers a public chatbot about the data.

Project highlights

Technology

Next.js 16React 19TypeScriptTailwind CSS 4FirestoreGeminiPower BIChart.jsdnd-kitDockerCloud Run

https://www.observatorideformentera.cat

02 · Projects in production · 04/06

Consell Insular de Formentera · Tourism regulation · 2026

The island's tourism register, public and searchable

Public search tool for tourism businesses, establishments and activities, with a role-based admin dashboard, case files with attachments and an API for third parties. Migrated from years of spreadsheets.

8establishment categories
2applications: public and management
1public API with keys

The challenge

The register lived in Excel and ODS sheets accumulated over years, with no stable identifiers and no way for the public to consult it. It had to be migrated without losing its history, expose only what is public and give the team a management tool with full traceability.

The solution

A monorepo with two React applications and a shared package that defines the master schema. Firestore stores the complete case files and projects a public version with an aggregated index, so the search tool never touches internal data. Writes are atomic and audited, the Firestore and Storage security rules have their own tests, and a REST API with encrypted keys lets third parties query the register. The migration scripts generated stable identifiers from the historical files.

Project highlights

Technology

React 19ViteTypeScriptMantinepnpm monorepoFirestoreCloud FunctionsFirebase AuthApp CheckreCAPTCHA EnterpriseFirebase Hosting

https://registre-turisme-formentera.web.app

02 · Projects in production · 05/06

Save Posidonia Project · 2025

A lightweight website for a cause that deserves it

Multilingual site for the campaign protecting the posidonia meadows, the seagrass that keeps Formentera's waters crystal clear.

100%static, no database
0plugins to update

The challenge

The campaign needed a website that was fast, multilingual and cheap to maintain, without the burden of a content management system demanding constant updates and attention.

The solution

A static website in HTML, CSS and JavaScript with JSON-based internationalisation, served by nginx on Cloud Run. No database or dashboard to maintain: content is versioned as code. The container includes only the allowed files and sends security headers with every response.

Project highlights

Technology

HTMLCSSJavaScripti18n JSONnginxDockerCloud Run

https://saveposidoniaproject.org

02 · Projects in production · 06/06

Consell Insular de Formentera · Tourism · 2026

Public voting for the Gastronomic Days

Campaign application at app.formentera.es where the public votes for the participating dishes and restaurants, with real-time results.

Livereal-time results
1codebase shared with the tourism platform

The challenge

The Gastronomic Days wanted to involve the public in choosing the best dishes, with a vote open for weeks, accessible from a mobile phone and with results visible instantly.

The solution

A campaign application inside the tourism platform, published at app.formentera.es and deployed on Cloud Run. It shares components, services and languages with formentera.es, so each new campaign launches in days. Votes are stored in Firestore and results update in real time for both the organisers and the public.

Project highlights

Technology

React 19ViteTypeScriptFirestoreCloud Runpnpm monorepo

https://app.formentera.es

03 · Technical capabilities

Technology that is already in production.

Frontend · Pre-rendered websites, kiosks and mobile apps from a single codebase.

React 19Next.js 16 (App Router)Astro 7Vite 8TypeScriptTailwind CSS 4MantineSEO prerender (2,840 pages)Server actions and middlewareView TransitionsWebGL and GSAPChart.jsdnd-kitWYSIWYG editors

Apps and kiosks · The same platform in your pocket and on the street.

Capacitor (Android / iOS)Google Play and App StoreKiosk mode for totemsInactivity detectionQR sharing between screen and phoneCampaign appsTouch-friendly, accessible design

Backend · APIs, real time and scheduled jobs.

Node.js 22 to 26Express 4 / 5WebSockets (ws)Server-Sent EventsCloud Functions v2REST API with keysAtomic transactions and batchesCloud Scheduler with OIDCTransactional email (nodemailer)Generated PDFs (pdfkit)Excel / CSV export

Identity and access · Who gets in, to what, and with which guarantees.

Firebase Auth (Google)In-house JWT (jose)httpOnly cookie sessionsbcryptEmail PIN verificationRoles and claimsApp Check + reCAPTCHA EnterpriseEncrypted API keysBlocklists and lockouts

Data · Modelling, analytics, migrations and open data.

FirestorePublic projections and aggregate indexesBigQueryCloud StorageEmbedded Power BIMigration from Excel / ODS with stable idsWordPress / MySQLOpen dataMultilingual surveysPITR and scheduled exports

AI · Chat, voice, translation and automation with human oversight.

Gemini (@google/genai)Vertex AIClaudeStreaming chatLive voice over WebSocketKnowledge base built on official dataReal-time context (weather, wind, transport)Machine translation with reviewCloud TranslateCloud DLPHandover to people

Maps and real time · Territory and live data inside the platform.

LeafletOpenStreetMapGoogle MapsCARTO and ArcGIS basemapsGeolocationOpen-Meteo (weather and wind)Live webcamsTransport timetablesSunrise and sunset

Images and media · Every screen gets exactly the right format and size.

Cloudflare Workers (images)CloudinaryResponsive WebP and AVIFLazy loadingCookie-free YouTube and Vimeo videoSelf-hosted fontsFontsource and Fontshare

Infrastructure · Google Cloud end to end, within the European Union.

Multi-service Cloud RunHTTPS Load BalancerCloud Armor (WAF)Certificate ManagerStatic IPs and url-mapsMulti-site Firebase HostingCloud Build and Artifact RegistryMulti-stage DockernginxSecret ManagerCloud Monitoring and alertsError ReportingEuropean regions

Security · Layered protection, tested backups and recovery.

Content Security Policy with hashesHSTS, COOP and CORPhelmetRate limitingHTML sanitisation (DOMPurify)Encryption of data at restFirestore and Storage rules with testsCloud ArmorCloud DLP7-day PITR backups + exportsRestore drillssecurity.txtENS reference (Spain's National Security Framework)

Operations · Deploy without fear and roll back in seconds.

pnpm monoreposTagged revisions at 0 % trafficInstant rollbackStaging per serviceInfrastructure as codeScripts with dry run and --applyBulk redirects (1,116 URLs)Migration from WordPressLiving operations documentation

Quality · Tests, load and accessibility measured, not promised.

node --testRules tests against the emulatorTypecheck and lintSmoke tests (24 checks)Concurrency testsLoad testing with k6Lighthouse 100Core Web VitalsWCAG 2.2 AA and EN 301 549

International SEO · Indexed in the right language, without losing a single URL.

Up to 10 languageshreflang and canonicalsJSON-LD structured dataSitemaps per languageOpen GraphPre-renderingSearch Console

Analytics · Measure every interaction without tracking anyone.

In-house telemetryBigQueryWeb, app and kiosk eventsAssistant conversationsSearches and unanswered questionsManagement dashboardsAutomated reportsNo third-party cookies

04 · Commitments to the public sector

Accessibility

WCAG 2.2 AA and EN 301 549 from the design stage, not as a final patch.

GDPR and data sovereignty

Hosted in the European Union, with your data always under your control.

Truly multilingual

Co-official and European languages with their own routes, SEO and content.

Your own code

No third-party licences or dependencies that expire. The code is yours.

Agile procurement

Clear phased budgets, suitable for minor contracts and tenders.

Human maintenance

A small team that answers, not a ticket in a queue.

05 · Contact

Shall we talk about your next project?

Tell us what you need and we'll reply within 48 hours with a first proposal.

hola@trucadors.eu

https://trucadors.eu · Formentera, Illes Balears

Four steps. Zero surprises.

01

Listen

A session with your team to understand the real problem, not just the brief.

02

Design

A navigable prototype in days, with your identity and all your languages.

03

Build

Custom development with weekly deliveries you can test.

04

Support

Deployment, training and continuous improvement, with AI where it adds value.