Skip to content
@SimpliTutor

SimpliTutor

Helping tutoring companies manage sessions, students, and payments all in one place.
  • United States of America

SimpliTutor Dashboard Light SimpliTutor Dashboard Dark

SimpliTutor

SimpliTutor is an operations platform for tutoring businesses. Session scheduling, student management, billing, and analytics—all in one place.

  • Interactive calendar with double-booking prevention
  • Session lifecycle tracking with tutor verification workflows
  • Automated session reminders via scheduled emails
  • Parent invoicing with Stripe payment links
  • Monthly tutor payroll aggregation and tracking
  • Real-time sync across all connected clients
  • Role-based access (RBAC)
  • At-risk student detection based on inactivity thresholds
  • Session notes with parent email delivery

SimpliTutor Dashboard

SimpliTutor Dashboard

Tech Stack

Frontend Backend Infrastructure
React 19 + TypeScript Node.js + Express Supabase (PostgreSQL)
Redux Toolkit + Redux Persist Socket.IO Firebase Auth
Tailwind CSS 4 + shadcn/ui Prisma ORM Stripe
React Hook Form + Zod Nodemailer + node-cron Sentry (client + server)
Recharts + TanStack Table Pino logging Firebase Hosting + Heroku

Architecture

┌─────────────────────────────────────────────────────────┐
│  Client (React SPA on Firebase Hosting)                 │
│                                                         │
│  Redux Store ◄── Socket.IO ◄──────────────────────┐     │
│       │                                           │     │
│       └── REST API (token + uid headers) ──────┐  │     │
└────────────────────────────────────────────────┼──┼─────┘
                                                 │  │
                                        HTTP     │  │  WebSocket
                                                 ▼  │
┌────────────────────────────────────────────────────────┐
│  Server (Express on Heroku)                            │
│                                                        │
│  Firebase Admin ──► authorize() middleware             │
│       (JWT verify + role check)        │               │
│                                        ▼               │
│  Route handlers ──► Prisma ORM ──► PostgreSQL          │
│                                   (Supabase)           │
│                                                        │
│  Sentry ◄── Pino logger ◄── all errors/requests        │
│  Nodemailer + node-cron ◄── email & reminders          │
│  Stripe webhooks ◄── payment events                    │
└────────────────────────────────────────────────────────┘

Real-time sync: Socket.IO broadcasts domain events (students, sessions, users, subjects, settings) to all connected clients. Each event triggers a scoped data refresh via RefreshFactory, so the UI stays in sync without a full reload.

Authentication: Firebase Auth issues JWTs on the client. Every API request includes the token and Firebase UID in headers. The server's authorize() middleware verifies the JWT with Firebase Admin SDK, looks up the user's role in Supabase, and rejects requests that don't match the required role — before any handler logic runs.

Observability: Pino handles structured JSON request logging on the server. Sentry captures unhandled exceptions on both client (with session replay) and server (with full request traces).


API

private

Popular repositories Loading

  1. .github .github Public

    Helping tutoring companies manage sessions, students, and payments all in one place.

Repositories

Showing 1 of 1 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…