Full-stack developer · Birmingham, UKOpen to opportunities · 2026
Selected work

03 / Case study

MapMons

A Chrome extension for finding local businesses that need a better website.

I built MapMons for freelancers and small agencies. It works inside Google Maps, filters promising leads and turns a research session into a useful CSV for outreach.

Visit mapmons.com
Year
2026
Role
Product design · Chrome extension engineering
Built with
TypeScript · Chrome MV3 · esbuild
MapMons lead finder filtering local businesses inside Google Maps

The problem

What needed to work better.

Finding local website prospects often means opening listings one by one, checking whether each business has a site and keeping notes by hand. The useful signal is buried inside a repetitive research task.

What I built

MapMons adds a focused research panel to Google Maps. It classifies visible listings, filters the strongest opportunities, can inspect websites with permission and exports a clean, deduplicated lead list.

Main areas

What I worked on.

  1. 01Google Maps lead filtering
  2. 02No-site, social-only and dated-site signals
  3. 03Optional local website audits
  4. 04Foreground Auto Hunt research
  5. 05CSV export with outreach context
  6. 06Privacy-led Chrome permissions

My role

Building and preparing a complete Chrome extension.

I worked from product definition through extension engineering, interface design, testing, packaging and the public website. The extension uses vanilla TypeScript and Chrome Manifest V3, with a deliberately small build setup.

I also prepared the store listing, screenshots, privacy explanations and reproducible release package. That made browser permissions and user trust part of the product work, not just launch paperwork.

Key decisions

Useful research without hidden background behaviour.

The free lead-finding mode only needs access to Google Maps. Website auditing asks for broader site access separately, at the moment the user chooses to run it, and that permission can be revoked.

Auto Hunt works in the foreground on the visible Maps list. It keeps the session deduplicated and stops at a user-selected target instead of quietly scanning in the background.

The export includes practical lead context and local outreach openers. Optional AI polishing requires clear per-lead consent, while deterministic local openers still work when AI is unavailable.

How it works

Turning listings into a shortlist.

MapMons reads the current Google Maps results and identifies businesses with no website, a social-only presence or a site that may need attention. Filters for ratings, reviews and business category keep the session focused.

With website audits enabled, it checks the homepage for clear, explainable issues such as missing mobile support or basic metadata. A calibration run on the included live sample matched 37 of 39 expected classifications.

What I learned

Trust is a feature in browser software.

A Chrome extension sits close to a user’s browsing, so narrow permissions, visible behaviour and plain explanations matter. I learned to design the permission flow and failure states with the same care as the main feature.

The project also strengthened my TypeScript, browser API, testing and release skills. It showed me how to keep a useful product small while still handling privacy, paid features and edge cases properly.

Tools used

TypeScriptChrome MV3esbuildVitestHTMLCSS

Continue

Next projectVinted Monitor