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

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

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.

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.

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.

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.

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.

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
Architecture
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.
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.
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
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.
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.