Skip to main content
These are composite profiles based on common deployment patterns. Each one captures real trade-offs, numbers, and lessons from running local models in production or personal use.

Solo developer: coding assistant on a MacBook

Setup: Mac Studio M2 Ultra + Ollama + Claude Code via Tokios Model: Qwen3-30B Q5_K_M Time to first working setup: 20 minutes A solo full-stack developer wanted a coding assistant that keeps source code on their machine. They run Ollama on a Mac Studio M2 Ultra with 64 GB unified memory and point Claude Code at it through Tokios.
What worked: The M2 Ultra’s memory bandwidth handles the 30B model well. Tokios means the same setup works from a laptop on the road — just point Claude Code at api.tokios.com. Limitation: Context length tops out around 8K tokens on this model. For large codebases with many files open, the developer chunks work into smaller sessions rather than feeding entire repositories.
Key takeaway: If you already own Apple silicon with 32 GB+ RAM, a local coding assistant costs $0/month and keeps your code private. Tokios adds remote access without a VPN.

Small team: shared model endpoint for 5 developers

Setup: RTX 4090 workstation + vLLM + Tokios connector Model: Qwen3-72B FP8 (AWQ quantization) Time to first working setup: 45 minutes A 5-person backend team shares a single RTX 4090 workstation as a team model server. They use vLLM for throughput and Tokios to give each developer a scoped API key.
What worked: Consistent model access with no rate limits. Scoped keys mean each developer has their own sk-tok-… key — revoking one doesn’t affect others. Gotcha: The 72B AWQ model barely fits in 24 GB VRAM. During peak concurrent usage, vLLM spills KV cache to CPU memory, which slows throughput. The team added --max-num-seqs 8 to cap concurrent requests and prevent OOM crashes. What they’d change: Move to a 48 GB A6000 or add a second GPU for tensor parallelism. See Tensor vs pipeline parallelism.
Key takeaway: A single consumer GPU can serve a small team, but plan for peak concurrency. Cap --max-num-seqs to prevent OOM and accept higher latency under load.

Homelab enthusiast: DGX Spark as always-on inference server

Setup: DGX Spark + vLLM + Tokios + Tailscale (for LAN access) Models: Rotating collection — Qwen3-30B for daily use, DeepSeek-R1 for reasoning tasks, Phi-4 for quick classification Time to first working setup: 1 hour (including model downloads) A homelab hobbyist runs a DGX Spark 24/7 as a personal inference server. The 128 GB unified memory lets them keep a large model loaded and swap others in as needed. Tokios exposes models to their phone, laptop, and home automation scripts.
What worked: The DGX Spark’s 128 GB unified memory fits models that would need 2–3 consumer GPUs. Running multiple vLLM instances on different ports lets them serve 3 models simultaneously. Tokios model routing means their phone app just changes the model field to switch between daily chat and deep reasoning. Tip: Use model routing to auto-select a deployment by request type. Point chat clients at daily and automation scripts at classifier.
Key takeaway: A DGX Spark as an always-on server costs $8–15/month in electricity and gives you unlimited inference on models that won’t fit on consumer hardware. The 128 GB unified memory is the real differentiator.

Startup: local models for customer data processing

Setup: 2x A100 80 GB + vLLM + Tokios Models: Llama 3.1 70B for analysis, Phi-4 for classification Time to first working setup: 2 hours (including infrastructure) A 10-person startup processes customer documents that contain sensitive financial data. Compliance requires that data never leaves their infrastructure. They run 2 separate vLLM instances — 1 for analysis, 1 for classification — and expose both through Tokios.
Architecture: Their processing pipeline sends documents to the analyzer deployment for summarization and entity extraction, then routes extracted fields to the classifier deployment for categorization. Both models run on separate A100s to avoid VRAM contention. What worked: Separate deployments for different tasks means they can scale, restart, or swap models independently. Tokios scoped keys limit the processing service to only the analyzer and classifier deployments. What they’d change: Add a 3rd model for quality checking. The current 2-model pipeline occasionally misclassifies edge cases that a larger reasoning model would catch.
Key takeaway: When compliance requires on-premises data, local models pay for themselves fast. Separate deployments per task give you independent scaling and failure isolation. This startup broke even in 3 months versus cloud GPU costs.

Researcher: benchmarking across quantizations

Setup: RTX 4090 + llama.cpp + lm-evaluation-harness Testing: Same model (Qwen2.5-7B) at Q4_K_M, Q5_K_M, Q8_0, FP16 Time to full benchmark suite: 3 hours An ML researcher needed to measure how quantization affects evaluation scores for a specific task (code generation). They ran the same model at 4 quantization levels and compared perplexity and pass rates.
Finding: Q5_K_M scored within 2.2 percentage points of FP16 while running almost twice as fast. For this researcher’s code generation tasks, Q5_K_M is the sweet spot. How Tokios helped: Registering each quantization as a separate deployment (bench-q4km, bench-q5km, bench-q8, bench-fp16) let the evaluation harness switch between them by changing only the model field. Results were directly comparable because the harness called the same endpoint shape for each run.
Key takeaway: Q5_K_M is the sweet spot for most 7B evaluation tasks — within 2–3% of FP16 quality at nearly 2x the speed. Register each quantization as a separate Tokios deployment to benchmark them through a consistent API.

Common patterns across all case studies

Next steps

Recipes

Copy-paste configurations for 8 common local LLM setups.

Benchmark your deployment

Structured benchmarks to compare your hardware and model choices.

Model routing

Register multiple deployments and switch between them.

Choose a local model

Pick the right model and quantization for your hardware.