Uses.
The actual tools we use to ship software. Inspired by uses.tech. Updated when the stack changes, not on a calendar. If you ask "what do you use for X," this page is the answer.
Editor & terminal
- Editor
- VS Code with Vim bindings Themed monochrome to match Spine. No icon clutter.
- Terminal
- Ghostty Fast. Native. Cross-platform.
- Shell
- zsh + starship Minimal prompt. No oh-my-zsh.
- Multiplexer
- tmux Simple config. One session per active engagement.
Languages we ship in
- Frontend
- TypeScript Strict mode on every project. No JS-only files in production.
- Backend
- TypeScript, Python, Go TS for shared logic with frontend. Python for AI/ML. Go for CLIs and high-throughput services.
- Mobile
- React Native (Expo), Flutter Choice depends on the buyer's existing team and target devices.
- Desktop
- Tauri Native binaries with web tech. Smaller and faster than Electron.
Frameworks & libraries
- Web
- Next.js (App Router), React, Astro Astro for marketing surfaces. Next.js for product surfaces.
- Backend
- FastAPI, Express, Hono Hono for edge runtimes. FastAPI for Python services.
- Styling
- CSS custom properties (Spine), Tailwind on client projects The studio site uses no framework. Client projects use Tailwind by default.
- State
- Zustand, TanStack Query, Hasura subscriptions Choose based on data shape. No Redux on new projects.
Data & storage
- Database
- Postgres (default), MongoDB, ClickHouse for analytics
- Cache
- Redis
- Vector
- pgvector (default), Qdrant, Weaviate Default to pgvector unless the buyer needs more than ~10M vectors.
- Object storage
- S3-compatible (AWS, Backblaze B2, Cloudflare R2)
Cloud & infrastructure
- Cloud
- AWS, GCP, Digital Ocean, Utho Choice depends on buyer's existing footprint and compliance posture.
- Containerization
- Docker, Kubernetes (when justified)
- IaC
- Terraform, Ansible
- Edge
- Cloudflare Workers, Vercel Edge
Observability
- Metrics
- Prometheus + Grafana
- Tracing
- OpenTelemetry
- Logs
- Loki Or the buyer's existing logging stack if one is in place.
- Uptime
- Self-hosted Uptime Kuma
AI & LLMs
- Frontier models
- Claude (Anthropic), GPT (OpenAI), Gemini (Google) Choice per task. No lock-in by default.
- Open models
- Llama, Mistral, Qwen, DeepSeek For BYO-model engagements and on-prem requirements.
- Orchestration
- LangChain, LlamaIndex, custom Custom most of the time; the frameworks are scaffolding.
- Eval
- Internal tooling + Promptfoo
Automation
- Workflow
- n8n (self-hosted by default) For client engagements that need ongoing pipelines.
- Scripting
- Bash, Python, Node CLIs
Workspace & collab
- Google Workspace
- Docs
- Google Docs, Notion (per buyer)
- Chat
- Slack (shared channels with buyers)
- Calls
- Google Meet
- Repo
- GitHub (default), GitLab on request
- CI
- GitHub Actions, GitLab CI
- Project
- Linear (default), Jira on enterprise engagements
Design & prototyping
- UI design
- Figma
- Diagrams
- Excalidraw, Mermaid Mermaid for diagrams that live in the docs alongside code.
- Prototyping
- HTML + Spine tokens We skip Figma for late-stage prototypes and go straight to code.
Hosting
- Studio site
- Static, deployed via the buyer's cloud or our default This site (oviompt.com) is hand-rolled HTML/CSS/JS, no framework.
- Client sites
- Vercel, Netlify, Cloudflare Pages, or buyer's cloud
- DNS
- Cloudflare
Hardware
- Laptops
- MacBook Pro (Apple Silicon), ThinkPad X1 (Linux) Mixed fleet by team preference. Both supported in setup scripts.
- Display
- 4K monitors, no second screen culture
- Audio
- Wired headphones with mic. No bluetooth on calls.
Updated when the stack changes · Not on a calendar · Inspired by uses.tech