Client MyAdvisor
The site of a financial adviser in Singapore, driven by a bespoke CMS that also handles her articles and the clients she wins through it.
- Year
- 2026 — present
- Client
- Financial adviser · Singapore
- Stack
- Python · FastAPI · PostgreSQL · Alembic · React · Vite · Next.js · next-intl · Cloudflare R2 · Resend · Umami · Twilio · pyvips
Context
The client is a financial adviser in Singapore. She needed a site that brings her clients, and the means to keep it alive on her own afterwards.
Finance is a sensitive field. In Singapore, personal data protection is set by law, the PDPA. That is a starting constraint, not a finishing touch.
My role
Design and development on a requirements document iterated with the client. I also run the platform in production.
Approach
A bespoke CMS
The client edits her site, publishes her articles and follows the contacts coming in, from the first message through to a signed client. She does not need me for any of it.
Search from the start
The blog is built for search, and every image uploaded is compressed and converted to a web format automatically, because their weight weighs on the ranking.
Two environments
The client approves in pre-production before anything goes live. Tests and deployments are automated, so a fix ships the day it is written.
Keeping it alive in production
A ticket system so she reports a problem in a few clicks, application logs, self-hosted analytics, backups and a restore procedure.
Personal data
It is encrypted in the database and only the adviser can reach it: the site administrator never sees a contact's details in the clear.
Outcome
The site is live. The client updates it and follows her contacts on her own; I stay on the run and what comes next.

