
Overview
The Imlay City Rotary Club needed both a public face and a back-of-house tool for running the club week-to-week. We delivered a Turborepo monorepo: a public Astro site at icrotary.com, a member portal at members.icrotary.com, and a Fastify + Postgres API at api.icrotary.com that drives both.
The Challenge
A service club's site has to do two jobs that usually live in different products. Publicly it needs to tell the story (75+ years of service, projects, events, sponsors, scholarships) clearly enough to attract new members and donors. Internally the club needs to run weekly meetings, track lunch credits, sell raffle tickets, take donations, manage the directory, and coordinate the board — without paying for a stack of disconnected SaaS tools.
Our Solution
The public Astro site is fully static and rebuilds automatically when content changes — a daily cron checks the API and only triggers a redeploy if something actually moved. Members log into a Vite + React portal for everything they actually do day-to-day, and the Fastify API ties it together. Stripe powers paid flows, Resend handles transactional email, and S3 stores photo uploads.
Key Features
Results
Related work

The Refuge Lapeer
A website and donation platform for The Refuge Lapeer, a 501(c)(3) offering temporary shelter, meals and support in Lapeer County since 2002. An Astro public site, a React admin for events, news, church partners and financials, and a Fastify API running one-time and monthly Stripe donations, the van fund campaign, and volunteer and newsletter sign-ups.

Imlay City Blueberry Festival
The official site for the annual Imlay City Blueberry Festival. A festive Astro front-end paired with an admin dashboard for vendors, volunteers, booths, donations, and shifts — and a Fastify API running a Stripe webhook for payments, Resend email, and node-cron scheduled jobs with database locking.

Green's Deer Ranch Zoo
A family-operated wildlife ranch in Caro, Michigan offering hay-wagon tours, a petting zoo, and a tractor-tire playground. The site tells the ranch's five-generation story while making seasonal hours, ticket pricing, and directions easy for visiting families.