Bolt Branding runs a design and marketing agency and needed one place for the whole client journey, from first enquiry and proposal through onboarding, invoicing and support. We built it, including Google Ads monitoring that checks every client account each morning.
The goal: one place where an enquiry becomes a proposal, a project, an invoice and a happy client.
The challenge. Like most agencies, Bolt Branding's work spans proposals, projects, tasks, invoices, onboarding forms, support requests and ad accounts. Normally that means half a dozen tools held together by copy-and-paste.
What we did. We started from how an agency really operates, not from a template. A client is a company with several logins. A project is born from an accepted proposal. A retainer generates its own invoices and tasks every month. And anything a client needs to do shows up in one list. The team works in a staff area, while each client gets a portal showing only their own work.
Four screens recreated from the real system, running on sample data. Accept the proposal in tab two, then check the clients board and the client portal: they all react.
Drag cards between columns, or use the arrow on each card.
| Discovery & strategy | £1,200 |
| Design (5 page templates) | £3,600 |
| Build, content & launch | £4,200 |
| Total | £9,000 |
| Deposit due on acceptance (30%) | £2,700 |
Nothing yet. This is the page the client sees: a private link, no login. Fill in a name, agree, and press Accept proposal.
The rules behind these alerts are the real ones. The clients and figures are invented. See every check →
| Search term | Clicks | Cost | Conv. | Flag |
|---|
Terms that spent £20 or more over seven days with no conversions are flagged for a person to review. They are never applied to the live ad account automatically.
| Project | Status | Due |
|---|
Screens, rules and alert wording are recreated from the real system. Every client and figure shown is invented.
Proposals, projects, invoices and support live in one system, so the team isn't hunting for the latest version of anything.
Accepting a proposal creates the project and the deposit invoice, and retainers generate their own invoices and tasks.
Each client sees one "action needed" list: forms to complete, documents to approve, replies to send.
Instead of checking dashboards, the team gets one email a day with only what's newly wrong, and nothing in the accounts changes unless a person decides it should.
A board and a list, by status: lead, onboarding, active, paused, churned. Activity log, CSV export and global search.
Private link, no login. Clients accept or decline online, and acceptance creates the project and deposit invoice automatically.
Reusable checklists (website build, brand identity, SEO retainer, ad campaign setup), assigned to staff, with comment threads.
Invoices with line items, payments recorded as rows (so payment plans just work), PDF export and recurring invoices by schedule.
Reusable intake forms for websites, brand and ads. Clients complete them in the portal, including file uploads.
A separate login per person, scoped to their company. One "action needed" list for forms, approvals, replies and feedback.
Category, priority and status, with a two-way thread. Urgent or unassigned tickets surface on the dashboard.
Requested automatically when a project completes. Clients rate, quote and choose whether they can be featured.
Connected to the agency's Google Ads account. Every morning it checks each client account and emails only what's newly wrong. Read-only by design.
Every morning the system checks each client's Google Ads account and emails the team only what's newly wrong. It reads from the live accounts and never changes them.
Yesterday against the previous seven days. Skipped for brand-new accounts with too little spend, to avoid noise.
Alerts are de-duplicated by account and check, so an ongoing problem is a single alert that stays up to date, not a new one every morning.
When a check stops finding the issue, the alert resolves automatically. Nobody has to tidy up.
If one account's data can't be fetched, that account is logged and skipped. The others still run, and a failed email never takes the job down.
The interesting part of a bespoke build is what you choose not to do.
Deliberately plain technology, chosen so the system is quick to load, cheap to run and easy for anyone to look after for years to come.
Staff and clients each get their own, completely separate experience. A client only ever sees their own company's work.
Every notification, from a new proposal to an overdue invoice, flows through one place, so the right people reliably hear about the right things.
The Google Ads connection only ever reads. Alerts are de-duplicated so an ongoing issue is one open row, not a daily flood, they close themselves when the issue goes away, and anything that would change an account is left for a person to approve.
Every change to the system is tracked and checked, so new features can be added without disturbing what already works.
Or something much smaller. A free 20-minute call is the easiest way to find out.
Start a conversation →