podruga.ai codebase

Overview

Each tenant gets complete isolation - its own database schema, user base, characters, subscriptions, and payment configuration - while sharing a single deployment. Adding a new app means DNS setup and a schema creation script. No code changes, no deployments.

Every locale operates as a fully domestic product. UI, companion profiles, and payment methods are all localized per market. The architecture was designed so the codebase never needs to know how many apps it's running.

Tech Stack

Frontend

  • Vue.js + Quasar
  • Socket.IO

Backend

  • FastAPI
  • PostgreSQL

AI / ML

  • LLM integration for chat
  • Voice cloning and TTS
  • Image generation pipeline
  • OpenCV for processing

Localization

  • 11 languages, 33 locales
  • Per-locale companion adaptation
  • Locale-specific payment routing
  • Regulatory feature gating

Scalable Multi-Tenant Architecture

Every locale operates as a fully domestic product. UI, companion profiles - names, bios, primary language for both text and voice - and payment methods are all localized per market. A user in Portugal experiences a Portuguese product with Portuguese companions and local payment options. Feature availability varies by locale to comply with regional regulations. This depth of localization is what sets the platform apart from competitors that stop at UI translation.

Under the hood, a two-level tenancy system makes this possible. Domain detection identifies the brand, locale detection routes to the correct database schema. Each locale gets complete data isolation - separate users, companions, subscriptions, payment history. Adding a new locale or brand is purely configuration, no code deployment required.