BIA Insurance

WebsiteWebsite
InsuranceInsurance
MultilingualMultilingual

TL;DR

A three-generation insurance agency in Stoughton, MA, running on a Wix template. I rebuilt it as three pages in four languages, hosted for free.

2026

Project Type

A friend's family agency.

Role

Sole designer and developer, working directly with the client.

The rebuilt Brockton Insurance Agency site

The Site Has One Job

Brockton Insurance Agency has been placing coverage since 1980, three generations in, run now by the founder’s daughter and grandson. The site was Wix. Stock family in a car, a badge logo, and a layout the template picked.

Wix will get a non-designer to a live website, which is not nothing. What it will not do is get them past a ceiling. An agency asking a stranger for their address and their driving record is judged on exactly what sits above that ceiling.

A small agency’s website has one job, which is to get someone to call. So I argued the six pages the client had planned down to three. Home to route, Current Customers to serve the people already paying, Contact to take the quote. Everything that did not serve one of those was cut.

So the artwork is hand-built SVG, drawn in the logo mark’s own stroke voice. It draws itself in when the page loads, and hovering it erases the drawing again.

Angled array of the previous site: stock photography, a badge logo and a generic hero
Angled array of the rebuilt site: the three pages that replaced six

Four Languages

Brockton is one of the most linguistically diverse cities in Massachusetts. The agency’s book of business reflects that and its website did not, so the rebuild ships in English, Portuguese, Spanish and Haitian Creole. Every page carries its own title and description in its own language, so a search in Portuguese returns a Portuguese page rather than an English one.

Translation runs at build time on Cloudflare Workers AI. That is the same account that already hosts the site, so there is no second vendor and no key in production. A script writes the three dictionaries into the repo. Every translation lands as a git diff the client can review, and changing one English sentence retranslates that sentence alone.

Machine translation of insurance copy needs supervision. So the pipeline checks its own output, and ambiguous English is rewritten before the model ever sees it. What lands is a clean draft the agency corrects, and a correction survives every later run.

The same page in English, Portuguese, Spanish and Haitian Creole

What I Pushed Back On

The draft asked for a driver’s licence number on the quote form. An insurance site that collects it inherits a liability the agency has no reason to carry, and the quote does not need it. It came out, and the form asks for what a callback actually requires.

Later the client sent back copy promising to requote every policyholder across every carrier before every renewal, whether or not they asked. That is a written commitment on the agency’s own site, binding on every policy. It shipped as “we review our clients’ policies across our carrier network at renewal, not just when someone asks us to”, which is still a differentiator and is defensible.

Where It Landed

It is a static export on Cloudflare Pages, so the agency pays nothing to run it. Forms go to one endpoint that emails both agents and writes every submission to a database, so a lead survives an email failure. Claims and payment numbers for eight carriers sit on one page instead of behind a phone tree.

The site launched this month, so there is nothing to report on yet. What changed is that an agency serving Brockton’s Cape Verdean, Brazilian and Haitian communities now has a website those customers can read.

Curious to learn more? Reach out!