Pullin Events

Every South African knows the group chat. Someone says "braai at mine on Saturday", and for the next five days the group does what group chats do. Forty messages about whether it is this Saturday or next. Three people asking for the address that was posted an hour ago. A thumbs-up that may or may not mean they’re coming. Nobody knows who is bringing the ice, so three people bring ice, and nobody brings salad. On the morning of, two guests are still looking for a lift, and the host is scrolling back through 35 unread messages trying to count heads.
I have been that host, and I have been that guest. Petrol Pulse came out of a monthly frustration at the pump; Leaf Peek came out of killing houseplants. Pullin comes out of years of planning braais, birthdays and dinners in WhatsApp groups and knowing there had to be a better way that did not involve asking my friends to download yet another app.
Pullin is that better way, and it is also a first for me. Most other projects on this site were a learning exercise. Pullin is a business, launched this month at pullin.co.za, and I am more excited about it than anything I have built.
Why build another events app?
There are plenty of invitation tools in the world. Partiful is lovely, Howbout is clever, and Facebook events still exist somewhere. None of them is designed around how we actually plan things here, which is inside WhatsApp, with lift clubs, bring-and-braai lists and money split informally over PayShap and EFT.
The bigger problem is that all of them ask your guests to leave WhatsApp. Create an account, install an app, verify an email. In a market where WhatsApp is the default communication layer, data costs are real, every one of those steps loses people. The host ends up with a beautiful invite page that half the group never opened, and the RSVPs still arrive as voice notes.
So the founding principle of Pullin was simple: plan it where it is already being planned. The host creates the event in a minute, drops one link in the group, and the group carries on as normal. Pullin does the admin underneath.
How Pullin works
1) The host creates it in a minute
Title, date, venue and a cover photo. If the group cannot agree on a date or a venue, the host adds a poll and lets everyone vote; the winning option locks itself in. Hosts can switch on a bring list, lifts, plus-ones, a photo wall, dietary questions and a contribution tracker, and they can add a co-host who can run the lists and send updates alongside them.
If writing the invite blurb is the part you dread, there is an AI writer that drafts it from a few rough words. It took a surprising amount of work to make it sound like a person rather than a brochure, and I will come back to that.
2) The link lands in the group
Pasted into WhatsApp, the link unfurls into a proper invite card with the essentials front and centre. Guests have two ways in, and this is the heart of the product.
They can tap through to the event page, which is built to load fast on a cheap phone and a thin connection, and RSVP with their name and an email address. No account, no password.
Or they can RSVP without leaving WhatsApp at all. The link opens a chat with the Pullin bot, pre-filled with the event code. The guest taps send, the bot replies with the event details and three buttons, and they are done. From the same chat they can claim something on the bring list, offer or ask for a lift, vote in a poll, and later drop their photos from the day.
Either way, the guest never installs anything and never pays anything.
3) The host watches them pull in
RSVPs land on a live "Who's coming" page as they happen, with names, headcounts including plus-ones, dietary notes, and who is bringing what. Lifts match drivers with passengers by area, and the two only see each other's numbers once both have agreed. On paid events, Pullin sends the reminders itself: one two days out and one three hours before the start, on WhatsApp for guests who used the bot and by email for those who did not, plus an update if the details change and a thank-you afterwards asking for photos.
On the free plan the reminders still exist, they just go through the host. Pullin writes the message and the host posts it to the group with one tap. That design decision was not about being stingy, and it deserves its own section.
Under the hood
For the technically curious, Pullin is a server-rendered web app hosted close to its users, with the database in the same region so no request ever crosses a continent twice, and an edge layer in front for caching and protection. Hosts sign in with Google, Facebook, an email code, or a password-free login where they simply text a code to the bot. Payments go through a local payment provider, and the AI writing has its budget capped in rand per event so a runaway prompt can never become a runaway bill.
The WhatsApp side uses Meta's Business Platform directly. A webhook receives every inbound message and signature-checks it before anything else happens, a small conversation engine tracks where each guest is in their RSVP, and every outbound message passes through a single gateway that checks consent, the 24-hour window and the event's message allowance before it is allowed to cost anything.
The piece I am proudest of is the reminder dispatcher. It runs on a schedule, and the hard part was making it impossible for it to send the same reminder twice while also making it impossible to lose one. Every send is recorded in a ledger before it happens and reconciled against delivery receipts after, so a crash halfway through a batch simply resumes on the next run, with no duplicates and no gaps. Boring to describe, very satisfying to watch work.
Lessons learned
- Voice is a feature. My first attempt at the AI invite writer produced copy that sounded like a tourist trying to be South African: every second word was "lekker" and every event was "epic". Real hosts write plainly, with the odd bit of warmth. Getting a language model to sound like a person from South Africa rather than a brochure about South Africa took longer than wiring up the model itself, and the answer was mostly a long list of words it was not allowed to use.
- Trust is built in the boring places. Guests care that their number is not shown to strangers. Hosts care that the headcount is right. Both are earned in the unglamorous parts of the code, the consent checks and the idempotent ledgers, not in the landing page.
- Ship the honest version. I had a long list of clever features I wanted at launch. What launched is the set that real events used during three months of running my own braais and birthdays through it, with everything else either cut or parked. The product is smaller than the vision and better for it.
What's next
Pullin is live and taking its first real events now. The near-term roadmap is driven by the hosts using it: a recap after each event with the attendance, the photos and the people still owing for the meat; smarter help from the co-organiser for Pro hosts; and reusable circles so your braai crew is one tap away for the next one. Further out, I would like to explore ticketing that never touches money, for clubs and gatherings that need to know who is coming without becoming an accountant.
If you have ever tried to count thumbs-up reactions in a group chat, I built this for you. Create your next event at pullin.co.za, drop the link in the group, and watch them pull in. The first two events are free, your guests never pay a cent, and I read every piece of feedback that comes through the contact form personally. After all, this one started as a group chat problem, and the group chat is still where it will be judged.