About
Hi, I'm Bobby G — nearly a decade building SaaS products, mostly accounting and nonprofit software with genuinely unforgiving domain rules. TypeScript, React, Java, and Postgres at work; Elixir/Phoenix and Swift for everything I've shipped since, including this site. A life-long learner who enjoys problem solving, challenging domains, constraints, elegant solutions, collaboration, and cohesive teams that ship. Don't hesitate to reach out!
What is this?
A feed of links from newsletters and forums on my radar, aggregated and ranked by how often they show up across sources. Also a working portfolio: Elixir/Phoenix, Node.js scrapers, Cloudflare Email Workers, AI extraction, self-hosted via Dokploy on Hetzner.
Work
Things I've built and shipped. More imminently.
Snap a photo of a book you own and it lands on a neighborhood map. Free to list, borrow, and lend from the people down the street; rent or sell it instead and the money goes straight between the two of you.
- Image recognition identifies the book from a photo; the same vision pipeline is built to generalize past books to a wider category of items.
- The map ships seeded with a public dataset of 45,917 little free libraries, ingested into PostGIS, so there is something to find before anyone lists a book.
- Phoenix LiveView on Postgres/PostGIS for geospatial search, Stripe for payments, QR codes for handoff, Oban for background jobs.
- Native Swift iOS client on a shared API, in TestFlight beta, built from a reusable project blueprint.
One private brain that captures what you save, answers your email and texts, and remembers everything, so you can stop renting your memory from a dozen subscriptions.
- First product shipped on the Whirlwind platform, live on self-hosted infrastructure.
- Phoenix LiveView with Guardian JWT auth and Oban background job processing.
A feed of links from the newsletters and forums on my radar, ranked by how often the same story shows up across independent sources.
- Node scrapers and Cloudflare Email Workers ingest newsletters; AI extraction pulls out the actual links and dedupes them across sources.
- Elixir/Phoenix LiveView on Postgres, Oban for the scheduled ingest pipeline.
- Self-hosted on Hetzner via Dokploy, deployed from GitHub Actions.
Serves up the daily top ten from Tildes.net to Bluesky. Unattended since launch, 5,000+ posts in.
- Node scraper on the AT Protocol, running on a scheduled pipeline with no manual intervention.
Everything above runs on infrastructure I stood up from nothing: GitHub org, CI/CD, service boundaries, and a local development environment that mirrors production.
- Modular services on self-managed infrastructure (Hetzner via Dokploy), with GitHub Actions CI/CD, Docker multi-stage builds, and inter-service networking over Tailscale.
- Shared gateway services: ai-gateway, a provider-agnostic completion layer wired to the Claude API and opencode, and comm-gateway, routing all SMS and email through Twilio, Mailgun, and Resend.
- MindBlossom and Abridgedly both consume ai-gateway instead of integrating a model vendor directly, and book-data runs the vision pipeline behind Abridgedly's photo-to-book recognition. Swapping a provider is a change in one service, not four.
- Architecture decision records, platform standards, and runbooks kept alongside the code.
The name
A play on du jour, French for "of the day." The ∂ is a partial derivative. Yes, accent on the e is wrong, I know.