Case studies
Faith-based lifestyle / community learning · 2020

Learning app where non-engineers control the content

Learning app where non-engineers control the content

Client
MySharePal, Inc.
Duration
4 weeks
Status
Shipped
Stack
Flutter (initial build Flutter 1.x era; current build Flutter 3.3) · Firebase (Auth + Firestore + Storage) · Firebase Mobile Auth (OTP) · Google Sheets (quiz content source)

What we solved

Ministry teams wanted a single mobile app where followers could learn about faith, test recall with quizzes, watch training videos, and talk to each other - without juggling three tools. Two constraints mattered: quiz content had to stay editable by non-engineers (ministry leaders, not developers), and sign-in had to work for users who might not have an email but always have a phone. A full release cycle every time a quiz question changed was never going to fly. Over 3+ years of live operation the app has grown ministry teams (groups with invitees + progress tracking) and personal scorecards for tracking spiritual-conversation impact.

The system at a glance

A Flutter app for iOS + Android (initial build on Flutter 1.x, currently on Flutter 3.3) with mobile-number OTP sign-in, a dashboard landing on chat + quizzes + settings, quiz content pulled live from a Google Sheet, training videos powered by Vimeo, and real-time messaging on Firestore. Ministry-team mode lets leaders create groups, invite members, and monitor collective progress. Shipped to App Store and Google Play; live at v4.3.6 (iOS) with continuous updates.

What the user experiences

  • Open the app, enter a 10-digit phone number. OTP arrives. Signed in.
  • Dashboard with three buckets: conversations, training videos, profile.
  • Quizzes pull live from a Google Sheet - the ministry team updates questions in a spreadsheet, the app reflects changes on next launch.
  • Training library shows categorised video cards; tap to play in the Vimeo player.
  • Conversations are real-time Firestore chats between users and admins.
  • Ministry teams: leaders create groups, invite members by phone, monitor collective progress.
  • Personal scorecard tracks the impact of spiritual conversations for the individual user.
  • Results can be shared - lightweight social loop.

How we built the pieces

Sign-in - OTP, not email

Firebase Mobile Auth handles the SMS OTP flow. No email verification, no forgotten-password screens. Users who don’t have (or don’t remember) an email still sign up and return.

Quiz content - Google Sheet as CMS

Instead of building an admin panel for quiz questions, the ministry team edits a Google Sheet. The app pulls through the Sheets API (or a simple CSV export served by a function) and renders. Changing a question takes 30 seconds and zero developers. A release only happens when the app code itself changes.

Training videos - Vimeo, not self-hosted

Video hosting, streaming, and analytics live on Vimeo. The app embeds the Vimeo player. Zero bandwidth cost on our infra, zero custom video code to maintain.

Chat - Firestore real-time listeners

User-to-admin and user-to-user messaging use Firestore with real-time listeners. The client library does the reconnection + offline queueing. No separate WebSocket backend.

Ministry teams - groups layered on the same data model

A ministry team is a Firestore document with members and a shared progress view. Firestore security rules scope who can read and write each team’s documents. One code path, layered permissions.

State management - GetX, small codebase

GetX handles state + navigation. For a small-but-real app that has been maintained for 3+ years, it keeps the code compact without pulling in a heavier framework.

The authoring loop is the hard part

Most “let our community edit content” apps die because they build a half-working CMS. MySharePal skipped the CMS entirely - Google Sheets is the CMS. Non-engineers already know how to use it. The engineering team spent that time on the pieces that actually move the needle: OTP auth, real-time chat, ministry teams, and Vimeo integration. The app has shipped continuously since 2020.

Results

  • iOS + Android live from one codebase; maintained continuously since 2020.
  • Current iOS version 4.3.6 (April 2023), English + Spanish.
  • Mobile OTP sign-in working on both stores.
  • Quiz content editable by ministry team without a release.
  • Ministry teams + personal scorecards live.

What an engineering team should take from this

If your client’s content changes often and they are not developers:

  1. Google Sheets can be the CMS. For small, structured datasets (quizzes, product lists, announcements), the Sheets API beats a hand-rolled admin panel on both cost and usability.
  2. OTP via Firebase kills password-reset pain. Phone-first auth avoids the email verification loop entirely.
  3. Outsource video - Vimeo or Mux, never self-host for a small team.

Tech stack

  • Mobile: Flutter (initial Flutter 1.x, current Flutter 3.3 - iOS + Android)
  • Auth: Firebase Mobile Auth (OTP)
  • Data + chat: Cloud Firestore
  • Content source: Google Sheets API
  • Video: Vimeo player
  • State: GetX

Screens

Full case-study page

Reference architecture

The stack, one-pass.

Named pieces, how they connect, and why each one earned its spot.

  • 01Flutter (initial build Flutter 1.x era; current build Flutter 3.3)

    iOS + Android from one codebase; maintained and updated through 2023

  • 02Firebase (Auth + Firestore + Storage)

    OTP-based mobile sign-in, real-time chat, media

  • 03Firebase Mobile Auth (OTP)

    sign-in by phone number - no email required

  • 04Google Sheets (quiz content source)

    non-engineers edit quiz questions in a spreadsheet; the app re-reads on launch

  • 05Vimeo player

    training-video hosting + player

  • 06GetX

    lightweight state management + navigation

Full stack

Every piece, named.

  • Flutter (initial build Flutter 1.x era; current build Flutter 3.3)
  • Firebase (Auth + Firestore + Storage)
  • Firebase Mobile Auth (OTP)
  • Google Sheets (quiz content source)
  • Vimeo player
  • GetX
  • FCM
The team on the call

Named engineers, not a pool.

You speak to the person who’ll review the architecture. No account-manager layer. No offshore switcheroo.

Founder & Lead Engineer

Sameer Donga

Shipping Flutter, FastAPI, and AI systems since 2019. Reviews the architecture on every engagement.

Start a similar build

You have the reference. Now the project.

Tell us the shape of your version. We come back with a written architecture and a fixed quote.