JST --:--:--

PosFlex

Growth marketing platform

A growth marketing service for local businesses, from trades to clinics and salons. The website brings in enquiries from Google, Maps and AI search, answers questions at any hour, and makes sure every lead gets a reply.

Visit Live Site arrow_outward
PosFlex homepage with the free growth plan form, in a desktop browser
9:41
PosFlex homepage on a phone
4 Services in one growth system
3 Free tools that start the conversation
13 Admin pages: CRM, analytics and reports
The problem

Word of mouth gets a local business started, but it can’t be turned up when you need more work. Customers now search Google, Maps and ChatGPT, and the business that shows up and replies first usually wins the job.

Top highlights

PosFlex homepage hero with a contact form
1

A homepage that starts the conversation

The first screen asks for one thing: a free growth plan. Visitors pick a template, like a pricing question or a website audit, add a line about their business and send. Booking a call or tapping to phone is one click away.

9:41
Ask PosFlex assistant open on a phone, with suggested questions
2

Questions answered at any hour

Ask PosFlex answers questions about missed calls, pricing and how the system works, in two or three sentences. It is told never to invent prices or results, so when it can’t answer it points people to a call instead of guessing.

PosFlex business toolkit with the business health score
3

Free tools that give an answer first

A business health score (seven questions, a score out of 100), a profit calculator and a speed-to-lead calculator give owners something useful before anyone asks them for anything. The last one ends in a free audit request.

9:41
PosFlex lead recovery page on a phone
4

No missed call left behind

Lead recovery texts back anyone whose call goes unanswered and chases quotes that go quiet, so the enquiry a business already paid for doesn’t go to the next name on the list.

PosFlex admin: CRM pipeline with leads by stage (demo data)
5

A CRM built into the admin

Every enquiry from the forms, tools and bookings lands on one board: New, Contacted, Quoted, Won or Lost. Drag a card to move it on; each lead keeps its deal value, a timeline and its follow-up tasks.

PosFlex admin: visitor analytics with visitors per day, top pages and sources (demo data)
6

Visitor analytics, no cookies

The admin shows real visits with bots left out: visitors per day, top pages, and where people came from, including Google and AI search. It is counted without cookies, so the site needs no consent banner.

Behind the site, for the team

Follow-ups that don’t slip

Calls and emails promised to a lead become tasks, sorted by due date, with overdue ones at the top.

Clicks and referral links

Every button that matters is tracked, and referral links show which partner or post sent each visitor.

Reports that send themselves

Weekly and monthly email reports and CSV exports, so the team sees what is working without opening a dashboard.

Project overview

Client
PosFlex Growth, growth marketing for local businesses. A team of four across New Zealand, India and Japan, working with businesses in the US, UK, Australia, New Zealand and Japan.
My role
Design and development of the whole website, the assistant, the free tools, and the admin with its CRM, analytics and reports.
Deliverables
  • Marketing site with four service pages, pricing, results, reviews, team, FAQ and six articles
  • Ask PosFlex, an AI assistant for visitor questions
  • Three free tools for business owners
  • Contact forms and call booking that feed the CRM
  • Missed-call text back
  • Admin with a CRM pipeline, follow-ups, analytics, Google search data and email reports
Status
Live at posflexgrowth.com.

Fast replies and easy ways to get in touch are also at the heart of my websites for trades businesses and restaurant websites.

Technical details for developers

Stack, architecture and how it is built.

Stack

Frontend
Next.js 16 (App Router) React 19 TypeScript 5 Tailwind CSS v4 Motion WebGL
Backend
Route Handlers Cloudflare Workers Cloudflare D1 Nodemailer Twilio Voice & SMS
Ai
OpenRouter Gemini 2.5 Flash Lite
Infrastructure
Vercel Cloudflare Search Console API Rate Limiting

Architecture

forum

Ask PosFlex

The chat runs through a route handler that only accepts requests from the site’s own origin, caps a conversation at 8 turns and 800 characters a message, and rate-limits each IP (12 a minute, 40 per half hour). It calls Gemini 2.5 Flash Lite through OpenRouter with reasoning off and a 200-token answer cap, and the system prompt forbids inventing prices, statistics or client names.

move_to_inbox

Lead Pipeline

Forms post to a route handler with a honeypot field and a limit of 5 per 30 minutes. It emails the team over SMTP, then hands the lead to a Cloudflare Worker that stores it in D1 (SQLite) with its source, stage and timeline. The admin reads the same Worker API, so there is one source of truth.

phone_callback

Missed-Call Recovery

A business owner on a job can’t answer the phone. The number diverts to a Twilio line that hits a webhook here: the request is checked against Twilio’s signature, and the caller gets an SMS back within seconds plus a short voice message, before they ring a competitor.

Highlights

visibility_off

Cookieless Analytics

Visitors are counted with a salted daily hash instead of a cookie, so there is no consent banner and no tracking across days. Data is kept for about 13 months, and search data comes straight from Search Console.

lock

Locked-Down Admin

One password, stored as a PBKDF2 hash in a Worker secret. Signing in returns an HMAC-signed token, and five wrong tries lock sign-in for a minute. The SMTP app password for email reports is stored AES-256-GCM encrypted.

Want something like this?

I build websites that bring in enquiries, answer questions and make sure no lead is missed.