Skip to main content
Back to Portfolio

GoblinOS Assistant

A multi-provider, privacy-first AI assistant with observable routing.

FastAPIPythonNext.jsTypeScriptTailwind CSSPostgreSQLRedisCloudflareDockerTerraformFly.ioVercel
Timeline: Ongoing
Role: Solo Developer
Goblin Assistant home screen with navigation and quick actions

Overview

GoblinOS Assistant is a multi-provider, privacy-first AI assistant with intelligent model routing.

The interface pairs chat with live system status panels so you can see provider health, latency, and routing behavior at a glance. The backend is FastAPI (Python) with a SQL data layer, while the frontend is built in Next.js (React/TypeScript) with Tailwind CSS. Deployment uses Vercel for the UI with Cloudflare at the edge, and Docker + Terraform keep infrastructure repeatable.

Case Study

The Problem

Single-provider assistants are brittle and hard to control; this needed to be multi-provider, privacy-first, and observable.

Audience & Stakes

Developers and power users who want a controllable assistant with dependable routing and clear system status.

My Approach

Built a FastAPI backend with a Next.js UI, surfaced status panels alongside chat, and deployed with Vercel, Fly.io, and Cloudflare. Docker + Terraform keep environments repeatable.

Tradeoffs

Added routing and observability complexity for flexibility and privacy control, in exchange for more operational setup.

Impact

A production-ready foundation for a provider-agnostic assistant with transparent routing and cost visibility.

Key Features

  • Chat interface paired with live system status panels
  • Multi-provider routing with observable decision signals
  • Workflow execution and orchestration tools
  • Cost tracking and usage visibility by provider
  • FastAPI backend with structured, typed API surface
  • Next.js frontend in TypeScript with Tailwind CSS
  • Cloudflare edge + Docker/Terraform infrastructure

Technical Challenges

  • Keeping routing behavior explainable while supporting multiple providers
  • Surfacing system status without overwhelming the core chat UX
  • Maintaining a clean API contract between FastAPI and the UI
  • Balancing privacy-first defaults with practical routing flexibility

Key Learnings

  • Routing logic needs visibility (status panels) to be trustworthy
  • Type-safe contracts reduce frontend/backend drift
  • Cost visibility changes how routing rules are tuned
  • Infra-as-code keeps deployments reproducible