Skip to content

Consultancy · Platform

Andorra Resident

A six-language platform for a residency and tax consultancy, with a client portal, an in-house CRM and an AI content agent.

Duration
Apr – Sep 2026
Role
Design, development and AI integration
Languages
6
Portals — client & admin
2
Case stages — questionnaire to approval
5

The brief

Andorra Resident advises families, entrepreneurs and business owners who are thinking of moving to Andorra. Its clients are still abroad, reading in six different languages, and every one of them turns into a long case: documents, questions, deadlines.

The challenge

Every client is a long case run from abroad: documents, questions and deadlines, in six languages. The team needed to see what to do next without chasing email threads, clients needed to see where their file stands, and the public site had to stay fast and findable while the portal grew behind it.

What I built

One platform for the whole journey: a fast, server-rendered public site that answers the tax and residency questions up front, a secure portal where clients share documents and messages, and an admin CRM where the team runs leads, clients, tasks and content. A six-language FAQ assistant answers the common questions on every page, and a scheduled AI agent drafts the next content plan for the team to approve.

Inside the build

The parts that do the work

01Six-language site and SEO

Server-rendered in English, Spanish, French, Catalan, Dutch and German, with hreflang, structured data, a sitemap and llms.txt for AI search.

02Client portal and document vault

Five-stage progress bar, a document checklist, secure messages and alerts. Files sit in private storage and open through short-lived signed links.

03Admin CRM

Leads, clients, properties, tasks, email templates, a blog CMS and an audit log, with a Needs attention list and a ⌘K command palette.

04Automations

Transactional email through Resend, case stages that follow the checklist, one confirmed update email per batch, and a daily job for reminders and data retention.

05Property funnel and PDF dossiers

Buy or rent enquiries lead to a short questionnaire and a branded PDF dossier for partner agencies. Leads who don't answer get reminders at 3 and 10 days.

06AI content agent

A scheduled agent reviews the blog, finds gaps and proposes next month's plan as a pull request. It never publishes anything on its own.

Recreated with demo data — no real client information.

Built with

  • React 19
  • TypeScript
  • Express SSR
  • Supabase
  • Postgres
  • Resend
  • Klaviyo
  • Vercel

How it came together

From brief to live

Duration: Apr – Sep 2026

  1. Apr 2026

    Design & build

    Shipped the first working version with SEO and share cards in all six languages, then a first backend for the client and admin portals.

  2. Jun – Aug 2026

    Launch & automate

    Moved server rendering to serverless functions on Vercel, then added the Klaviyo newsletter and a capture flow for property enquiries.

  3. Sep 2026

    Ongoing support

    Moved the backend from Firebase to Supabase, added error monitoring and consent mode, cut the JavaScript bundle by 74%, then rebuilt the admin workflow and the document vault.

Results

Measured on the live site

97Speed (desktop)
92SEO
96Best practices
Indexed pages
264
Languages
6
JavaScript entry chunk, gzipped
431 → 114 KB
Article and blog page HTML (787 KB → 132 KB)
−83%

Measured with Google Lighthouse · Sep 2026 · other figures from the project’s build and records

Next step

Want something like this?

Tell me about your project — a first take within one working day, and a fixed price in writing before anything starts.

Step by step · from first call to launch

Have a project in mind? Let's build it.

Tell me what you sell and what you need. I reply within one working day with next steps — or an honest “this isn’t for me”.

LinkedIn ↗
What are you looking for?

Next project

Ordino Prestige

View project