Skip to content

nominalindustries/scoville

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌢️ Scoville

Spicy Brain Optimized

Your brain runs at 2 million Scoville units. Your tools should keep up.

Scoville is a thought experiment with Claude about what a "spicy brain optimized" version of a desktop app experience like Claude Desktop would look like. This app has a bunch of demo information generated by Claude based on actual conversations we have had and they match the overall style pretty well!

This wasn't really an experiment to create a functional app more than as a way for Claude to demonstrate that we have a common understanding of what "spicy brain optimized" means to me which based on this app Claude seems to "understand" this idea well. Claude also picked the name.

The Thesis

What if an AI desktop client was designed around how neurodivergent brains actually operate?

  • Spatial over sequential β€” information arranged in space, not buried in linear history
  • State is visible β€” nothing important hides behind a click
  • Transitions are gentle β€” context switches are scaffolded, not abrupt
  • The UI knows you forget β€” resurrection and persistence are defaults, not features
  • Dark mode only β€” non-negotiable

Views

πŸ”₯ Start/Launchpad

The landing page. Everything at a glance β€” active missions with heat levels, quick stats, recent decisions, and a parking lot for orphan thoughts. The point of performance: see the whole board before you pick a thread.

Scoville Start View

⚑ Parallel Tracks

Multiple active conversation threads rendered spatially with heat indicators showing urgency. Your brain runs multiple threads β€” your UI should too.

Scoville Tracks View

β—« Split View

Brainstorm on the left (purple), development on the right (green). Two semi-linked threads for the same project that are aware of each other. Decisions flow from brainstorm to implementation without copy-pasting context.

Scoville Split View

πŸ—ΊοΈ Missions

Shared context that all threads in a project can access. Architecture decisions that don't get re-debated. Knowledge references. Thread management. Not just a folder with a sticky note.

Scoville Missions View

🧠 Brain Dump β†’ Structure

Raw associative thought stream in, structured output sorted by project and priority out. The translation layer for brains that think in streams, not bullet points.

Scoville Brain Dump View

🧭 Where Was I?

First-class context resurrection after any break. Last session summary, pickup tasks linked to source threads, open questions. Designed for working memory that resets after every context switch.

Scoville Resume View

πŸ”§ Tools

MCP servers with context instructions β€” not just access control, but guidance on how and when to use each tool. "Route through Switchboard first before hitting individual services" beats "12 tools available."

Scoville Tools View

Running It

Prerequisites

Development

git clone https://github.com/nominalindustries/scoville.git
cd scoville
npm install
npm run desktop

This starts the Vite dev server and opens the Tauri window. Hot reload is enabled for frontend changes β€” edit src/app/ and see results immediately.

Build

npm run tauri build

Produces a native app bundle in src-tauri/target/release/bundle/.

Check (lint)

npm run check

Runs cargo fmt --check, cargo clippy, and cargo check on the Rust backend.

Architecture

scoville/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ index.html         ← main window markup
β”‚   β”‚   β”œβ”€β”€ app.js             ← view router, rendering, state
β”‚   β”‚   β”œβ”€β”€ app.css            ← design system (CSS custom properties)
β”‚   β”‚   └── icons/             ← nav rail + brand icons
β”‚   └── shared/
β”‚       β”œβ”€β”€ api.js             ← Tauri invoke wrappers
β”‚       └── demo-data.js       ← all demo content
β”œβ”€β”€ src-tauri/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ main.rs            ← entry point
β”‚   β”‚   └── lib.rs             ← Tauri setup (minimal β€” demo only)
β”‚   β”œβ”€β”€ Cargo.toml             ← Rust dependencies
β”‚   └── tauri.conf.json        ← window config, app identifier
β”œβ”€β”€ package.json               ← npm scripts + Tauri/Vite deps
└── vite.config.js             ← frontend build (port 1423)

Design Decisions

Decision Why
Vanilla JS No framework overhead. Direct DOM, full control.
CSS custom properties No hardcoded colors. All theming through var(--*).
All demo data in JS Design thesis β€” self-contained, no backend services.
Dark mode only See thesis, item 5.
Minimal Rust backend Tauri shell only. The frontend is the product.

Design System

Token Value Usage
--bg #0a0a0a Base background
--orange #f97316 Brand, active states, user messages
--purple #a78bfa Brainstorm threads
--green #22c55e Development threads, healthy status
--amber #f59e0b Warnings, medium heat
--red #ef4444 Urgent, high heat

Fonts: Jost (UI) + Fira Code (mono/labels)

Demo Data

All content is hardcoded and references real Nominal Industries projects for authenticity:

  • Switchboard β€” MCP gateway server (Rocket.rs, SQLite registry, rust-embed dashboard)
  • DeepDive β€” Aquarium management app (Tauri 2, sync engine, water parameters)
  • Hexagon β€” Spatial project management concept
  • Businessverse β€” The meme cinematic universe

Credits

  • Ben β€” Architecture, design, direction, and the human with the spicy brain this was designed for
  • Claude β€” Architect & developer, code author
  • Nominal Industries β€” The LLC that makes things
  • Nav icons from Icons8 Color Pixels (licensed)

License

MIT

About

Your brain runs at 2 million Scoville units. Your tools should keep up.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors