{"slug": "how-i-built-an-event-driven-go-microservice-to-automate-tech-updates-from-github", "title": "How I Built an Event-Driven Go Microservice to Automate Tech Updates from GitHub to LinkedIn", "summary": "A developer built Git-To-Feed, an open-source Go microservice that listens to GitHub webhooks, uses Gemini AI to turn technical pull requests and release notes into LinkedIn posts, and requires human approval via a Discord bot before publishing. The pipeline verifies webhook HMAC signatures, separates domain logic from infrastructure adapters in a package-by-feature layout, and uses few-shot prompting to avoid corporate fluff. The project is released on GitHub under the MIT license with open issues for CI/CD setup, multi-channel routing, and test coverage.", "body_md": "As developers, we ship features every day, but summarizing technical Pull Requests or Release notes into engaging LinkedIn posts is often an afterthought or a manual chore.\n\nTo solve this, I built **Git-To-Feed**—an open-source Go microservice that listens to GitHub webhooks, processes technical context via Gemini AI, and requires a human approval tap in Discord before publishing to LinkedIn.\n\nHere is how the event-driven pipeline flows:\n\n``` php\nflowchart TD\n    GH[\"GitHub Webhook\"] -->|\"HMAC Verified\"| WH[\"Webhook Handler\"]\n    WH --> PIPE[\"Pipeline Gemini AI\"]\n    PIPE --> BOT[\"Discord Bot\"]\n    BOT -->|\"Approve / Reject\"| APP[\"Approval Engine\"]\n    APP -->|\"Published\"| LI[\"LinkedIn API\"]\n```\n\n**Package-by-Feature Layout:** Domain logic (internal/approval, internal/pipeline, internal/publisher) is cleanly separated from infrastructure adapters (internal/platform).\n\n**HMAC Signature Verification:** Webhooks are validated before processing payload memory.\n\n**Anti-Cringe & Few-Shot Prompting:** Structured AI templates convert technical jargon into clear release announcements without corporate fluff.\n\n**Human-in-the-Loop:** Discord WebSocket bot renders interactive action buttons (Approve / Reject) so no post goes live without dev review.\n\nThe repository is live on GitHub under the MIT license!\n\nWe have open issues labeled good first issue and help wanted for CI/CD setup, multi-channel routing, and test coverage. PRs and star support are highly appreciated!", "url": "https://wpnews.pro/news/how-i-built-an-event-driven-go-microservice-to-automate-tech-updates-from-github", "canonical_source": "https://dev.to/hawksxo/how-i-built-an-event-driven-go-microservice-to-automate-tech-updates-from-github-to-linkedin-acc", "published_at": "2026-10-02 20:58:16+00:00", "updated_at": "2026-10-02 21:07:23.177232+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "generative-ai", "ai-agents"], "entities": ["Git-To-Feed", "GitHub", "Gemini", "Discord", "LinkedIn"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/how-i-built-an-event-driven-go-microservice-to-automate-tech-updates-from-github", "markdown": "https://wpnews.pro/news/how-i-built-an-event-driven-go-microservice-to-automate-tech-updates-from-github.md", "text": "https://wpnews.pro/news/how-i-built-an-event-driven-go-microservice-to-automate-tech-updates-from-github.txt", "jsonld": "https://wpnews.pro/news/how-i-built-an-event-driven-go-microservice-to-automate-tech-updates-from-github.jsonld"}}