Second Mile School Therapy
Every app, end to end: how access is granted, how a schedule becomes an invoice, how the suite fits together, and the levers only administrators hold. The complete reference behind the day-to-day.
Nine apps plus two cross-cutting systems, each a station you can jump to from the bar above. This is the deep reference; every screen also has its own "?" help and each app a Getting Started map. Where a feature is therapist-facing, it's covered briefly here and in full in the Therapist guide. Start with Access if you're setting someone up for the first time.
The suite's backbone is one pipeline. A schedule built in Pathfinder produces sessions; delivering them produces time; time produces invoices and pay. Each app hands the next real data, which is where the reconciliation errors of a multi-tool stack disappear.
Access is managed in Ranger, and it comes in three independent layers. Getting someone set up means thinking about all three: their clinical role, their app grants, and the districts they can see.
District access now has a real UI. In the Access Matrix, each user has a Districts column, click it to expand a checklist of every district and toggle who sees which. It used to be database-only. Changes save immediately. Practice districts aren't listed because everyone can already see those; admins and super admins have broad access through their role regardless.
The split is deliberate. A finance manager might have no clinical role but full Ledger access. A therapist might work in two districts but not a third. A supervisor sees clinical data suite-wide but not billing. Keeping role, app access, and district scope independent means you grant exactly what a person needs and nothing more, and the database enforces it, so even a mis-sent request is rejected at the data layer.
Ranger's Access Matrix with the Districts column expanded for a user (practice-mode data).
Therapists score sessions here and watch progress build; as an admin you own the settings that keep that record honest and the tools that start and end a school year.
The Admin area controls how long a goal can go without an addressed session before it turns red on the Supervisor Dashboard (three weeks by default). Set School Breaks so summer, winter, or a district's own break pauses that clock instead of flagging every student the moment school lets out.
Promote to Next Grade is the start-of-year bulk tool: every student grouped by district with select-all, so you advance a whole roster and just uncheck the few being retained. Twelfth graders and unrecognized grades are excluded automatically.
Importing pulls goals, objectives, and historical performance from a SpedTrack export, reviewed step by step before anything commits. When two students share a name, an external_student_id column disambiguates them; without one, a collision blocks both rather than guessing.
The Supervisor Dashboard separates three things: Flags (filed by hand, moving through open / acknowledged / resolved), Automated Signals (computed live, color-coded by how long since a goal was addressed), and Recent Achievements. The Supervision Log records who was supervised, when, and on which students, with a printable signed export for any supervisee and date range.
Districts, students, therapists, and the weekly schedule are all built here, and everything downstream depends on a real schedule existing first. This is the most setup-heavy app in the suite.
Districts holds each district's school year and its sites. Students and Therapists are the two sides of every session, including each therapist's availability by district and day. Therapists are global; availability is what ties them to a district, which is how the engine catches cross-district double-booking.
Two paths. Manual placement checks constraints live as you fill the form, disabling Save on an unresolved hard conflict; existing sessions drag to a new slot with the same checking. Automatic scheduling fills every eligible student's unscheduled minutes at once, scoring each placement 0–100 on group fit (same classroom, grade, and goals score highest) and never touching an existing session. Nothing saves until you review and confirm.
Record a student incompatibility and the engine treats it as a hard block everywhere, manual, drag, and auto. Therapist time blocks (the purple Block button) reserve time for evaluations and meetings. Log exception and Cancel day keep delivery honest, which matters because Compliance is measured on delivered minutes, not scheduled ones.
Requests tracks incoming service requests, and Exports produces the district weekly schedule and other file formats needed outside the app.
Every therapist logs time in My Timesheet; the rest of Ledger, Rates, Time Entries, Invoices, Reports, and Compensation, is the finance side, unlocked by the Ledger grant in Ranger.
Time Entries is the cross-therapist view: review, approve, and, for anyone not yet logging directly, import a historical CSV timesheet. Finance can edit any therapist's timesheet at any status via Edit Timesheet, where a regular therapist can only touch their own drafts.
Rates holds per-site billing rates, the effective-dated government mileage rate, and any per-district mileage add-on. Invoices generates one invoice per site per period (schools bill by building, not one combined district invoice); a site with nothing billable is skipped. Download a PDF or email it with the PDF attached, pre-filling a billing contact from Relay when one's on file.
Compensation manages base pay and employment type per therapist, versioned by effective date so a raise never rewrites history. It's also where the EOS leadership structure is assigned: Team Leaders (one per discipline, company-wide) and Group Leaders (a stipend role once a team grows past roughly eight people), plus who belongs to which group, that membership is what drives the Leadership Dashboard in Basecamp.
Ledger's Invoices view with per-site invoices for a period (practice-mode data).
Basecamp reflects everything the other apps produce: a person's day, a leader's team, a district's relationship, and the company's numbers. It writes little of its own; it's the suite's mirror.
Visible only to team and group leaders, one section per team or group they lead. Each has Rocks (EOS quarterly priorities, green on-track / amber off-track with a needs-help-or-time note), To-Dos (assign a task with a due date; it appears on that person's own My Day automatically), and Hours This Month pulled live from Ledger.
Company Overview (executive access) shows invoiced income split by district and discipline for a range, plus service-request volume. District Overview is what a district contact sees about their own relationship: requests, updates, upcoming IEPs and evaluations, availability, and invoices if their district shares finance visibility. Student Therapy Overview puts every discipline's goals and full RTI history in one place for the continue-versus-refer conversation.
Scribe writes the documentation that accompanies therapy, grounded in Trailmark's actual scores. Progress notes, RTI updates, session notes, and evaluation sections all flow from collected data rather than invention.
Progress Notes runs quarterly over a date range and a student selection, with a badge flagging anyone overdue. RTI Updates is the 4–6 week equivalent, one document for the team and parents. Session Notes handles a single on-demand note. Writing Samples feed a therapist's own tone into generation, shaping how it reads, not what it reports.
Documents (uploading IEP/evaluation PDFs for extraction) has its review workflow built, but automatic AI extraction is switched off pending a data-flow decision. The upload and manual review work; don't rely on auto-extraction yet.
Relay is Second Mile's CRM: district contacts and the email that goes to them. It has grown well past a contact list, it now sends real email and runs multi-step automations.
Contacts holds every district contact, each linkable to a district for filtering. Tags and Custom Fields shape the data around how Second Mile actually segments relationships. Keap Import brings contacts in from a Keap CSV, auto-creating tags and fields from the columns.
Email sending is live. Campaigns send real email through Postmark to a tagged audience, and a campaign stays re-sendable so a newly tagged contact (say, a WPForms signup) is picked up without ever being "used up." Anyone already sent is skipped automatically.
Automations are multi-step sequences triggered when a tag is applied to a contact. A sequence chains emails, timers (a delay, a specific date, the first of the month, or waiting on a field), and actions (apply or remove a tag, create a task, unsubscribe). Build the steps, publish, and it runs on its own; the builder shows live enrollment counts and a per-contact view of where each person is in the sequence. Recipients can unsubscribe from just one source or from everything, and an accidental unsubscribe is reversible.
Relay's automation builder with a step sequence and enrollment activity (practice-mode data).
Spark is the activity library behind the suggestions therapists see inside Trailmark sessions. As an admin or supervisor you own what's in it and what becomes suggestible.
A therapist can add an activity, but it only becomes suggestible to everyone once a supervisor approves it from the Activity Library page. Activities are tagged by discipline, goal area, and position, and the tagging system suggests tags, learns common ones over time, and lets therapists search by sub-target. The generator can draft new activity ideas, but drafts go through the same approval queue as anything typed by hand.
An activity scores against a student's active, not-yet-achieved objectives: discipline and goal area must match, position is a bonus, group-friendly activities rank higher for groups, and recently used ideas are pushed down. Well-maintained goal areas in Trailmark are what make the suggestions land.
Compass runs the RTI-style teacher-support (SIT) process for general academic and behavioral concerns, the work that used to live in Google Sheets and WPForms. It's district- and teacher-facing, and it's seeded with Second Mile's real goal and strategy banks.
A teacher submits a referral and it's scored live across six domains (listening comprehension, oral expression, math concepts, reading, writing, behavior). From there: goal selection from the real Goal Bank with matching strategy suggestions, weekly data collection, and intervention periods tracked against the 50%-delay-reduction formula at two checkpoints. Team meeting and decision records close the loop.
Teachers are their own role and persist across school years. Because teachers can't read districts directly, teacher-to-district assignment is admin-driven, like every other access grant in the suite. Compass also feeds the rest: notifications through Relay, a read-only referral view in Spark, and a cross-district rollup in Basecamp.
Two honest gaps in the seeded banks: there are no Behavior questions for 3rd–4th grade, and the Strategy Bank currently covers K–2nd only. These show as empty states rather than invented content.
Every app has a Practice Mode toggle. Flip it on and you're working in a shared bank of three fake practice districts, freely, with zero risk to real data and no chance of colliding with someone doing real work.
Practice mode is per-session and per-person: your toggle never affects anyone else, and real data is never mixed into a practice view. The three districts carry realistic students, schedules, rates, and invoices so the multi-district workflows (batch invoicing, executive rollups) feel genuine. The whole set resets and reseeds nightly, so nobody has to worry about leaving a mess, play with it freely.
This is the right place to onboard a new hire or try a workflow you're unsure about. It's also where the screenshots in these guides come from, so nothing here ever exposes a real student.