Hope Horizon is a small nonprofit. Big mission, small team, no dedicated development officer. When they asked me to help fix their donor management, they had three tools open: a spreadsheet of past donors, a Gmail folder of thank-you notes, and a Stripe dashboard. Nothing talked to anything else, and the executive director was losing hours a week reconciling records that should have taken minutes.
They had gotten quotes from three nonprofit CRM vendors. Range: $180 to $650 per month, plus $2,000 to $8,000 in setup and 6 to 10 weeks to go live. I looked at the actual workflow, said give me seven days, and shipped the whole thing for under $100 a month.
This is what I learned about shipping systems fast when the shape of the work is small but the standard is high. The full case study is on the work page if you want the outcomes. This post is about the operator lessons.
Why seven days, and why it worked
A seven-day timeline is a discipline before it is a delivery date. It forces you to make three decisions on day one that most projects avoid for weeks:
- What can we not ship, and still ship something useful? This is the hardest question in software, and the seven-day box makes it unavoidable.
- Who runs it once we hand it off? Not "who administers the system." Who opens it Monday morning and does the thing?
- What does success look like on day 30, not day 300? If we cannot describe the day-30 win, we are guessing.
For Hope Horizon those three answers were: we can ship without any batch mailing, any complex reporting, or any event management. The executive director runs it every day. Success at day 30 means every gift got acknowledged within 48 hours and no donor slipped past the lapse threshold uncontacted.
Everything else got postponed to phase two. Some of it never came back because we discovered we did not need it.
Fig. 1 · The seven-day sprint calendar.
The stack, and why each piece is there
The whole thing runs on four tools:
Airtable for the data model and daily views
Four tables. Donors (name, contact, giving history, notes, lifetime giving). Gifts (amount, date, appeal, method, tax receipt status). Touches (calls, emails, meetings, event attendance). Appeals (annual, capital, event-driven). The relationships are simple. A donor has many gifts and many touches. A gift belongs to one donor and one appeal.
The executive director opens three Airtable views daily. "Gifts this week" for the acknowledgment queue. "Lapsed donors" for outreach. "Followups due" for the personal touch tasks. Those three views are the entire daily workflow.
Stripe for gift intake and the webhook
Every online gift comes in through Stripe. A Zapier webhook fires when a payment succeeds, creates or updates the donor record in Airtable, and creates a gift record linked to the donor. Elapsed time from donation to CRM entry: under a minute.
Zapier for the automation layer
Three automations, all critical, none complex.
- The 48-hour acknowledgment. Six hours after a gift record is created, an automated email goes out to the donor with their name, gift amount, and the tax receipt language. Personal, not marketing-shaped.
- The two-week personal followup task. Twelve days after the gift, a task is created in Airtable for the executive director. Context: donor's giving history, prior conversations, any notes. The ED writes a personal note, from their own hand, within a couple days.
- The lapsed-donor alert. Nightly job checks every donor whose last gift was 13+ months ago (for annual) or 4+ months ago (for monthly). Flags them as lapsed. Creates an outreach task assigned to the ED.
Gmail for outbound, with templates
No dedicated marketing tool. The volume does not need one. Gmail with three saved templates covers the acknowledgment, the followup, and the lapsed reengagement. When Hope Horizon grows into a real email list, we will revisit. Not yet.
Every tool I added past those four cost more time to maintain than it saved. Simpler is not a compromise. It is the design.
What surprised me during the build
The historical import was harder than the software
The Stripe records were clean. The Airtable build was clean. The three years of prior giving history sitting in a spreadsheet was a mess. Duplicate donor names spelled differently ("Robert Smith," "Rob Smith," "R. Smith" for the same person). Gifts with no method, no appeal, and no tax receipt status. Anonymous gifts logged with a placeholder name that had leaked into other donor records over time.
Cleaning that spreadsheet took two full days. Day 3 of the sprint was supposed to be a half-day. It became a full day, and day 5 got compressed. The lesson: budget the data cleanup at 3x whatever you think. Nonprofits carry years of donor spreadsheet history. It never imports clean.
The 48-hour thank-you was the whole game
The executive director had been sending thank-you notes eventually. Not within 48 hours. Not always personalized. Once the automated acknowledgment was live, donor comments changed almost immediately. "I have never gotten a receipt so fast." "Thank you for the thoughtful note." The tool did not do the work. Consistency did.
The lapsed-donor flag was invisible until it was on
Nobody asked for the lapsed-donor alert during scoping. It was a five-line addition on day 6 that I almost skipped for time. On day 45, that alert had surfaced 14 donors who had not given in over a year. The ED had reached out to all of them personally. Six had given again. That single feature had covered the entire cost of the CRM for the year.
Fig. 2 · The stewardship cycle that carried the year.
What I would do differently if I were building it again
I would talk to two donors before day one
I built the flow around what the executive director thought the donors wanted. Some of it was right. Some of it was not. If I ran the build again I would spend 30 minutes on the phone with two randomly chosen recurring donors before writing a single Airtable column. What they say matters more than what any stakeholder inside the org thinks.
I would not build reports until asked
I spent about four hours on day 5 building a few dashboards. Total giving by month. Retention rate by cohort. Top donors by lifetime giving. Two of those three, the executive director never opened. The one they did open (retention by cohort) I would have built in 20 minutes when they asked for it. The rule I would follow next time: no report gets built until someone asks for it twice.
I would separate the tax receipt language into its own field
I put the tax receipt language into the acknowledgment email template directly. When Hope Horizon changed the org name six months later, I had to hunt through three Zapier steps to update it. A dedicated "tax receipt language" field on the org profile would have saved 20 minutes and a lot of confusion.
What a multi-unit operator learns from a nonprofit build
The seven-day donor CRM was the smallest system I have shipped in years. And it reinforced things I keep learning in restaurant operations at 100x the size.
The workflow matters more than the tool. Getting the daily flow right in Airtable was worth more than any feature comparison across nonprofit CRM vendors. The same is true when I am scoping dashboards for a 21-unit restaurant group. The tool is downstream.
Consistency beats sophistication. An automated thank-you inside 48 hours, every time, matters more than a beautifully designed thank-you that ships when the ED remembers. In a restaurant the equivalent is the manager who checks the flash report every morning at 8am, versus the manager who checks a fancier report when they get around to it.
The features you almost cut for time are often the ones that matter most. The lapsed-donor alert almost did not ship. It carried the year. In multi-unit ops the same is true of the daily labor variance flag, the comps-and-voids alert, the food cost daily post. The little automations are the whole game.
The point
Seven days is not a stunt. It is a forcing function. When the timeline is tight, you build the four things that matter and defer everything else. Some of the deferred things come back later. Most do not. What you learn about your operation from cutting is worth more than what you would have learned from building it all.
Hope Horizon still runs on this CRM. It has grown a little. The core has not changed. Four tables. Two automations. One executive director who opens three views every Monday morning. That is a good machine for a small operation, and it is exactly what a bigger operation needs, too. The scale changes. The principles do not.