
AI Capture Studio
Self-hostable, REST-API-driven application interaction capture with built-in vision analysis. The first capture platform that explicitly refuses keystroke logging.
SAby SpecZip Admin
Free seed library
v2.0.1
8 downloads0 views
File Integrity
sha256:712aafb9…· 210.4 KBRecommended Stack
| Component | Role | Version | Notes |
|---|---|---|---|
| Next.js | Frontend + API Framework | >=15.0.0 | App Router for SPA with tabbed pages, API routes for capture ingestion and MCP server |
| React | UI Library | >=19.0.0 | Component model for dashboard, queue UI, and capture browser; React 19 server components for efficient rendering |
| TypeScript | Language | >=5.4.0 | Type safety for AI service integrations, MCP tool schemas, and config management |
| Tailwind CSS v4 | Styling | >=4.0.0 | Industry-standard utility-first CSS with v4 CSS-first config and improved tree-shaking |
| Shadcn/UI | Component Library | >=0.8.0 | Accessible UI primitives (forms, dialogs, sheets) with full Tailwind v4 compatibility and zero runtime cost |
| NextAuth.js v5 | Authentication | >=5.0.0 | Battle-tested auth with OAuth, credentials, OTP, and TOTP 2FA support. v5 adds middleware-based auth and improved TypeScript types. |
| Drizzle ORM | ORM | >=0.30.0 | Type-safe SQL with dialect-aware code (PG for production, SQLite for dev). Better TypeScript inference than Prisma. Zero runtime overhead. |
| Tauri 2 | Desktop Framework | >=2.0.0 | Smallest binary size of any cross-platform UI (50MB vs Electron's 200MB+). Critical for a system tray app that runs 24/7. |
| Rust | Agent Runtime | >=1.78.0 | Memory-safe systems language for cross-platform capture agent with low startup time and small binary |
| Python | AI Microservice Runtime | >=3.11.0 | Best ecosystem for vision LLMs, Whisper integration, and ffmpeg bindings |
| FastAPI | AI API Framework | >=0.110.0 | Async-first with Pydantic validation and auto-generated OpenAPI docs. Better than Flask for streaming responses. |
| faster-whisper | Transcription | >=1.0.0 | CTranslate2 backend, 4x faster than openai/whisper with same accuracy. Word-level timestamps required for frame alignment. |
| FFmpeg | Media Processing | >=7.0.0 | Industry standard for video frame extraction and audio extraction. Bundled via ffmpeg-static for zero system dependencies. |
| MinIO | Object Storage | >=RELEASE.2024-01-01 | S3-compatible, self-hostable. Compatible with any S3 endpoint including Cloudflare R2, AWS S3, Backblaze B2. |
| Docker Compose | Deployment Orchestration | >=24.0.0 | Single-host deployment with zero orchestration overhead. Kubernetes supported for production scale. |
| PostgreSQL | Production Database | >=16.0.0 | JSON support, full-text search, mature replication. SQLite fallback for dev and single-user deployments. |
| SQLite | Dev Database | >=3.45.0 | Zero-config single-binary deployment. Perfect for dev, testing, and single-user production. |
Requirements
| API Key | Purpose | Free Tier |
|---|---|---|
| OpenAI | │ │ OpenAI-comp)│ │ whisper) │ │ Tesseract) │ │ | ✓ |
| Anthropic | AI coding agents** (Claude Code, Aider, custom agents) that need ground-truth workflow data | ✓ |
| Supabase Auth | │ │ NextAuth + Supabase (or SQLite) + S3 Client │ │ | ✓ |
| AWS S3 | A **containerized server** that runs in Docker or Kubernetes, with PostgreSQL or SQLite metadata store and S3-compatible blob storage. | ✓ |
External Services
- PostgreSQLself-hostable
- MySQLself-hostable
- SQLiteself-hostable
- MongoDBself-hostable
- Redisself-hostable
- Dockerself-hostable
- MinIOself-hostable
- Ollamaself-hostable
Platform Notes
- •Requires Docker and Docker Compose
- •Python 3.10+ runtime required
Data Model
users
iduuid|text
emailtextUQ
nametext
imagetext
roleenum
password_hashtext
totp_secrettext
totp_enabledboolean
created_attimestamp
updated_attimestamp
accounts
iduuid|text
user_iduuid|text
typetext
providertext
provider_account_idtext
refresh_tokentext
access_tokentext
expires_atinteger
token_typetext
scopetext
id_tokentext
session_statetext
created_attimestamp
updated_attimestamp
sessions
session_tokentext
user_iduuid|text
expirestimestamp
verification_tokens
identifiertext
tokentext
expirestimestamp
agents
iduuid|text
machine_idtextUQ
hostnametext
iptext
osenum
archenum
user_iduuid|text
versiontext
last_seentimestamp
is_activeboolean
totp_secrettext
refresh_token_hashtext
created_attimestamp
updated_attimestamp
projects
iduuid|text
nametext
descriptiontext
statusenum
owner_user_iduuid|text
created_attimestamp
updated_attimestamp
tasks
iduuid|text
project_iduuid|text
nametext
descriptiontext
priorityinteger
statusenum
created_attimestamp
updated_attimestamp
captures
iduuid|text
project_iduuid|text
task_iduuid|text
user_iduuid|text
agent_iduuid|text
categorytext
nametext
statusenum
started_attimestamp
ended_attimestamp
capture_dirtext
metadatajson
notestext
created_attimestamp
updated_attimestamp
frames
iduuid|text
capture_iduuid|text
frame_numberinteger
ts_relative_msinteger
s3_keytext
widthinteger
heightinteger
hashtext
is_click_triggeredboolean
created_attimestamp
events
iduuid|text
capture_iduuid|text
ts_utctimestamp
ts_relative_msinteger
event_typeenum
xinteger
yinteger
window_titletext
window_apptext
mouse_buttonenum
screenshot_refuuid|text
metadatajson
created_attimestamp
audio_segments
iduuid|text
capture_iduuid|text
ts_utctimestamp
ts_relative_msinteger
s3_keytext
duration_msinteger
languagetext
created_attimestamp
packet_captures
iduuid|text
capture_iduuid|text
ts_utctimestamp
ts_relative_msinteger
s3_keytext
duration_msinteger
interfacetext
bpf_filtertext
capture_size_bytesbigint
packet_countbigint
encryption_detectedboolean
created_attimestamp
transcripts
iduuid|text
capture_iduuid|text
ts_utctimestamp
ts_relative_msinteger
end_ts_utctimestamp
end_ts_relative_msinteger
texttext
languagetext
confidencereal
wordsjson
created_attimestamp
analyses
iduuid|text
capture_iduuid|text
frame_iduuid|text
kindenum
payloadjson
model_idtext
tokens_ininteger
tokens_outinteger
latency_msinteger
cost_usdreal
created_attimestamp
analysis_jobs
iduuid|text
capture_iduuid|text
kindenum
statusenum
priorityinteger
payloadjson
attemptsinteger
max_attemptsinteger
paused_attimestamp
started_attimestamp
completed_attimestamp
last_errortext
created_attimestamp
updated_attimestamp
config_categories
iduuid|text
nametextUQ
descriptiontext
created_attimestamp
updated_attimestamp
configs
iduuid|text
keytextUQ
valuetext
descriptiontext
config_category_iduuid|text
created_attimestamp
updated_attimestamp
categories
iduuid|text
nametextUQ
descriptiontext
agent_visibleboolean
created_attimestamp
updated_attimestamp
audit_logs
iduuid|text
actor_user_iduuid|text
actiontext
resource_typetext
resource_idtext
changesjson
ip_addresstext
user_agenttext
created_attimestamp
api_keys
iduuid|text
nametext
user_iduuid|text
key_hashtextUQ
key_prefixtext
scopesjson
last_used_attimestamp
expires_attimestamp
is_activeboolean
created_attimestamp
updated_attimestamp
frame_embeddings
iduuid|text
frame_iduuid|textUQ
embeddingjson
model_idtext
created_attimestamp
migrations_log
idinteger
nametextUQ
applied_attimestamp
Self-hostable, REST-API-driven application interaction capture with built-in vision analysis. The first capture platform that explicitly refuses keystroke logging.
External Dependencies
✓ No External Dependencies
This blueprint runs entirely standalone — no external services, APIs, or infrastructure required.
Tags
No tags
Details
- Category
- productivity
- Difficulty
- very-high
- Version
- 2.0.1
- Published
- 6/20/2026
Related Blueprints
Coming soon...