SR. scottyrobinson.dev
001 LIVE 2026-NOW Index
ForgeRelay logo

ForgeRelay

Keep pull requests moving in Slack and Discord.

ForgeRelay product interface

// 01 Context

ForgeRelay is a SaaS that keeps pull and merge requests moving by turning GitHub and GitLab activity into focused Slack and Discord conversations.

It is a routing layer between your forge and your team chat. It posts rich PR/MR cards, keeps reviews and CI in one living thread, maps forge identities to real teammates, and nudges stale reviews without dumping the whole webhook firehose into the channel.

// 02 The problem

Forge webhooks are noisy. Teams either mute the channel and miss reviews, or live inside GitHub/GitLab and miss the people already talking in Slack or Discord.

The hard part is not posting a notification. It is keeping one conversation current for the whole request lifecycle while routing the right events to the right channel with the right people mentioned.

// 03 What I built

  • Webhook pipeline

    Verified forge webhooks are stored, normalised into signals, projected onto a PR/MR aggregate, matched to routes and delivered to chat.

  • Routing policies

    Per-repository destination policies with fan-out to multiple channels, branch conditions and per-route feature toggles.

  • Threaded delivery

    One Slack or Discord conversation per request. Reviews, comments and CI updates land in place instead of scattering across the channel.

  • Identity mapping

    Forge accounts map to Slack and Discord users so review requests mention a real teammate, with suggested matches and manual overrides.

  • Live CI

    GitHub checks and GitLab pipelines relay failures, recovery and full breakdowns into the existing thread.

  • Reminders & digests

    Scheduled stale-review nudges, plus filtered commit digests for direct-to-main pushes.

  • Reliability & product surface

    Delivery logs with replay, marketing site, SSO auth, Stripe billing, multi-member workspaces and a Livewire control panel.

// 04 Architecture

SOURCES
GitHub App
GitLab OAuth / hooks
PIPELINE
Verify
Normalise
Project
Route
DELIVERY
Slack
Discord
Threads
Replay
PRODUCT
Livewire panel
SSO
Billing
Realtime
STATE
Postgres
Redis
Horizon
Reverb

Incoming forge webhooks are verified and stored, normalised into internal signals, projected onto a PR aggregate, matched against routing rules, then delivered to Slack or Discord, with scheduled reminder jobs on the side.

// 05 Product

ForgeRelay marketing and product surface from forgerelay.dev.
ForgeRelay marketing and product surface from forgerelay.dev.

// 06 Interesting problems

  1. 01

    Noise vs signal

    Default forge integrations flood chat. Routes and feature presets decide what is worth interrupting a channel for.

  2. 02

    Thread continuity

    Opened, review requested, CI failed, recovered, approved and merged all have to update one conversation without losing context.

  3. 03

    People resolution

    Mentioning a forge handle is useless if nobody sees it. Mapping has to be accurate, with a safe fallback when someone is unmapped.

  4. 04

    Durable delivery

    Chat APIs fail. Every relay is logged with route, destination, status and payload so a failed delivery can be replayed.

// 07 Stack

Area Technology
Backend Laravel 13 / PHP 8.5
UI Livewire 4 + Blade / Alpine
Data PostgreSQL + Redis
Workers Horizon + scheduler
Realtime Reverb / Echo
Billing Stripe / Cashier
Integrations GitHub, GitLab, Slack, Discord

// 08 Status / next

Live at forgerelay.dev as a full product loop: connections, routing, delivery, billing and ops. Not a demo.

  • More routing conditions and presets
  • Deeper CI surfaces
  • Self-hosted option later