Nexus Hub

Lately, I’ve been spending more time building small internal tools instead of chasing shiny features. Not because features aren’t important, but because it feels more meaningful to fix the way of working rather than just keep shipping the same old workflow.

There’s something satisfying about creating systems that reduce friction, standardize thinking, and let teams move faster without repeating the same manual steps forever.

This time, I’m working on something I call Nexus Hub.

It’s still extremely early, nothing you can call “production-ready” yet, but the direction is fairly clear: a control plane for AI conversations and automation across multiple tenants, multiple channels, and a standardized message pipeline.

There are two repositories:

  1. Backend: https://github.com/deptz/nexus-hub
  2. Frontend: https://github.com/deptz/nexus-hub-fe

The motivation is simple: AI experiments keep growing, and I want to explore how to:

  1. Handle conversation events from multiple channels (WhatsApp, Slack, Web, Email, etc.),
  2. Enforce proper tenant isolation (not just random tenant_id checks scattered in code),
  3. Standardize prompt layers: global → system → tenant → session,
  4. Provide a secure, reusable vector store instead of a mess of one-off setups.

The backend uses Python with FastAPI, PostgreSQL + pgvector, and Row-Level Security for proper tenant isolation. The frontend uses Vue + TypeScript as the control panel for prompts, API keys, and system health status.

Right now, the project is purely foundational work. The real complexity hasn’t even started: channel adapters, observability, audit logging, abuse prevention, and AI tool orchestration.

But that’s the point. This is still exploration, not go-to-market (yet). If it works, Nexus Hub could become a reusable backbone that makes future AI experiments faster, cleaner, and safer.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.