vøiddo · uses page
what we actually build with.
no affiliate links, no “ultimate stack” bait. the tools and services behind every vøiddo shipment, exactly as they sit in the workflow today. inspired by uses.tech.
updated 2026-04-30
ai & models routing law locked
we run a strict tier-routing law: free users on cheapest model, paid on mid, business-only on top.
| tool | where it runs |
| Gemini 2.5 Flash Lite | free tier across every product. cheapest, good enough. paid api |
| Gemini 2.5 Flash | paid tier default. balance of cost and quality. |
| Gemini 2.5 Pro | business-tier only. heavier reasoning, never on free. |
| Gemini 2.5 Flash Image | all production icons, OG cards, product art. ~$0.039 per image. |
| Claude (this assistant) | execution copilot. plans, ships, audits. heaviest model when context matters. |
backend monolith on purpose
| Python 3.11+ | every product backend. typed everywhere, async by default. |
| FastAPI + Uvicorn | async web framework. zero-magic, fast, pydantic-native. |
| PostgreSQL 16 | primary store for every product. one engine, multiple databases. |
| Redis 7 | rate limiting, cache, celery broker, idempotency keys. |
| Celery | background jobs. batch generation, mail send, webhook retries. |
| SQLAlchemy 2.0 | async ORM. raw SQL when atomic counters matter. |
| Alembic | migrations. never edit schema by hand. |
frontend no framework lock-in
| React 18 + Vite | scrb web app, rankd dashboard, jobmeta admin. simple SPAs. |
| TailwindCSS | styling. dark theme by default. |
| Static HTML + CSS | apex, every landing, every legal page. no framework needed. |
| Outfit + JetBrains Mono | house typeface pairing. display + mono. |
| Lucide React | icons in product UIs. |
extensions & mobile vanilla first
| Manifest V3 | 14 chrome / firefox / edge extensions. vanilla JS, no build step where possible. |
| React Native | void factory mobile (Android, then iOS). single TypeScript codebase. |
infrastructure one VPS
| Ubuntu 24.04 VPS | 8 cores, 32 GB. all production lives here. boring on purpose. |
| nginx | reverse proxy, TLS, static. one config per product subdomain. |
| PM2 + systemd | process supervision. PM2 for node bits, systemd for everything else. |
| Let’s Encrypt + certbot | free TLS on every subdomain. |
| Cloudflare DNS | DNS only. no proxy layer. keeps the path direct. |
billing & growth paddle is the only processor
| Paddle | merchant of record. handles VAT, chargebacks, dunning. israel-blocks ruled out stripe. |
| Resend | transactional + lifecycle email. all 6 product lifecycles. |
| IndexNow | push fresh URLs to bing & yandex on ship. zero gsc lag. |
| Google Search Console | search performance audit only. not a growth lever, a mirror. |
| Plausible | privacy-respecting analytics. no GA4 ever. $9/mo |
observability cheap by design
| Sentry | error tracking, free tier. one project per product. |
| UptimeRobot | healthcheck pings every 5 min. free tier across all subdomains. |
| structlog | structured json logs. one format across every backend. |
| PostgreSQL audit tables | ai_cost.log, mail_send.log, webhook_logs. never truncated. |
dev environment terminal-first
| Claude Code (CLI) | primary IDE. heavy use of skills + memory. |
| tmux | long-running sessions across products. |
| git + GitHub | 27 public repos under @voidd0. issues are the to-do list. |
| npm registry | 25 packages under @v0idd0. small focused libs. |
what we deliberately don’t use
| Stripe | israel not a supported business location. paddle covers it. |
| Google Analytics | heavy, slow, privacy-hostile. plausible covers what we need. |
| Next.js / SSR frameworks | simple SPAs + static HTML cover every product. no need. |
| Kubernetes | one VPS handles the whole portfolio fine. |
| microservices | solo studio. monolith per product. boring is fast. |
| Stripe Atlas / fancy LLC | small studio, plain registration. paddle is the merchant of record. |
this list is honest, not exhaustive. every entry above is in the production path of at least one shipped product. tools we tried and dropped — not listed. tools an indie studio is “supposed to” mention but we don’t actually use — not listed. if it doesn’t ship, it isn’t here.