Real-time SaaS event monitoring, delivered to your Discord.
Procmon is a full-stack event monitoring app for SaaS teams. Your backend sends event pings to a simple HTTP API. Procmon stores the events, tracks monthly usage, and pushes real-time notifications to Discord. The dashboard lets users manage event categories, view event history, and upgrade plans.
- Real-time Discord notifications: Send event pings and receive rich Discord embeds.
- Event categories: Organize events per user with name, emoji, and color.
- Usage tracking: Monthly quota limits for free vs pro plans.
- Dashboard analytics: Event history, delivery status, and field summaries.
- Auth + payments: Clerk auth and Stripe one-time checkout flow.
- Framework: Next.js 16
- Language: TypeScript
- Database: PostgreSQL with Prisma
- Styling: Tailwind CSS
- Auth: Clerk
- Payments: Stripe
- User signs up via Clerk and Procmon creates a user record.
- User creates event categories in the dashboard.
- External services POST events to
/api/v1/eventswith the API key. - Procmon stores the event, checks quota, and sends a Discord DM embed.
- Dashboard displays event history and usage stats.
- Node.js 18+ (or Bun)
- PostgreSQL database
- Clerk account
- Stripe account
- Discord bot token
bun installCreate a .env file in the project root:
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/procmon"
# Clerk
CLERK_WEBHOOK_SECRET=""
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=""
CLERK_SECRET_KEY=""
# Stripe
STRIPE_SECRET_KEY=""
STRIPE_WEBHOOK_SECRET=""
NEXT_PUBLIC_APP_URL="http://localhost:3000"
# Discord
DISCORD_BOT_TOKEN=""bunx prisma generate
bunx prisma db pushbun devOpen http://localhost:3000.
curl -X POST "http://localhost:3000/api/v1/events" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"category": "signup",
"description": "New user signed up",
"fields": {"email": "user@example.com", "plan": "PRO"}
}'- Fork the repo
- Create a feature branch
- Commit your changes
- Open a pull request