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 technologiesUse 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.
- 1Copy the promptThe full markdown spec, with every layer and decision.
- 2Open your AI toolClaude Code, Cursor, Windsurf or Copilot, in a new repo.
- 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?
Similar architectures
- SentryClassicError Tracking Platform · 20+ peopleShares Python · Django · PostgreSQL
- PostHogHybridProduct Analytics Platform · 20+ peopleShares Django · Python · PostgreSQL
- BaserowHybridNo-Code Database Platform · 6-20 peopleShares Python · Django · PostgreSQL
- UmamiHybridWeb Analytics · SoloShares PostgreSQL · Redis
- Dify.aiAI-agentLLM App Builder · 20+ peopleShares Python · Celery · Redis
- MedusaClassicE-commerce API · 20+ peopleShares PostgreSQL · Redis
use-this-stack.md