How musawaghu/firmflow works
FIRM FLOW turns firm onboarding documents and shared AEC guidance into approved, traceable learning for employees. Admins upload and review manuals, confirm firm-over-baseline overrides, configure modules, and monitor progress; employees complete prioritized modules, take a critical-content final check, or ask a directory-grounded assistant. The main implementation is the React frontend and FastAPI backend, with Supabase for auth and data and Claude for AI tasks. Some service internals were not sampled; documented capabilities are included, with uncertain connections omitted.
Main entry points: main.py FastAPI application · App.tsx React application · manuals.py Manual management · api.ts Typed API client
Components 24
Web application
- React application
frontend/src/App.tsx - Sign-in and roles
frontend/src/lib/auth.tsx - Admin workspace
frontend/src/pages/admin - Employee workspace
frontend/src/pages/employee - Typed API client
frontend/src/lib/api.ts
API and services
- FastAPI application
backend/app/main.py - Account and access
backend/app/auth.py
Content lifecycle
- Manual management
backend/app/routers/manuals.py - Document parser
backend/app/services/parser.py - Manual enhancement
backend/app/services/processing.py - Grounding checks
backend/app/services/grounding.py - Baseline overrides
backend/app/services/overrides.py - Firm and baseline content
backend/app/services/content.py
Employee learning
- Module management
backend/app/routers/modules.py - Learning progress
backend/app/services/progress.py - Final check
backend/app/routers/quiz.py - Question assistant
backend/app/services/assistant.py - Firm directory
backend/app/services/directory.py
External platform
- Database and storage
backend/app/db.py - Supabase Auth
frontend/src/lib/supabase.ts - Claude API
- Supabase platform
Other components
- Employee
- Firm admin
Connections 29
- Employee → React application: uses
README.md - Firm admin → React application: uses
README.md - React application → Sign-in and roles: provides auth
frontend/src/main.tsx - React application → Admin workspace: routes admins
frontend/src/App.tsx - React application → Employee workspace: routes employees
frontend/src/App.tsx - Sign-in and roles → Supabase Auth: signs in
frontend/src/lib/auth.tsx - Sign-in and roles → Typed API client: loads profile
frontend/src/lib/auth.tsx - Admin workspace → Typed API client: requests data
frontend/src/pages/admin/AdminLayout.tsx - Employee workspace → Typed API client: requests data
frontend/src/pages/employee/FinalCheck.tsx - Typed API client → FastAPI application: calls REST
README.md - FastAPI application → Account and access: mounts routes
backend/app/main.py - FastAPI application → Manual management: mounts routes
backend/app/main.py - FastAPI application → Module management: mounts routes
backend/app/main.py - FastAPI application → Final check: mounts routes
backend/app/main.py - Manual management → Document parser: parses uploads
backend/app/routers/manuals.py - Manual management → Manual enhancement: starts processing
backend/app/routers/manuals.py - Manual management → Baseline overrides: manages proposals
backend/app/routers/manuals.py - Manual enhancement → Grounding checks: checks grounding
- Manual enhancement → Claude API: enhances content
README.md - Baseline overrides → Firm and baseline content: informs content
- Module management → Firm and baseline content: serves modules
backend/app/routers/modules.py - Module management → Grounding checks: checks passages
backend/app/routers/modules.py - Final check → Firm and baseline content: selects critical passages
backend/app/routers/quiz.py - Final check → Learning progress: tracks attempts
backend/app/routers/quiz.py - Question assistant → Firm directory: looks up contacts
README.md - Question assistant → Claude API: answers questions
README.md - FastAPI application → Database and storage: uses repository
backend/app/db.py - Database and storage → Supabase platform: reads and writes
README.md - Supabase Auth → Supabase platform: authenticates
README.md