Talk to your spreadsheet. No formulas required.
Original project by Ocean82 — MIT licensed. Forks and contributions welcome.
smartsh!t is an open-source, AI-powered spreadsheet for budgets, expenses, inventory, and small business tracking. Describe what you need in plain English; the assistant builds templates, adds formulas, and explains your data — without making you learn Excel.
Runs locally with Ollama so your financial data stays on your machine.
Spreadsheets are powerful but hostile to non-technical users. smartsh!t puts a chat assistant beside a real spreadsheet engine:
- "Build a monthly budget" → income, expenses, totals with formulas
- "Track my business expenses" → budget template with categories
- "Create an invoice" → line items, tax, and totals
- Import/export Excel —
.xlsxin and out
Fast keyword intent handles common requests instantly. Open-ended questions can use a local LLM when Ollama is available.
Chat on the left, spreadsheet on the right. Describe budgets, expenses, or invoices in plain English — click Apply to write templates and formulas to the sheet.
| Tool | Version |
|---|---|
| Node.js | 20+ |
| Ollama | latest |
| RAM | 4 GB+ recommended for local AI |
git clone https://github.com/Ocean82/smartshit.git
cd smartshit
npm install
npm install --prefix serverDownload Qwen2.5-Coder-1.5B GGUF (~1.6 GB) into models/ — see models/README.md.
npm run model:setupTerminal 1 — API server
npm run dev:serverTerminal 2 — Web UI
npm run devBuild a monthly budget
Help me track my expenses
Create a sales tracker
Make an invoice template
Click Apply on suggested actions to write to the sheet.
┌─────────────────┐ /api/chat ┌──────────────────┐
│ React + Vite │ ◄────────────────► │ Express server │
│ HyperFormula │ /health │ Intent + Ollama │
│ Zustand store │ │ (port 8787) │
└─────────────────┘ └────────┬─────────┘
│
▼
┌──────────────────┐
│ Ollama (local) │
│ smartshit model │
└──────────────────┘
| Layer | Tech |
|---|---|
| Frontend | React 19, Vite 7, Tailwind CSS 4, Zustand, HyperFormula |
| Backend | Express 5, TypeScript |
| AI | Ollama + Qwen2.5-Coder-1.5B (GGUF), streaming SSE, intent fast-path |
| I/O | SheetJS (xlsx) import/export |
smartshit/
├── src/ # React app — grid, chat, templates
├── server/ # Express API + Ollama integration
├── models/ # GGUF weights (gitignored — see README)
├── scripts/ # Model copy/setup helpers
├── LICENSE # MIT — Copyright Ocean82
└── CONTRIBUTING.md # How to help
Copy .env.example to .env for server overrides:
| Variable | Default | Description |
|---|---|---|
PORT |
8787 |
API port |
OLLAMA_BASE_URL |
http://127.0.0.1:11434 |
Ollama endpoint |
SMARTSHIT_MODEL |
smartshit |
Registered Ollama model name |
NUM_PREDICT |
512 |
Max tokens per response |
VITE_AI_API_URL |
(empty) | Production API URL for built frontend |
OPENROUTER_API_KEY |
(empty) | OpenRouter API key (recommended primary provider) |
OPENROUTER_MODEL |
qwen/qwen3-32b |
OpenRouter model slug |
HUGGINGFACE_API_KEY |
(empty) | Hugging Face Inference Router key |
HUGGINGFACE_MODEL |
Qwen/Qwen3-32B |
Hugging Face model id |
GROQ_API_KEY |
(empty) | Groq API key |
LLM_PROVIDER_ORDER |
openrouter,huggingface,groq,ollama |
Failover order for chat providers |
We would love help from other developers — especially with templates, intent matching, accessibility, and cross-platform setup docs.
See CONTRIBUTING.md for setup and PR guidelines.
Good first issues: natural-language intents, new sheet templates, Windows/Linux install notes, unit tests for server/src/intent.ts.
- Streaming chat responses
- Faster local model (Qwen2.5-Coder-1.5B)
- More expense/inventory templates
- Deploy guide (static frontend + API VM)
- Optional cloud model providers
- Collaborative editing
If smartsh!t is useful to you or your team, consider sponsoring development:
Sponsors help fund local-model testing, template quality, and keeping the project maintained for everyone.
MIT License — Copyright (c) 2026 Ocean82.
See LICENSE. You are free to use, modify, and distribute this software with attribution.
If smartsh!t saves you from spreadsheet hell, consider starring the repo — it helps other people find it.
Topics: spreadsheet · ai · local-llm · ollama · react · typescript · budget · self-hosted · hyperformula · open-source
