{
  "id": 6982440,
  "title": "I Built a PR Inbox for My Phone So I Stop Being the Bottleneck",
  "url": "https://urgent.news/2026/09/12/i-built-a-pr-inbox-for-my-phone-so-i-stop-being-the-bottleneck",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-12T19:38:30.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/3ni8ma/i-built-a-pr-inbox-for-my-phone-so-i-stop-being-the-bottleneck-i1l"
  },
  "original_language": "en",
  "account": "The author was the bottleneck on every pull request, with reviews waiting for days. To address this, they built a PR inbox for their phone. Using Expo and Supabase, the app displays every pending PR, with a swipe right to approve or left to request changes. The AI generates a plain-language summary, making reviews quicker and easier. The author's phone buzzes when a new PR arrives, allowing them to review and merge within seconds. Previously, reviews took days and caused guilt. The stack for the app is free, using Expo, Supabase, GitHub webhooks, and Vercel. The architecture is simple and robust, with GitHub sending webhooks and Supabase handling auth and database tasks. Since implementing the inbox, the author's median review time dropped from three days to under four hours, with the app handling the review process instantly. The author encourages others to try the app and improve upon it.",
  "summary": "TL;DR: I was the bottleneck on every pull request. Reviews waited days for me. So I built a PR inbox for my phone. AI summarizes each diff. I swipe right to approve. Built with Expo and Supabase. Costs $0. This is post one of the build-in-public series. I am the problem. Let me say that first. Every PR on my projects waited for me. Contributors opened good work. Then silence. For days. Not…",
  "key_points": [
    "Author built a PR inbox app for their phone to stop being a bottleneck.",
    "App uses Expo, Supabase, GitHub webhooks, and Vercel for free stack.",
    "Median review time dropped from three days to under four hours after implementation."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}