Case studies

Project Request Form

How our partner churches ask us for work

Client
Church Media Squad, internal product
Year
2025 to now
Role
Product direction and build, with my team
Users
Partner churches and the squads serving them
01The problem

Partners asked us for design and video work through a Fillout form that wrote to Airtable. The form could not ask a follow-up question based on an earlier answer, could not remember what a church submitted last month, and could not tell when two people on the same staff requested the same graphic on the same Tuesday.

Everything it could not do, my team did by hand. That was a reasonable trade at ten submissions a week and a bad one at the volume we had gotten to.

02What we built

A multi-step wizard in React and TypeScript on Supabase. Every database call goes through a proxy API so no credentials reach the browser, and every read is scoped to the church the person picked. A partner signs in with ClickUp, and the submission lands as a real task on the right list with the time estimate already attached.

It asks better questions than the old form. It knows which file sizes a project type needs, it can pull last time's answers forward, and it flags likely duplicates before anyone on the squad sees them.

Since then it has picked up two more surfaces: a design generator that hands a church art direction to react to instead of a blank page, and a mood board library shared across a church's whole staff.

03Where it landed

We are fully out of Fillout and Airtable for project requests. What I care about more is that we can change how intake works now without asking a vendor for permission.

I should say plainly that this is my team's work as much as mine. I set the direction and built a chunk of it, and SiS carried the rest.

04Built with
  • React 18
  • TypeScript
  • Vite
  • Supabase
  • Vercel
  • ClickUp OAuth
  • Playwright
Working on something like this? me@joshsorenson.com