Case study · Mentorship management platform

Kingdom Discipleship App

A cloud-based mentorship platform that helps Kingdom Christian Church coordinate counseling relationships, meetings, and improvement plans.

ReactTypeScriptPostgreSQLAWS LambdaAPI GatewayCognitoS3
Kingdom Discipleship dashboard showing quarterly individual, marriage, and family development plans

Overview

The Kingdom Discipleship App is a cloud-based mentorship platform designed to help Kingdom Christian Church coordinate counseling relationships, manage meetings, and support personal improvement plans. I built role-specific workflows and a serverless backend to support administrators, counselors, and counselees.

Role. Full-stack development and cloud architecture

The problem

Managing mentorship relationships requires coordination between church leadership, counselors, and the people they counsel.

Church leadership needs visibility into counseling relationships, counselors need access to their assigned counselees, and counselees need tools to document improvement plans and establish meetings. These responsibilities also require clear boundaries around who can view or modify particular records.

The solution

I developed a platform with role-specific dashboards and workflows.

  • Administrator dashboard

    Provides the pastor with an overview of counseling relationships.

  • Counselor dashboard

    Allows counselors to view their assigned counselees.

  • Counselee workflows

    Enable counselees to upload improvement plans and establish meetings with counselors.

  • Role-based access control

    Separates permissions according to user responsibilities.

  • Authentication

    Uses Amazon Cognito for user identity and sign-in.

  • Serverless backend

    Uses API Gateway and Lambda to expose application functionality.

  • File storage

    Uses Amazon S3 for uploaded documents.

Engineering

The application combines a React frontend, serverless APIs, managed authentication, a relational database, and cloud file storage.

Serverless application path
  1. React frontend

    Administrator · Counselor · Counselee

  2. Amazon Cognito

    User authentication and identity

  3. Amazon API Gateway

    HTTP API endpoints

  4. AWS Lambda

    Business logic · Authorization · Data operations

  5. PostgreSQL + Amazon S3

    Relational records · Uploaded plans and files

The key architectural distinction is between authentication and authorization. Cognito establishes the user's identity, while backend permission checks must determine what that user can access and which operations they can perform. PostgreSQL supports relationships between users and counseling records, while S3 handles file storage separately from the API's application logic.

Technical decision

Treat Cognito as identity, and enforce access as relationship checks in Lambda.

A counselor role is not permission to every counselee. Cognito proves who signed in. Each Lambda handler then authorizes the request against the PostgreSQL relationship — this counselor is assigned to this person — before returning records or issuing an S3 object URL. Hiding a control in the React UI is never the only protection.

Challenges

Enforcing role-based and relationship-based permissions

Different users have different responsibilities, but role checks alone aren't always sufficient. A counselor, for example, should not automatically gain access to every counselee simply because they have a counselor role. The backend must also validate the specific counseling relationship and the requested resource.

Connecting serverless APIs to relational data

The platform's workflows involve related users, counseling relationships, meetings, and improvement plans. Implementing these operations requires consistent data modeling and careful handling of related records across backend functions.

Managing secure file uploads

Improvement plans need to be stored separately from ordinary application records. An S3-backed upload workflow requires appropriate permissions and safeguards so users cannot access documents they aren't authorized to view.

Designing for distinct user experiences

Each role requires different information and actions. Separating the workflows keeps the interface relevant to each user, while backend authorization ensures that hiding a UI control isn't the only protection.

Outcome

  • Built a mentorship platform with distinct administrator, counselor, and counselee workflows.
  • Enabled visibility into counseling relationships and associated activities.
  • Integrated managed authentication with serverless application APIs.
  • Connected relational application data with cloud-based document storage.
  • Established role-specific access patterns for a multi-user application.

Engineering takeaway

The Kingdom Discipleship App demonstrates serverless architecture, relational data modeling, authentication, authorization, and the design of secure multi-role workflows around real organizational requirements.

Project navigation

All case studies

Back to all projects