Loading repository data…
Loading repository data…
Dessiidoo / repository
Production-ready, self-hostable AI chat assistant platform — TypeScript monorepo with persistent PostgreSQL conversation history, OpenAI-compatible model support, API-key-authenticated Express backend, Docker deployment, and extensible GitHub and email integrations. Ship a branded AI assistant product in days.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A production-ready, self-hostable AI chat assistant platform with persistent conversation history, OpenAI-compatible model support, and extensible GitHub/email integrations — deployable in minutes, brandable in hours.
PATTY (also called Cognitive Buddy) is a full-stack AI chat assistant application built for teams and builders who want a working, deployable product — not another proof-of-concept. It ships with a polished React/TypeScript frontend, a secured Express.js API backend, PostgreSQL-backed persistent conversation history, and Docker-based deployment. It connects to any OpenAI-compatible model endpoint, meaning you can run it against GPT-4o, Claude via proxy, local Ollama models, or any other OpenAI-spec-compatible API.
Unlike throwaway chatbot demos, PATTY is a complete SaaS skeleton. A business can white-label it, extend it, and ship it to real users in days — not months. The shadcn/ui component library delivers a polished, accessible frontend out of the box, and the API-key-authenticated backend makes it ready for multi-tenant or enterprise deployments with minimal additional work.
BUDDY_API_KEY, making it straightforward to secure multi-user or white-label deployments.Dockerfile and Docker Compose support for one-command local and cloud deployment.@octokit/rest dependency included, enabling GitHub-connected workflows such as issue creation from chat, repo summaries, or developer-assistant tooling.nodemailer dependency included for transactional email notifications — conversation summaries, alerts, or user onboarding flows..replit config included for instant cloud deployment without any local infrastructure setup.| Chat Interface | Settings | Conversation View |
|---|---|---|
| Friendly AI Avatar | Executive Decision-Maker | Half-Human Half-AI |
|---|---|---|
┌─────────────────────────────────────────────────────────────┐
│ React + Vite Frontend (TypeScript + shadcn/ui + Tailwind) │
│ ┌──────────────┐ ┌─────────────────┐ ┌───────────────┐ │
│ │ Chat Input │ │ Message Thread │ │ Sidebar/Nav │ │
│ └──────┬───────┘ └────────┬────────┘ └───────────────┘ │
└─────────┼───────────────────┼─────────────────────────────--┘
│ HTTP/REST │ renders from
▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ Express.js Backend (Node.js + TypeScript) │
│ ┌─────────────────┐ ┌──────────────────────────────┐ │
│ │ Auth Middleware │ │ Chat Route Handlers │ │
│ │ (BUDDY_API_KEY)│ │ /api/chat /api/sessions │ │
│ └─────────────────┘ └──────────────┬───────────────┘ │
└──────────────────────────────────────── ┼ ───────────────────┘
│
┌───────────────────────────────┼────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌────────────────────┐ ┌──────────────┐
│ PostgreSQL │ │ OpenAI-Compatible │ │ Nodemailer │
│ (Drizzle ORM)│ │ Model API │ │ + Octokit │
│ Conversations│ │ (GPT / Ollama / │ │ Integrations│
│ & Messages │ │ any proxy) │ └──────────────┘
└───────────────┘ └────────────────────┘
git clone https://github.com/Dessiidoo/PATTY.git
cd PATTY
Copy the example environment file and fill in your values:
cp .env.example .env
Key variables to configure:
| Variable | Description | Required |
|---|---|---|
DATABASE_URL | PostgreSQL connection string | ✅ |
OPENAI_API_KEY | OpenAI or compatible model API key | ✅ |
BUDDY_API_KEY | Secret key to authenticate backend API requests | ✅ |
OPENAI_BASE_URL | Override for custom/self-hosted model endpoint | Optional |
PORT | Backend server port (default: 5000) | Optional |
SMTP_HOST | Mail server host for nodemailer | Optional |
SMTP_PORT | Mail server port | Optional |
SMTP_USER | SMTP authentication username | Optional |
SMTP_PASS | SMTP authentication password | Optional |
GITHUB_TOKEN | GitHub personal access token for Octokit integration | Optional |
docker compose up --build
This spins up the app and a PostgreSQL instance. See DEPLOYMENT.md for full Docker Compose configuration details.
# Install dependencies
npm install
# Push the database schema
npm run db:push
# Start the development server (client + server concurrently)
npm run dev
The app will be available at http://localhost:5173 (frontend) with the API running on http://localhost:5000.
Import the repo directly into Replit. The .replit configuration is pre-set. Add your environment variables in the Replit Secrets panel and click Run.
All API routes are prefixed with /api and authenticated via the BUDDY_API_KEY header.
Authorization: Bearer <BUDDY_API_KEY>
| Method | Endpoint | Description |
|---|---|---|
GET | /api/sessions | List all chat sessions |
POST | /api/sessions | Create a new chat session |
GET | /api/sessions/:id/messages | Retrieve message history for a session |
POST | /api/chat | Send a message and receive an AI response |
DELETE | /api/sessions/:id | Delete a session and its messages |
See DEPLOYMENT.md for detailed request/response shapes and authentication examples.
Building a production-ready AI chat assistant from scratch is not a weekend project. You need a typed full-stack architecture, a persistent data layer, authenticated APIs, a professional UI component system, containerized deployment, and integration hooks for the services your business actually uses (email, GitHub, etc.).
Most open-source chatbot projects are either over-engineered research frameworks or bare-minimum demos. PATTY is neither — it is a deployable product skeleton at the right level of abstraction: enough infrastructure to be real, not so much that you are locked into decisions you did not make. A development team can fork it, brand it, and ship a product to paying customers in days.
PATTY/
├── client/ # React + Vite + TypeScript frontend
│ ├── src/
│ │ ├── components/
│ │ │ ├── chat/ # Chat input, message thread components
│ │ │ ├── layout/ # Sidebar, navigation
│ │ │ ├── settings/ # Settings dialog
│ │ │ └── ui/ # shadcn/ui component library
│ │ └── App.tsx
├── server/ # Express.js backend (TypeScript)
├── shared/ # Shared types between client and server
├── attached_assets/ # Screenshots and branding assets
├── Dockerfile
├── DEPLOYMENT.md
├── .env.example
└── README.md
MIT License — see LICENSE for details. Free to use, modify, and deploy commercially. Attribution appreciated but not required.
Built with React, TypeScript, Express, PostgreSQL, Drizzle ORM, shadcn/ui, and OpenAI-compatible APIs.