Serving ML Models On Demand for HPC Users — a Next.js frontend backed by a Go API. Inspired by model-serving catalogs like Tamarind Bio.
- Browse a catalog of servable models
- Search by name, description, author, or modality
- Filter by function (category) and modality
- Model detail pages with an inline "Run inference" form
- Go REST API for models, filters, and job submission
backend/ Go REST API (net/http, no external deps)
frontend/ Next.js 14 App Router + TypeScript
- Go 1.22+
- Node.js 18+
cd backend
go run .
# listens on http://localhost:8080| Method | Path | Description |
|---|---|---|
| GET | /api/health |
Health check |
| GET | /api/models |
List models (q, category, modality query params) |
| GET | /api/models/{slug} |
Get a single model |
| GET | /api/filters |
Distinct categories and modalities |
| POST | /api/jobs |
Submit an inference job |
| GET | /api/jobs/{id} |
Get a job by id |
cd frontend
npm install
npm run dev
# open http://localhost:3000The frontend proxies /api/* to the backend via next.config.js
(BACKEND_URL, default http://localhost:8080).
Job submission currently returns a simulated result. Replace the logic in
backend/main.go (handleJobs) with a real inference backend or queue to serve
production models.