Local Spring Selected work Charity Essentials
Case study · Charity accounting · Canada
Built from zero, then rebuilt for what it became
Andrey Timofeev, CPA, started Charity Essentials with no website, no reviews and no advertising budget. I built the first site in 2024 and everything around it — search, the Google profile, the review process, the content. Two years later the practice had outgrown that site, so I redesigned it.
01 Results
What two years produced
- #3
- For “charity accounting canada” third organic result, Google Canada
- $0
- Spent on advertising in two years of growth
- 5.0
- Google rating every review, five stars
- 44
- Google reviews asked for, never bought
Ranking checked on Google Canada, August 2026; rating and review count from the Charity Essentials Google Business Profile. 1
The project
- Client
- Charity Essentials
- Founder
- Andrey Timofeev, CPA
- Sector
- Accounting and CRA compliance for charities
- Market
- Canada, and US charities expanding into Canada
- Build
- Low-code builder (2024) → custom build (2026)
- Engagement
- Ongoing since 2024
- Live site
- charityessentials.ca
What I did
- First website, 2024 Designed and built from scratch
- Redesign, 2026 Custom build, in client review
- Google Business Profile Set up, optimized, coordinated
- Local SEO Structure, pages, search terms
- Review process 5.0 across 44 Google reviews
- Founder profile Positioning and personal brand
- Articles & FAQ The questions charities search for
- Enquiry handling Form, routing and delivery
- Owner-editable content Plain-language edits through an AI agent, with guardrails
02 Two years
How the practice got found
Nothing here was bought. The growth came from the site, the Google profile, a steady review habit and the founder showing up in public — in that order.
- 2024 Launch
A practice with nothing to point at
Charity Essentials existed as expertise and a short client list. There was no website, no reviews, no search presence and no budget to buy any of it. The brief was one sentence: a minimal, clear site that says exactly what we do.
- 2024 — 2026 Growth
Getting found without paying for it
The website was half the job. A Google Business Profile set up, optimized and kept current — categories, services, photos and posts, coordinated with the team. A steady process for asking clients for reviews. The founder's own profile and content, and articles answering the questions charities actually search for. No paid advertising at any point. By August 2026 the practice sits third in Google's organic results for “charity accounting canada”, and is cited as a source in the AI overview above them.
- 2026 Redesign
Outgrown, in the good way
Fifteen published client reviews, twelve named client organizations, five services and a blog. The 2024 site was designed for a practice a fraction of that size, so I rebuilt it around what the practice had become.
Where that puts them
“Charity accounting canada” on Google Canada, August 2026. Charity Essentials is the third organic result — under the paid ads, alongside two firms that have been at this far longer — and Google's AI overview cites the site as a source above them. 2
Not a cent of that position was bought.
03 Feedback
What the client says
“Dima built our first website when we had nothing to show — no reviews, no clients we could name, and no budget for advertising. Charities find us, read the site and get in touch, and that has not stopped since. Two years on he rebuilt the whole thing around what we had actually become. He is the person I call for anything that touches how we look online.”
- Built from nothing
- Steady enquiries
- No ad spend
- Two-year partnership
Andrey Timofeev, CPA Founder Charity Essentials Draft — written up from Andrey's feedback and awaiting his approved wording.
On the record
Charity Essentials also left this five-star review on the Local Spring Google profile. Google removed it in error during a profile change; a reinstatement request is open, so the screenshot stands as the record of it in the meantime. 3
04 The brief
The same brief, twice
What the client asked for did not change between 2024 and 2026: a minimal, clear site with plain descriptions of what the practice does. What changed was how much there was to describe.
-
Problem
Five services sat behind five tabs
Each service was a tab, so only one was ever visible. The other four were a click and a guess, and nothing on screen said how they fit together.
Solution
Five cards that name every service at once and expand in place, with what is included underneath.
-
Problem
Proof arrived one review at a time
Fifteen strong client reviews sat in a carousel behind arrows. Most visitors saw exactly one of them.
Solution
Named client logos, a Google rating panel and a review grid — proof that reads without clicking.
-
Problem
One free-text box for every kind of enquiry
Name, email, phone and a blank message. The team worked out who the sender was and what they needed after the fact.
Solution
Organization, service and preferred contact captured up front, so the reply starts with context.
-
Risk
A redesign could undo two years of visibility
The 2024 site is what earns the practice its enquiries. Replacing it carelessly would put that at risk for no gain.
Solution
The redesign is staged on a host search engines are told to ignore, and stays there until the client signs it off.
Nothing about the 2024 site failed. It was built for a practice with no reviews, no named clients and no articles, and it carried the business for two years on no ad spend at all. The redesign exists because there is now a great deal more to show.
05 What changed
What changed, screen by screen
Each pair below is the same job on the 2024 site and the 2026 one. Select any screenshot to open it full size.
01Services
Five tabs became five cards
The old page showed one service and hid four. The new one names all five, keeps the descriptions plain, and opens the detail directly under the card that was tapped — including on a phone.
02Proof
One review at a time became a wall of proof
The same client reviews, presented so that a treasurer or board member can see the weight of them at a glance: a rating panel, review cards, and the logos of organizations the practice actually works with.
03Enquiries
A blank message box became a qualified enquiry
The form now asks for the organization, the service and how the person prefers to be reached, and says plainly who the practice works with and how quickly it replies.
Other screens from the redesign
-
After — client organizations
-
After — the founder section
The same homepage on a phone
-
Before · 2024 site
-
After · 2026 redesign
06 Handover
The owner updates the site himself, in plain English
No CMS to learn and no code to write. Andrey describes the change he wants to an AI agent on his own computer — Claude Code or Codex — and it makes the edit for him. What keeps that safe is everything built around it.
- No CMS
Plain language, not a dashboard
“Add this new client review, and reword the FAQ answer about T3010.” Described the way he would say it to a person — no fields, no admin panel, no coding experience needed.
- Fenced
The agent can only reach the words
Page copy, labels, SEO wording, services, FAQ, articles, alt text and client proof live in their own content files. Design, layout, components, forms, deployment settings and secrets are out of reach by construction.
- Checked
Every edit is checked before it can go live
Each change arrives as its own proposal. Automated checks rebuild the entire site and reject anything that strayed outside the content files, or added an image of the wrong type, name or size.
- Reversible
Nothing is ever lost
Every version is kept. Any edit can be read, compared against the one before it and rolled back in seconds — so a change made on a Friday afternoon is never a risk to the business.
Most small sites end up with copy the owner cannot touch — and a small invoice every time a sentence has to change. This one does not. The practice owns its own words, and the worst a bad edit can cost is the minute it takes to roll back.
07 Speed
The rebuild, measured
- 1.99→0.24
- Seconds to first paint when the page first shows anything
- 59→29
- Requests on first load files the browser has to fetch
- 690→59
- Server response, ms time to the first byte
- 512→331
- Page weight, KB bytes transferred on a first visit
Median of five cold loads of each homepage in the same browser at 1440×900, no cache. 4
Starting from nothing, or starting again?
Whether you have no website at all or one that no longer matches the business behind it, tell me what you have now and I will reply with a practical first read on the opportunity.
Notes
- How to read the figures. The 5.0 rating and its 44 reviews are the ones Google shows on the Charity Essentials Business Profile, so they can be checked; fifteen of those clients also let their reviews be published on the site. The ranking is the position of the site in Google's organic results — below the paid ads and the AI overview. Together these describe the practice's standing, not its revenue. ↩
- How to read the ranking. A search result is one search on one day. Positions move, and they vary with where the searcher is, what device they are on and what Google already knows about them — so treat it as a snapshot of where the site stands, not a fixed rank. ↩
- The Google review. The review was left on the Local Spring profile and later removed by Google during a profile change. A reinstatement request is with Google; the screenshot is shown as the record until it is resolved. ↩
- How the speed was measured. Five cold loads of each homepage in the same Chrome build at 1440×900, median reported: the 2024 site live at charityessentials.ca, the redesign on its production build. The old homepage finishes loading before it paints — its scripts hold the content hidden until the fade-in animations start, and that gap is what a visitor experiences as waiting. ↩