Skip to content

urban-toolkit/vitral

Repository files navigation


Vitral is a framework for reproducible design studies in visual analytics. It structures the design study process as a knowledge pipeline extracting knowledge from heterogeneous study artifacts, representing it as a relational graph, and supporting reasoning across that graph at the level of individual artifacts and across the full study ecosystem.


Features

  • Shard canvas: Represent design study artifacts (papers, transcripts, sketches, screenshots, code) as typed, linked knowledge units (shards)
  • Sharding: Automatically decompose uploaded files into shard trees using LLMs
  • Provenance timeline: Record the full evolution of the knowledge graph across the study lifecycle
  • Pattern book: Match requirements to established VA system components from the literature
  • Codebase integration: Link GitHub commits and files to design decisions through an OAuth connection
  • AI assistant: Query and ask analytical question about shards using natural language
  • Export: Generate a structured Markdown report or a portable .vi archive of the full study

Getting Started

Prerequisites

1. Clone the repository

git clone https://github.com/urban-toolkit/vitral.git
cd vitral

2. Configure environment variables

Create a .env file at the repository root. The minimal required content is:

# Required
OPENAI_API_KEY=sk-...

# GitHub OAuth (required for codebase integration)
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

# Auth cookie secret (any random string)
COOKIE_SECRET=change-me-to-a-random-string

# Database (default values work for local Docker)
POSTGRES_USER=vitral
POSTGRES_PASSWORD=vitral
POSTGRES_DB=vitral
DATABASE_URL=postgres://vitral:vitral@postgres:5432/vitral

# MinIO object storage (default values work for local Docker)
MINIO_ROOT_USER=vitralminio
MINIO_ROOT_PASSWORD=vitralminio
S3_ACCESS_KEY_ID=vitralminio
S3_SECRET_ACCESS_KEY=vitralminio

3. Run

Development (hot reload on source changes):

docker compose --file docker-compose.dev.yml up --watch

Frontend: http://localhost:5173 · Backend: http://localhost:3000

Production:

docker compose --file docker-compose.yml up

Frontend: http://localhost:9898


Public deploy

🕒 Coming soon, stay tuned!


Architecture

Vitral is a full-stack TypeScript application composed of the following services, all orchestrated via Docker Compose:

Service Description
vitral React + Vite frontend
backend Node.js (Fastify) API server
postgres PostgreSQL 18 with pgvector for embedding storage
minio S3-compatible object storage for uploaded files
docling-serve Document parsing service for PDF/Office files

Team

Gustavo Moreira (UIC)
Luc Renambot (UIC)
Daniel de Oliveira (UFF)
Marcos Lage (UFF)
Fabio Miranda (UIC)


License

MIT — free for research and commercial use.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors