A web application for comparing and evaluating generative AI models. Built as a monorepo using React + Hono + PostgreSQL.
apps/web: Frontend (React + Vite + Tailwind + shadcn/ui)apps/api: Backend API (Hono + Onion Architecture)packages/shared: Shared types & schemas
pnpm install
cp .env.example .env
pnpm --filter @app/api prisma:generate
pnpm --filter @app/api prisma:migrate
pnpm devdocker compose up --build- API development:
.devcontainer/devcontainer.jsonor.devcontainer/api/devcontainer.json - Frontend development:
.devcontainer/web/devcontainer.json - Both use
runServicesto startpostgres/redis/litellm/api/web
- Side-by-side comparison chat
- Streaming responses
- Conversation history / rename / delete / export
- Prompt template management
- Model settings, tag management, token/response time tracking
- OAuth2 + JWT + RBAC
- OpenAPI documentation
- Swagger UI:
http://localhost:8787/swagger - OpenAPI JSON:
http://localhost:8787/openapi.json
- For development purposes,
/api/v1/auth/oauth/callbackis implemented as a simple endpoint that receives the result after an OAuth code exchange. - For production use, implement the Authorization Code Flow for each IdP (Google/GitHub/Microsoft) separately.