- Category
- Productivity
- Rank
- No. 2190Tools index
Previous survey · No. 2176 ·
- Pricing
- Open Source
- Type
- APP
- Builder
- posthog
- GitHub
- 4 stars
- Date
About
Realtime leaderboard of who gives and receives the most PR approval stamps in Slack. Gamifies code review.
What it does
Stamphog turns approval reactions into a visible record of code review activity. It watches configured Slack channels, recognizes messages containing GitHub or Graphite pull request links, and attributes tracked emoji reactions to reviewers and message authors. The web app separates stamp givers from requesters, shows recent activity, and supports several time windows.
Why it's ranked here
The concept is narrow, understandable, and backed by practical ingestion details. Reaction removal, message tracking, historical import, deduplication, retention cleanup, and Slack signature verification address more than the happy path. Still, the project calls itself chaotic and warns against treating its standings seriously, which correctly frames it as a culture tool rather than an authoritative performance system.
What's good
It counts requesters before they receive a stamp, ignores unrelated emoji and messages without qualifying links, and handles removed reactions. Historical imports are bounded, deduplicated, and safe to repeat. Deterministic fixture data lets contributors populate the interface without Slack. Separate views for giving and requesting reviews make the underlying behavior easier to interpret.
Tradeoffs
It recognizes only GitHub and Graphite links and a fixed set of 19 emoji variants. Setup requires a Slack app, event subscriptions, OAuth scopes, signing credentials, a bot token, and a Convex deployment. Historical import and documented retention cover only 90 days. Rankings measure reactions, not review depth, correctness, turnaround time, or code quality.
How to use it well
Use it with a Slack-centered engineering team that already requests pull request reviews in shared channels and consistently reacts with approval stamps. Treat it as a lightweight social prompt and activity signal. Seed fixtures before connecting Slack, then backfill selected channels. Do not use it for review assignment, policy enforcement, quality assessment, or formal performance evaluation.
Technical notes+
README.md documents pnpm setup, Convex initialization, Slack event subscriptions, OAuth scopes, environment variables, deterministic Faker fixtures, bounded backfill, deduplication, and retention pruning. package.json defines a private ESM TypeScript application built with TanStack Start, React, Vite, Convex, React Query, PostHog, and Motion. src/router.tsx connects ConvexQueryClient to QueryClient and enables SSR query integration. src/routes/index.tsx preloads leaderboard and recent-event queries, offers five time windows, and renders giver, requester, totals, and activity views. src/lib/window-days.ts clamps stored window preferences to 1 through 90 days, while src/lib/theme.ts persists theme selection in a cookie. src/routes/__root.tsx supplies metadata, theme hydration, PostHog instrumentation, and shared providers.
Observed
- License
- MIT
- Primary language
- TypeScript with React TSX
- Packaging
- Private ESM package installed and run with pnpm
- Interface
- Web application backed by Convex realtime queries
- Integration surface
- Slack Events endpoint with reactions, channel messages, users, and emoji access
- Supported link sources
- GitHub and Graphite pull request URLs
- Application structure
- The generated route tree defines a single root page
Read from README.md, package.json, src/router.tsx, src/routeTree.gen.ts, src/lib/seo.ts, src/lib/theme.ts, src/lib/utils.ts, src/routes/index.tsx, src/routes/__root.tsx, src/lib/window-days.ts, src/hooks/use-stamps.ts, src/components/not-found.tsx, src/components/mode-toggle.tsx, src/components/theme-provider.tsx, src/components/default-catch-boundary.tsx.
What it can do
Track PR approval stamps given by each team member
Slack PR approval notifications and reactions → Count of stamps given per user
Track PR approval stamps received by each team member
Slack PR approval notifications and reactions → Count of stamps received per user
Generate realtime leaderboard of stamp givers
PR approval activity data from Slack → Ranked list of users who give the most approvals
Generate realtime leaderboard of stamp receivers
PR approval activity data from Slack → Ranked list of users who receive the most approvals
Monitor Slack channels for PR approval activity
Slack channel messages and reactions → Detected PR approval events and stamps
Update leaderboard rankings in realtime
New PR approval events from Slack → Refreshed leaderboard positions and scores
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
