Territory information and business tools in a more usable form

Territory tools and business websites

Regen Profits

My role

Design and development of the territory map, website, portal, and sales application

Status

Sales app, territory map, and website with portal delivered, then handed to client-owned GitHub and Vercel.

A territory map, a website with an application portal, and a field sales app.

The problem. Territory claims were buried in CRM fields, and the website had no connection to how clinics and presenters applied.

The work. We built a territory map over 33,791 ZIP areas, a new website with an application portal, and a phone-first sales app.

The change. The team can see at a glance whether an area is claimed, applicants land on a page written for them, and all three systems run on the client’s own accounts.

The situation

Regen Profits works with clinics and presenters across many territories. Territory claims lived as ZIP code fields in the company’s CRM, which made them hard to trust: it was difficult to see which areas were covered, which overlapped, and which were open. The marketing site lived on a separate platform with no direct connection to how clinics and presenters actually applied.

Seeing territory instead of reading it

The territory map reads ZIP claims from the CRM and draws them over national ZIP-area geometry: 33,791 ZIP code tabulation areas (ZCTAs). Someone can look up an area, see whether it is claimed, and open a detail panel for that territory instead of scanning lists of postal codes.

Territory map with ZIP-level coverage shading, location markers, and a territory detail panel

Before offering an area to a new clinic, the team can see whether the ZIP is already claimed, who holds it, and the recommended next step.

Two decisions mattered most. First, the boundary data is served as compact map tiles, so the map stays responsive without loading the whole country at once. Second, the map works from a local copy of the CRM data and refreshes it in the background, so a slow CRM response does not leave someone staring at an empty screen. The map can also export where each claim came from, which makes disagreements easier to check.

A website that leads to the right next step

The new website starts by asking whether the visitor is a clinic or a presenter, then sends each to a page written for them. Applications go through an authenticated portal that queues updates for the CRM, so a submission is not lost if the CRM is briefly unavailable. The site replaced the previous hosted platform on the company’s domains.

Regen Profits website entry screen splitting visitors into clinic and presenter paths

The website’s first question: is the visitor a clinic or a presenter?

Presenter application step in the Regen Profits portal with a short leadership interview video

The application portal collects what the team needs before the CRM is updated.

A sales tool for the field

We designed and shipped a phone-first sales app where reps log activity as events instead of entering pipeline stages by hand, administrators can review and view the app as a rep, and estimated commissions follow the company’s rules, including paying on money actually collected. Ownership was then transferred to the client’s GitHub organization and Vercel team.

Sales Hub home in the Regen Profits sales application with activity logging

The sales application’s home screen for logging activity from a phone.

Where it stands

All three systems were delivered: the sales app, the territory map, and the website with its application portal. Each was handed over to the client’s own GitHub organization and Vercel team, so the company keeps the code and hosting on its accounts.

What was delivered

  • A phone-first sales app where reps log activity as it happens, with role-based access and commission estimates that follow the company’s rules.

  • A territory map covering 33,791 ZIP areas, built from the ZIP claims in the company’s CRM, with a record of where each claim came from.

  • A website that splits clinics and presenters into their own paths, with an application portal that queues updates for the CRM.

What it makes easier

  • Answering “is this ZIP already claimed?” by looking at a map instead of scanning CRM fields.

  • Checking a disputed claim against its source.

  • Keeping field activity and commission estimates in one place instead of spreadsheets.

Built with

Next.js, TypeScript, Supabase, GoHighLevel, Clerk, Neon, Drizzle, Vercel, PMTiles.

Read the long-form technical write-up on GitHub →

Interface shown with sample data.

Start with what you need.

Ask for a free homepage preview if you need a business website. If it is software, a client portal, or a connection between tools, tell me about the project. Neither request commits you to anything.

Transparent image of sand dunes

Create a free website with Framer, the website builder loved by startups, designers and agencies.