Content Loop, Osoyoos & District Arts Council
Figures as of November 2026
A content portal for an arts council with 18 member groups, designed to keep running after I hand it off.
- Role
- Volunteer Board Director, product lead and builder
- Timeline
- June 2026 to present
- Stack
- GitHub Pages, Supabase (Postgres, Auth, Storage), Resend
- Cost
- $0 (free tiers)
The problem
The Osoyoos & District Arts Council is an umbrella organization for 18 member arts groups. Member groups sent content to promote through informal emails, nobody could track what had been received or published, the council's goal of publishing within 48 hours was never measured, and member groups never heard how their content performed with the public.
Discovery
I interviewed the president and other directors, then cross-checked what they told me against meeting minutes, financial documents and email history. I only treated a problem as real once I had direct evidence for it. The three validated pain points: untraceable intake, an unmeasured 48-hour publishing goal, and no feedback loop to member groups.
Key decisions
- ▹Assist, not automate. I chose not to connect the portal directly to Facebook and Instagram through the Meta API. Access tokens expire and need ongoing technical maintenance, and after my handoff nobody at the council would be able to do it. Instead, the portal prepares the text, image and preview for each channel, and the administrator publishes with copy and paste. Less automation, but a system that keeps working.
- ▹Design for the real operator. The admin side was designed for a non-technical administrator, kept as simple as a spreadsheet, rather than for me.
- ▹$0 running cost. Every component runs on a free tier, so the council carries no software bills.
What I built
- ▹A public intake form for member groups, with automatic email confirmations, verified end to end with a real submission.
- ▹An admin dashboard with a traffic-light indicator for the 48-hour publishing goal, per-channel publishing (Facebook, Instagram, website), editable social media previews with copy buttons, and admin invitations.
- ▹Alongside the portal: moved the council's email to a domain-based Google Workspace for Nonprofits setup, recommended role-based addresses (president@, treasurer@) so correspondence stays with the role when volunteers rotate, recommended email authentication (SPF, DKIM, DMARC), helped hire the council's Executive Administrator and designed the handoff around her.
Status and results
Live. The intake form was verified end to end with a real submission, and the admin dashboard makes every piece of content traceable and the 48-hour publishing goal visible for the first time. The system was designed to be operated by the council's administrator, not by me.
What’s next
Track the 48-hour goal over time and tackle the third pain point: giving member groups feedback on how their content performed.