DEV Community

Hawksxo
Hawksxo

Posted on

How I Built an Event-Driven Go Microservice to Automate Tech Updates from GitHub to LinkedIn

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.

To 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.

πŸ—οΈ System Architecture

Here is how the event-driven pipeline flows:

flowchart TD
    GH["GitHub Webhook"] -->|"HMAC Verified"| WH["Webhook Handler"]
    WH --> PIPE["Pipeline Gemini AI"]
    PIPE --> BOT["Discord Bot"]
    BOT -->|"Approve / Reject"| APP["Approval Engine"]
    APP -->|"Published"| LI["LinkedIn API"]

πŸ› οΈ Key Technical Features

  • Package-by-Feature Layout: Domain logic (internal/approval, internal/pipeline, internal/publisher) is cleanly separated from infrastructure adapters (internal/platform).

  • HMAC Signature Verification: Webhooks are validated before processing payload memory.

  • Anti-Cringe & Few-Shot Prompting: Structured AI templates convert technical jargon into clear release announcements without corporate fluff.

  • Human-in-the-Loop: Discord WebSocket bot renders interactive action buttons (Approve / Reject) so no post goes live without dev review.

🀝 Open Source & Contributing

The repository is live on GitHub under the MIT license!

πŸ‘‰ Git To Feed - GTF

We 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!


Top comments (0)