Fellowship Hall
How a Saturday Farmers & Arts Market went from 10 hours of manual admin work every week to a fully automated vendor pipeline — running on their own hardware.
The situation
Fellowship Hall is a Salt Lake City nonprofit that runs a Saturday Farmers & Arts Market with 100+ vendor slots. Every week, vendors apply through a form, the director manually sends payment links, tracks who's paid, chases down unsigned contracts, and sends reminder emails before market day.
Before this system, that was roughly 10 hours of work every single week. Not because the work was complicated — but because none of it was connected. Each step lived in a different tab, a different email, a different spreadsheet.
What I built
A complete vendor intake pipeline that runs on Fellowship Hall's own server. No cloud subscription, no data leaving their network. The system handles every step from vendor application to market-day reminder.
Here's how it flows:
Application comes in through their form. n8n picks it up and routes it immediately.
The vendor gets an email with the right DonorBox payment link for their booth size — no manual lookup needed.
When DonorBox sends the payment confirmation, Gmail catches it and n8n parses it. No polling, no manual checking.
Vendor gets a personalized link to a booth map showing all 126 slots — colored by type, with booked slots marked. They pick their spot.
The moment a slot is confirmed, the system sends a contract via Inkless. No action from the director.
Vendors with that Saturday's booking get a reminder on Tuesday and another on Friday. Booth number, time, everything they need.
The self-hosted part matters
Everything runs on an HP workstation in their office. Proxmox VE on the host, LXC containers for each service. n8n, NocoDB, Nginx, and Cloudflare Tunnel all run independently — if one service goes down, the others keep running.
Cloudflare Tunnel gives the vendor-facing booth selection page a public URL without opening any ports on the server. Vendor data never leaves Fellowship Hall's network. No SaaS vendor has access to it.
The only subscription added was Cloudflare's free tier — which they were already using for DNS. The entire system costs them exactly what it cost before: nothing beyond hardware they already owned.
The outcome
The director went from 10 hours of weekly admin work to essentially zero. Applications route themselves. Payments are detected automatically. Contracts go out without anyone sending them. Reminders fire on schedule.
It's not magic — it's a well-built system that handles the same steps a human was handling, but doesn't take breaks and doesn't miss emails.
What it's built on
Workflow orchestration — connects every step of the pipeline
Database for vendor bookings, market dates, and booth slots
Secure external access without opening ports on the server
Serves the vendor-facing booth selection interface
Custom server-side tools for Turnstile verification and intake processing