Skip to content
STACK IT FAST

GlitchTip

Curated OSSHybridOpen-Source Error Tracking & APM2-5 People

Audited from gitlab.com/glitchtip/glitchtip-backend

GlitchTip is an open-source, lightweight error tracking and performance monitoring tool, positioned as a simpler, self-hostable Sentry alternative.

Language
Python
Database
PostgreSQL
Running for
4 years
Team
2-5 People

Why this architecture

Lightweight Sentry-compatible application performance monitoring and error tracking platform. Built on Python Django and PostgreSQL with async Celery task queues for high-volume exception ingestion and Redis message buffering.

Tech stack by layer

6 technologies
Frontend & UI
Backend & APIs
Data & Persistence
Use this stack

Scaffold it with your agent

Paste this prompt into Claude Code, Cursor, Windsurf or AGY to start a project with GlitchTip's architecture.

  1. 1Copy the promptThe full markdown spec, with every layer and decision.
  2. 2Open your AI toolClaude Code, Cursor, Windsurf or Copilot, in a new repo.
  3. 3Paste and scaffoldUse it as the first instruction; review before you ship.
use-this-stack.md · 50 lines · 4.1 KB
# MISSION: Scaffold "GlitchTip" Production Architecture
You are an expert Senior Staff Software Architect and Full-Stack Engineer. Your mission is to scaffold and implement a production-grade, highly reliable, and modular codebase following the proven architecture of **GlitchTip**.
---
## 1. PROJECT SPECIFICATIONS & BENCHMARK
- **Reference Architecture**: GlitchTip
- **What It Does**: GlitchTip is an open-source, lightweight error tracking and performance monitoring tool, positioned as a simpler, self-hostable Sentry alternative.
- **Domain & Category**: Open-Source Error Tracking & APM
- **Production Scale**: 2-5 People
- **Development Mode**: HYBRID
- **Architectural Rationale**: Lightweight Sentry-compatible application performance monitoring and error tracking platform. Built on Python Django and PostgreSQL with async Celery task queues for high-volume exception ingestion and Redis message buffering.
- **Live Website Reference**: https://glitchtip.com
- **Source Repository**: https://gitlab.com/glitchtip/glitchtip-backend
---
## 2. PRODUCTION TECH STACK
- **Full Stack Array**: Python, Django, PostgreSQL, Celery, Redis, Angular
- **License of the reference repo**: Community Verified
- **Frontend**: Angular — Angular in frontend layer
- **Backend & APIs**: Python — Python in backend layer; Django — Django in backend layer; Celery — Celery in backend layer
- **Data & persistence**: PostgreSQL — PostgreSQL in data layer; Redis — Redis in data layer
---
## 3. NON-NEGOTIABLE ARCHITECTURAL GUARDRAILS
1. **Monorepo & Modular Separation**:
   - Structure as a Turborepo monorepo with strict package boundaries:
     - `apps/web`: Application UI, routing, layouts, and server endpoints.
     - `packages/ui`: Shared design tokens, CSS variables, and Radix UI primitive components.
     - `packages/db`: Database schemas, client singleton, declarative migrations, and seed scripts.
     - `packages/config`: Shared TypeScript, ESLint, and build configurations.
2. **Strict Type Safety & Zero `any` Policy**:
   - Enable `strict: true`, `noImplicitAny: true`, and `strictNullChecks: true`.
   - Validate ALL external inputs, API request bodies, and query parameters with **Zod** schemas before execution.
3. **Frontend & Rendering Guidelines**:
   - Isolate interactive UI state to leaf components. Keep core pages lightweight and performant.
4. **Design System & Aesthetics**:
   - Keep every color, radius, shadow and font in a single token file (CSS variables) and consume tokens everywhere; never hardcode hex values in components.
   - Prefer crisp 1px borders and one subtle shadow scale over blurry default shadows. Pair one sans-serif for body/headings with one monospace for tags, badges, metrics, and code.
5. **Data Layer & Reliability**:
   - Write declarative schema definitions with foreign keys, composite indexes on queried filters, and automated timestamp triggers.
   - Use connection pooling and prepared statements for serverless database execution.
---
## 4. STEP-BY-STEP SCAFFOLDING ROADMAP
- **Phase 1: Workspace & Root Config**: Initialize package manager, monorepo configuration (`turbo.json`, `tsconfig.base.json`, `package.json`).
- **Phase 2: Database Schema & Client**: Set up the data layer (PostgreSQL, Redis): client, connection pool, models, and migration scripts.
- **Phase 3: Design Tokens & UI Primitives**: Build accessible `Button`, `Input`, `Card`, `Badge`, and layout wrappers inside `packages/ui`.
- **Phase 4: Core Application Routes & Handlers**: Implement primary authentication, user session handling, and application routes.
- **Phase 5: Quality Assurance & Build Verification**: Run `tsc --noEmit`, ESLint, Prettier, and smoke test suites to ensure zero compilation or runtime errors.
---
## 5. EXECUTION INSTRUCTIONS
1. Review all specifications, architectural guardrails, and stack choices above.
2. Present the full monorepo directory tree structure.
3. Systematically generate the complete, production-ready codebase according to the 5-phase roadmap above — starting with the root workspace setup, followed by the database schema, UI design system package, and full-stack application routes until the repository is fully scaffolded and ready to run.
Scaffolded something with this prompt?
Would you pick this stack for a open-source error tracking & apm project?
use-this-stack.md