Skip to content
Jeremiedesigns edited this page Jul 10, 2025 · 44 revisions

Last edit: July 3th, 2025

Compass Logo

Welcome to the Compass GitHub Wiki!

Compass is a civic app we are building for the San Francisco Unified School District. The app seeks to assist Teachers with setting and tracking goals for students with disabilities.

Report Bug · Request Feature

Table of Contents
  1. About The Project

About The Project

Hello, Engineers and Designers seeking to contribute to the Compass app! This Wiki is set up to guide you on how to contribute to the repo, and will hopefully answer a few of your questions as to what phase the project is in and how to self-assign issues and build out components. This wiki will be updated when possible, revision date noted at the top of the Wiki.

Note: Designers

Most of the information on this home page is directed towards how to contribute as a Software Engineer. For Design-Team-Specific Documentation, head to the Design Team's Page in the wiki, or join the Compass Slack channel, links at the SF Civic Tech site.

Project Overview

Project Compass is a web app designed to make it easier for Case Managers (Teachers) and Para-educators (Teachers' Assistants) in a school district to set and record a student's progress towards their IEP (Individual Educational Plan) goals. The IEP goals are established annually in meetings with the Case Managers and the Stakeholders (Usually the parents and any specialists).

Historically, Case Managers (CM's) would use spreadsheets to store students' progress, and would print out a list of activities and give it to the Para-educators (Paras) along with verbal instructions. The Paras would then use these instructions and lists to have set activities with the students, reporting back on the student's progress when they had time. While handling the IEP data collection this way works, data collected this way can be lost easily and it can be challenging for the two parties to communicate and adapt to situations like absences and progress hiccups. Per our research interviews, a CM's and Para's schedules might not match up during the day, and sometimes a Para or CM could have a challenging class and not have the time or attention available to collect activity data if they have to handle paperwork as well as the class.

The Compass app seeks to make CM's setup of the data collection activities straightforward, but most importantly seeks to make the activity data collection for the Paras fast and simple. After allowing for easy data collection, the Compass app will graph that data for the CM to have an easy visualization of the students' progress on each Benchmark (the activities that lead toward a student reaching an IEP goal). This way, the CM can be quicker to adapt and adjust the activities for the student, and can compose Progress reports for the stakeholders.

Glossary Of Terms

(back to top)

The terms below are commonly used in the app docs. For the purpose of Compass, we have established these definitions of these words for our app. Please note that these terms may be easily confused due to conflicts in meaning from earlier docs and from external sources. For the purpose of this app, go with these meanings.

Case Manager/CM: A teacher who sets up the Compass application and assign Benchmarks to the Para-Educators in their Caseloads. They usually have a mix of students, including students who need extra support. These latter students have IEPs.

Para-educator/Para: A Para-educator is a staff member assisting the IEP students on behalf of the Case Manager. Paras sometimes have specialties and can assist different Case Managers. The Paras sit down with the students to have them do the activities on the Benchmarks and use the Compass app to collect the data from those student activities/Benchmarks.

IEP: Individual Educational Plan. This is an annual Plan built with a student's stakeholders (usually the CM, parents, and specialists) for that student on the same date every year. The stakeholders gather to assess the student's current needs and areas of growth and agree on goals to help the student work on those areas.

Goal: Also called "Annual Goal," a Goal is set and tracked by the Case Manager outside of the Compass app. These goals are put into language that is NOT activity-based language, like "Get student up to 5th-grade reading level." Compass is not tracking these.

Benchmark: Also called "Task," "Sub-Goal," and "Short-term Objective," a Benchmark is a student activity or action that Paras collect data on with the Compass app to track student progress towards a goal. Benchmarks are distinguished by being an activity or occurrence, like "Have student complete 5 sentences with minimal assistance with 80% accuracy in 4 out of 5 trials." The main way to remember how to distinguish between a Goal and a Benchmark is to ask yourself "Is this an actual activity or action?" If the answer is yes, it is a Benchmark. The Case Manager decides the minimum number of Trials/Data Collection activities for each Benchmark, and regardless of how many times data has been collected on a Benchmark, decides when that Benchmark is "complete" and can be archived. **NOTE! The User-facing language uses "Benchmark" but some of the backend language uses "SubGoal". This is to connect and distinguish their relationship with Goals.

Task: A Benchmark instance as it has been assigned to a Para for Data Collection. Students have Benchmarks. Paras are given Tasks for collecting data on those Benchmarks.

Trial: A single occurrence of a Benchmark Task activity for the purposes of data collection, like one instance of the Para sitting down with the student to fill out a math or English worksheet. Paras collect data on Benchmark Tasks via Trials.

Caseload: The Case Manager's students who have IEPs, and the Paras who help them.

Additional Documentation

(back to top)


Product Requirement Document
MVP 1 Figma Designs
Summer 2024 Goals & Priorities

Current Teams

(back to top)

Compass is maintained by a small, but dedicated core team with active contributions from engineering and product leadership. As a volunteer-led project, team composition changes frequently, and contributors engage based on availability. We coordinate via weekly check-ins on Tuesdays and use Slack as our primary communication channel. You can find out more on our Slack, which you can join on our site here

Team Structure

Merged Product Pod: Design and development are now merged into a single product pod. While the initial design work has been completed and handed off, design support is currently limited. We're seeking additional UX contributors to support future design and research iterations.

Active Contributors

  • Project Lead: Oversees MVP definition, project direction, and scope decisions.
  • Engineering Lead & Engineer: Focused on implementation, currently developing the data visualization features.
  • UX Support (as needed): Designer is available for limited support; additional design capacity is needed.

App Development Areas

  • Case Manager View: Built and available on staging. This includes caseload setup, student IEP creation, and benchmark/task management.
  • Para-Educator View: Status TBD. Pending confirmation if the interface has been built and tested.
  • Data Visualization: Actively under development by the current engineering team.

Contributions & Onboarding

  • There is no fixed commitment for volunteers. Contributors are welcome to join as their availability permits.

  • New contributors are encouraged to review this README and reach out to Francis Li (Engineering Lead/Co-Founder of SF Civic Tech) to get onboarded and Jeremie Montero (Project Lead) to find tasks in our Slack channel: #proj-compass.

Current Project Status

(back to top)

We are currently in the middle of the build and could use the help! Much of the design for the two groups (CM and Para) is built, but the engineers need to refactor to the updated specs and build out the features that are not yet functional or present.

  • The engineers are working on the components and logic revolving around the data visualization.
  • The product team is reviewing the staging site and prep for user testing.

MVP Definition

(back to top)

The MVP (Minimum Viable Product) is the smallest functional version of Compass that provides meaningful value to Case Managers and Para-Educators. The goal is to replace manual IEP data collection workflows with a digital tool that enables:

  • Set up a student's profile to create, edit, and assign benchmarks related to a student's goals
  • Simple data entry by Paras and CMs
  • Progress tracking over time

MVP Scope

(back to top)

Completed Features (in staging)

  • Case Manager Login (via Google Email)
  • Add Staff

First and Last Name
Email Address

  • Create a Student's profile

Full Name
Email
Grade Level
IEP Start & End Dates
Archive

  • Add IEP Goal
  • Create and edit a student's Benchmark within a goal

Instructional Guidelines
Data Collection Guidelines

  • Assign a Benchmark to a Para
  • Collect Data

Successful
Unsuccessful
Observation Notes
Take a Photo

In Progress

  • Collect Data

Benchmark details

  • Viewing a student's data

Success Rate Graph
View goal and Benchmarks
Data Report