Skip to content

Repository files navigation

Prototype Studio

Define business-tool specs visually. Export runnable Streamlit prototypes instantly.

CI Python 3.12+ Django 6.0 Streamlit Docker uv Ruff Railway


Prototype Studio is a Django-powered web app that lets you design internal business tools — define entities, fields, workflows, and screens — then generate fully functional Streamlit + SQLite prototypes you can run, share, or export as a zip.

Features

  • Visual Spec Builder — Create projects from scratch or jump-start with built-in templates (Quote Builder, CRM, Approval Workflow, Case Tracker)
  • Entity & Field Designer — Define data models with typed fields and configure relationships
  • Workflow Engine — Set up workflow states and transitions for your business processes
  • Screen Designer — Design prototype screens with a visual editor
  • One-Click Generation — Export complete Streamlit apps with app.py, prototype_spec.json, and all dependencies
  • Live Preview — Run and preview generated prototypes directly in the browser
  • Zip Export — Download shareable packages ready to deploy anywhere

Tech Stack

Layer Technology
Backend Django 6.0, Gunicorn, WhiteNoise
Prototype Runtime Streamlit, SQLite
Database PostgreSQL (prod) / SQLite (dev)
Package Manager uv
Linting & Formatting Ruff
Testing pytest, pytest-django
CI/CD GitHub Actions
Containerization Docker, Docker Compose
Deployment Railway

Quick Start

Prerequisites

  • Python 3.12+
  • uv package manager

Setup

# Clone the repository
git clone https://github.com/pradhankukiran/prototype-studio.git
cd prototype-studio

# Install dependencies
uv sync

# Run migrations and create a superuser
uv run python manage.py migrate
uv run python manage.py createsuperuser

# Start the dev server
uv run python manage.py runserver

Open http://127.0.0.1:8000 and start building.

Demo Mode

Spin up a pre-seeded workspace instantly:

uv run python manage.py migrate
uv run python manage.py bootstrap_demo --generate
uv run python manage.py runserver

This creates a demo account (demo / demo-pass-123) with a Field Ops Quote Builder project ready to explore.

Docker

docker compose up

Usage

  1. Create a project — Start from a blank workspace or pick a template
  2. Define your spec — Add entities, fields, workflow states, and screens
  3. Generate — Click "Generate Streamlit package" to build the prototype
  4. Preview — Hit "Run prototype" to launch it, then "Open prototype" to view it live
  5. Export — Download the zip package to share or deploy independently

Running Tests

uv run pytest

Project Structure

prototype-studio/
├── builder/              # Main Django app
│   ├── models.py         # Project, Entity, Field, Workflow models
│   ├── views.py          # Web views and API endpoints
│   ├── services/         # Code generation & runtime engine
│   └── templates/        # Django HTML templates
├── config/               # Django settings (dev / production)
├── generated/            # Output directory for generated prototypes
├── docs/                 # Documentation
├── pyproject.toml        # Dependencies & project metadata
├── Dockerfile            # Multi-stage production build
├── docker-compose.yml    # Local dev with PostgreSQL
└── railway.json          # Railway deployment config

About

Define business-tool specs visually. Export runnable Streamlit + SQLite prototypes instantly.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages