Skip to content
Youness Fkhach · Work · 2018 — 2025HomeWorkWritingResume

Efalia Engage

Seven years turning a citizen participation platform into a fully customisable SaaS, through a gradual Rails API migration, an in-house form builder, AI-powered moderation, and the infrastructure underneath it all.

RoleSenior Full-Stack EngineerPeriod2018 — 2025
7 yearsBuilding and scaling the platform
Rails APIMigrated from a Rails-rendered monolith, gradually
SaaSSingle product turned fully customisable per client

Efalia Engage, formerly Fluicity, is a citizen participation and community consultation platform. Over seven years I worked across its entire surface: the product, the architecture, the AI features, and the infrastructure it runs on.

Migrating without a rewrite

The application started as a Rails-rendered monolith. Moving it to a Rails API with a React frontend was necessary for performance and scalability, but a stop-the-world rewrite was not an option for a product in active use.

I ran the migration gradually, moving surfaces across a piece at a time, with both rendering models coexisting until the last one was done. The platform kept shipping throughout.

From product to platform

The largest arc of the work was turning one product into a fully customisable SaaS. Clients could shape their own instance: theming, pages, custom domains, custom fields, custom forms, and custom logic. Configuration, rather than a fork per client.

Supporting that meant building the machinery underneath it:

Search, feeds and trust

Discovery ran on Algolia, giving fast search alongside customisable feeds and recommendations.

Participation platforms also have to be trustworthy, which is a harder problem than it sounds. I implemented fraud detection and deduplication for contributions and votes, and an identity and residency validation process using PreventGo. Consultations are only meaningful when the people in them are who they say they are, and live where they say they do.

Pioneering the AI transformation

I proposed and then implemented the platform’s first AI-powered features, built on OpenAI:

Infrastructure and observability

I helped migrate the infrastructure from Heroku to Qovery on AWS, and managed the AWS footprint directly (EC2, S3 and Lambda) with Dockerized CI/CD pipelines.

For visibility, I ran Appsignal for continuous monitoring and error reporting with Slack integrations, and stood up Redash as an internal service for graphs and data visualisation, so questions about the data did not have to become engineering tickets.

Throughout

End-to-end solutions in Ruby on Rails, React and modern TypeScript, across the full depth of a product, sustained over seven years.

Stack

Ruby on RailsReactTypeScriptPostgreSQLAlgoliaOpenAIAWSQoveryDockerRedashAppsignal