How mohammedanasnathani/modelsmith works
ModelSmith is a self-hosted model analysis, optimization, and deployment platform. Users authenticate, upload models into projects, receive architecture and latency analysis, set goals and compare ranked plans, then execute a plan and inspect benchmarks, encrypted artifacts, and reports. The FastAPI application wires API routers to a background job runner; the frontend also provides workspace, search, settings, and administration surfaces. The README documents additional reporting, sharing, and admin capabilities beyond the sampled implementation excerpts; those are represented at the documented subsystem level where exact routing is not evidenced.
Main entry points: main.py FastAPI application · models_router.py Model API · database.py SQLite workspace data · runner.py Job runner
Components 20
Workspace interface
- Workspace app
frontend/app.js - Product landing
frontend/landing.js - SVG charts
frontend/charts.js
API and identity
- FastAPI application
backend/app/main.py - Authentication
backend/app/auth.py - Project workflows
backend/app/projects.py - Model API
backend/app/models_router.py - Admin API
backend/app/admin.py
Model intelligence
- Model profiling
backend/app/analysis.py - Plan generation
backend/app/planner.py
Jobs and results
- Optimization execution
backend/app/executor.py - Job runner
backend/app/runner.py - Job queue
backend/app/jobs.py - Reports and sharing
backend/app/reports.py
Persistence and security
- SQLite workspace data
backend/app/database.py - Token and encryption
backend/app/security.py - Encrypted model files
- Encrypted run artifacts
Other components
- Workspace user
- User webhook
Connections 32
- Workspace user → Workspace app: uses
- Workspace app → FastAPI application: API requests
- Workspace user → Product landing: views
- Product landing → SVG charts: renders charts
- Workspace app → SVG charts: renders charts
- FastAPI application → Authentication: mounts router
- FastAPI application → Project workflows: mounts router
- FastAPI application → Model API: mounts router
- FastAPI application → Job runner: mounts router
- FastAPI application → Admin API: mounts router
- FastAPI application → Job queue: starts runner
- Authentication → SQLite workspace data: reads and writes
- Authentication → Token and encryption: validates tokens
- Authentication → User webhook: dispatches events
- Project workflows → SQLite workspace data: reads and writes
- Project workflows → Encrypted model files: stores uploads
- Project workflows → Token and encryption: encrypts files
- Model API → SQLite workspace data: reads and writes
- Model API → Model profiling: profiles model
- Model API → Plan generation: generates plans
- Model API → Job queue: queues work
- Model API → Encrypted run artifacts: reads artifacts
- Job runner → Job queue: processes jobs
- Job runner → Optimization execution: executes plans
- Job runner → Model profiling: analyzes models
- Job runner → SQLite workspace data: updates job state
- Optimization execution → Encrypted model files: loads model
- Optimization execution → Encrypted run artifacts: writes artifacts
- Optimization execution → Token and encryption: encrypts artifacts
- Admin API → SQLite workspace data: reads and writes
- Reports and sharing → SQLite workspace data: reads results
- Reports and sharing → Encrypted run artifacts: includes run data