This is something I built for myself to solve a problem I had in my own business, and I’m documenting it here as an example of the kind of work I do for clients.
The problem
I go to a lot of networking events to connect with my local community. Over three months I collected more than 150 business cards. Manually entering a contact into my CRM took 5-8 minutes — not long in isolation, but after a full day of events, it was easy to put off. Then I wanted to follow up with each person I met, which took another ~5 minutes. After one stretch where I attended three events in a single day, I didn’t enter any of them. The next day I had another event. The pile continued to grow.
By the time I finally sat down to catch up, I had about 40 cards stacked up and more than a month had passed. Some of those people I could barely place. I didn’t remember where I’d met them or what we’d talked about, which meant follow-up emails were vague and impersonal at best. That’s not a great way to start a professional relationship or build trust.
The problem wasn’t so much the volume of cards. The problem was that while this task was important to building my professional network, it felt tedious and yet it was critical to get the details right. Other tasks always looked more interesting. So it kept getting deferred, slowing my business growth and subtly eroding my confidence in myself.
What I built
First I needed a way to track people. I didn’t want a fancy off-the-shelf CRM that has a ton of features I don’t need so I built a custom CRM in Airtable that stores the information I actually use: contact details, where I met the person, notes, and contact type. For referral partners specifically I also track their company, role, and what they’ve told me about their ideal client — so I can make useful introductions as I meet people.
The card capture workflow is built in Make (formerly Integromat) with a simple app using Softr for photo capture. It works like this:
- Capture. After an event, I open the app on my phone, take a photo of each business card, and dictate notes about the person and how we met.
- Extract. The automation sends the image through AI OCR (Optical Character Recognition). The AI reads the card and returns structured contact data along with a confidence score for its interpretation.
- Review. Results above 90% confidence I accept as-is. Below that threshold, I review the flagged fields. In practice, low-confidence results are uncommon, and I haven’t had an accuracy problem at the 90%+ level.
- Log. The contact and associated detiails is added to Airtable.
- Follow up. Make creates a draft email based on a template that includes the event context and prompts me to add a short personal note before sending. This is important: I wrote the template and I send the email. I don’t rely on AI to write anything: Make uses a template and I write the personal note by hand. A human-in-the-loop step like this is a good safeguard against AI hallucinations or mistakes and makes sure my outreach is truly personal.
The Airtable base also uses Airtable’s native AI field features to generate a bit of company research to help me understand a person’s business and industry.
What I didn’t over-engineer
A small number of business cards have information on both sides. It’s infrequent enough that I haven’t built a solution for it — I capture that information by hand when it comes up. Building automation for this edge case adds complexity without proportionate value.
What’s next to build
Next I want to get automated reminders to reach back out to people based on conversations we’ve had and to keep in touch with people I haven’t seen in a while. Today I’m doing this by hand and details can fall through the cracks so it’s something I’m prioritizing adding.
Results
The most direct result is speed and efficiency. What used to take 5–8 minutes per card now takes 1–2 minutes, including reviewing the follow-up draft. More importantly, I no longer let cards sit. Follow-up emails go out within 24 hours of meeting someone, consistently.
That consistency matters. When I tell someone at an event that I’ll reach out to them to talk more, I can actually count on myself to do it. That reliability is part of how trust gets built early in a professional relationship, and it’s something that I was failing at before.
I also no longer have the problem of vague, context-free follow-ups. Because the where-we-met information is captured in the moment and the mail is in my drafts folder same-day, my emails are specific and personal.
Why this is relevant to client work
Every business has those tedious, repetitive, frequent, important tasks that feel easy to put off. Procrastinating on them causes downstream problems that are hard to directly attribute to the missed step. I see this pattern in every business I talk with. Teams worry something is falling through the cracks but can’t always trace it back to the friction point.
This project is a working example of how I approach that kind of problem: identify the friction, build something simple that fits the actual workflow, and leave room for human judgment where it adds value.
