AI-developed applications for the Datagrok platform — a browser-native analytics platform for pharma and biotech.
Every app in this repo is built and maintained with Claude Code, guided by structured domain docs, coding conventions, and a shared component library. The goal: ship production-quality scientific apps faster by pairing AI coding agents with well-defined guardrails.
| App | Description | Status |
|---|---|---|
| SEND | Viewer for CDISC SEND (Standard for Exchange of Nonclinical Data) datasets. Upload XPT/CSV nonclinical study data, browse studies, subjects, and domain findings (body weights, lab results, clinical observations, etc.) in interactive grids and charts. | In development |
| GRIT | Issue tracker with projects, issues, tree navigation, and context panel. | In development |
| App Host | Unified SPA hosting all apps with a shared icon strip and namespaced API routing. Runs SEND and GRIT side by side. | In development |
Shared component library and theme for all apps. Wraps Shadcn/ui with Datagrok-branded components (Shell, View, DataGrid, forms, etc.) so apps get a consistent look and feel without importing Shadcn directly.
App scaffolding tool. Generates a new app with the standard project structure (client/server/shared), wired up to app-kit and ready for development:
npx tsx tools/create-app/index.ts <app-name>Docker-based environment for running parallel Claude Code sessions. Each container gets its own branch, clones the repo, and exposes a web terminal (ttyd) for observing and interacting with the agent. Supports task assignment via environment variables, Slack notifications, and automatic PR creation.
# Start an AI developer session
ANTHROPIC_API_KEY=... GITHUB_TOKEN=... TASK="Add export button" \
docker compose -f docker/ai-dev/docker-compose.yml upapps/ # Application workspaces
send/ # SEND dataset viewer
client/ # React + Tailwind frontend
server/ # Hono API server
shared/ # Drizzle schema, Zod validation, types
docs/ # Domain, architecture, and status docs
packages/
app-kit/ # Shared UI components and theme
tools/
create-app/ # App scaffolding generator
docker/
ai-dev/ # Dockerized Claude Code environment
docs/ # Cross-cutting conventions
CODING.md # TypeScript and project conventions
DATABASE.md # Database naming and schema rules
DESIGN.md # UI/UX design system
# Install dependencies
npm install
# Start the database
npm run db:up
# Run the SEND app (standalone)
npm run dev:send
# Run the GRIT app (standalone)
npm run dev:grit
# Run the App Host (all apps in one SPA)
npm run dev:app-hostAll apps follow shared conventions documented in docs/:
- TypeScript — Strict mode, no
any, async/await, named exports - Database — Drizzle ORM, UUID primary keys, audit columns on every table
- UI — app-kit components only, Datagrok theme tokens, no hardcoded styles
- Validation — Zod schemas derived from Drizzle, enforced on all API endpoints
- Types —
shared/schema.tsis the single source of truth, imported by both client and server