GitHub
Skyline Church · NJ

Know how every
service actually went.

Skyline Pulse is a lightweight weekly ledger for worship and production teams — attendance, unity, engagement, room experience, service flow, and tech readiness, logged in under a minute and pulled straight from your Planning Center Plans.

Skyline Pulse calendar day view showing two logged Sunday services with attendance, unity, and engagement stats
Why it exists

One place for the numbers that used to live in someone's head

No more digging through texts and spreadsheets to remember how loud 11:00 ran, who was running camera, or who filled in the details for a given Sunday. Pulse makes it a 60-second habit.

📋

Every Service, Tracked

Attendance, worship unity, audience engagement, and loudness (dB) for every service — logged straight from its Planning Center Plan, reviewed and edited from the Calendar.

🔗

Planning Center Sync

Plans pull automatically from your Services Service Types — including sermon artwork, split 9:30/11:00 service times, and attendance headcounts from Check-Ins — so nothing's typed twice.

🎧

SkyYouth, on its own tab

SkyYouth gets its own Planning Center feed, ledger, and analytics — pulled from its own Service Type, never mixed in with Sunday morning.

🎛️

Production Tracking

Role attendance for lights, camera, director, computer/ProPresenter, and audio, plus a graded (1–4) slides fit-check with a miss count — feeding a Slides Leaderboard for who's sharpest on cues.

🗓️

Calendar & Day View

See exactly what's logged and what's still needed for any Sunday, at a glance — month grid or a focused day agenda.

✍️

Who Logged It

A lightweight "Logged by" field, autocompleted from names used before — attribution without a login wall.

🔊

Room Experience & Service Flow

Sound clarity, spiritual response 2/3 back, transition clarity, and whether lighting, talking, announcements, and the sermon landed as planned.

📈

Three Analytics Views

Services, Production, and SkyYouth each get their own trend charts and a "who's logging" breakdown, so the numbers stay honest and current.

⬇️

CSV, PDF & Print

Every ledger exports to CSV or a formatted PDF table; every analytics view prints straight to a shareable PDF report.

How it works

Built around Sunday, not around software

No accounts to create, no app to install. One shared link, a name picked from a list, and you're logging.

Planning Center Integration

Plans show up automatically

Pulse reads directly from your Planning Center Services Service Types — pulling every Plan in a rolling window, matching it to a Pulse service type, and showing sermon artwork when it's attached.

  • Splits multi-service Plans (like a 9:30/11:00 Celebration Service) into separate rows automatically
  • SkyYouth pulls from its own Service Type into its own tab, never mixed in with Sunday morning
  • Attendance headcounts pull in from Check-Ins automatically, tagged "From PCO" — override it and it's clearly labeled "Overridden" instead
Planning Center tab showing upcoming and logged plans with service-type badges
Production

A running record for the tech team

Its own tab, its own ledger, its own analytics — role attendance for lights, camera, director, computer/ProPresenter, and audio, plus a graded slides fit-check that turns into a friendly leaderboard for the team.

  • Who was on each role, not just whether the slot was covered
  • Slides graded 1–4 with a miss count — wrong-time slides, missed video/text cues, and late lyric changes all count
  • Slides Leaderboard in Production Analytics ranks operators by average grade, then fewest misses
Production tab showing role attendance and fit checks per service
Calendar

Month or day, your call

Switch between a full month grid for planning ahead, or a focused day view built for the main event — Sunday morning — showing every logged detail per service in one scroll.

  • Color-coded service badges per type
  • Combined attendance rollups per day
  • Three themes: Light, Dark, and Ocean
Calendar month view in dark theme showing logged services across June
Logging a Service

Every measurement that matters, one form

Attendance and loudness up top, then room experience and service flow below — each field designed around a real conversation the team already has after service.

  • Required attribution — a "Logged by" field remembers your name per device
  • Can't log details before a service has actually happened
  • Undo on delete, so a misclick never loses data
Log a Service modal with attendance, unity, engagement, room experience, and service flow fields
Analytics

Three views, not one dashboard

Services, Production, and SkyYouth each get their own tab under Analytics — every measurement charted over time, plus a breakdown of who's been logging, so the numbers stay accountable.

  • Rolling 8-service trend charts per view
  • Service-flow / fit-check "% landed well" summaries
  • SkyYouth analytics stay separate from the main Sunday numbers
Services Analytics tab with attendance, unity/engagement, and spiritual response charts
Exports

CSV, PDF, or a print-ready report

A dedicated Exports page with a card per dataset — Services, Production, SkyYouth — each offering a CSV download, a formatted PDF table, and a one-click print of that dataset's Analytics report.

  • CSV and PDF table exports mirror each other, pick whichever format the meeting needs
  • "Print report" jumps to the live charts and opens your browser's print-to-PDF dialog
  • Buttons disable themselves automatically when there's nothing to export yet
Exports page with Services, Production, and SkyYouth cards offering CSV, PDF, and print report actions
Three looks, one app

Light, Dark, and Ocean

Pick a theme and Pulse remembers it on that device — including a full re-tint of every chart.

Ledger tab in Light theme
☾ Light
Calendar tab in Dark theme
≈ Dark
Analytics tab in Ocean theme
☀ Ocean
Under the hood

Small, boring, reliable stack

One HTML file. No build step, no framework, no server to maintain beyond what's already free-tier.

Supabase

Postgres + Row Level Security as the backend, called directly from the browser.

Cloudflare Pages

Static hosting with auto-deploys on every push to main.

Pages Functions

A small serverless proxy keeps the Planning Center API token off the client entirely.

Chart.js

Every analytics chart, themed live from the same CSS custom properties as the app.

jsPDF

Tabular PDF exports for the client; report-style PDFs use the browser's own print-to-PDF instead of a library.