ULAM is a high-performance, centralized observability platform designed to capture, store, and analyze technical logs and user activities across all your applications. Equipped with Groq-powered AI Insight, ULAM doesn't just store logs—it understands them.
- 🛡️ Centralized Logging: Single endpoint (
/api/ingest) for all your apps (Go, Node, PHP, Python, etc.). - 🤖 AI Insight (Groq): Instant error summarization, Root Cause Analysis (RCA), and solution suggestions using Llama 3.3.
- 🔐 User Activity & Auth Tracking: Detailed audit trails for login events (OAuth, Magic Link, Password) and user actions.
- 🎭 PII Masking: Automatically censor sensitive data (passwords, tokens, secrets) before it hits the database.
- 📉 Error Grouping: Intelligent log fingerprinting to reduce dashboard noise by grouping identical issues.
- 📩 Real-time Alerting: Automated email notifications for
ERRORandCRITICALlevels with smart throttling. - 🧹 Auto Retention: Automated cleanup policy to keep your database lean and performant.
| Layer | Technology |
|---|---|
| Backend | Go 1.26 (Gin, GORM v2) |
| Frontend | React 19 (Vite 7, Tailwind v4) |
| Database | PostgreSQL 17 (JSONB, GIN Index) |
| AI Engine | Groq API (Llama 3.3) |
| Auth | JWT via httpOnly Cookies + API Key |
| Infra | Docker & Docker Compose v2 |
The project is highly documented to ensure scalability and ease of integration.
- 📋 PRD - Product requirements and business logic.
- 🏗️ Architecture - Detailed system design and structure.
- 🗄️ Data Schema - Database models and JSONB contracts.
- 🔗 API Reference - Endpoints and integration guide.
- 🛠️ Tech Stack - Detailed package versions and tool choices.
- 🗺️ Roadmap - Feature implementation phases.
- 🏆 MVP Scope - Focus for current development.
- Docker & Docker Compose
- Groq API Key (for AI features)
- Gmail App Password (for email alerts)
cp .env.example .env
# Fill in DATABASE_URL, JWT_SECRET, GROQ_API_KEY, and SMTP credentialsWe provide a Makefile for a clean and automated workflow:
# 1. Setup all dependencies (Go & NPM)
make setup
# 2. Run Database Migrations
make migrate
# 3. Build both Frontend & Backend
make build
# 4. Start Development Mode
make devIf you prefer Docker:
docker-compose up -d --buildThe dashboard will be available at http://localhost:5173 and the API at http://localhost:8080.
// Send log to ULAM
ulam.Send(LogPayload{
Category: "SYSTEM_ERROR",
Level: "CRITICAL",
Message: "Database connection refused",
Context: map[string]interface{}{"user_id": "usr_123"},
})This project is proprietary. Created by Petrus Handika.