As an engineer, I read a lot of tech articles every day: Qiita, Zenn and Hatena Bookmark in Japanese, and dev.to and Hashnode in English, plus a long list of company engineering blogs. Opening ten tabs every morning got old, so I built Check Picks , a personal tech news aggregator. It collects articles in one place and lets me bookmark them, sort them into favorite folders, and build my own custom feeds.
It's also a playground for architecture I wanted to try for real: a GraphQL BFF in front of Go gRPC microservices . This post walks through how it's structured, why I made the choices I did, and what I'd change next time.
The whole thing is open source:
π https://github.com/YukiOnishi1129/techpicks
The big picture
%%{init: {"flowchart": {"curve": "basis", "nodeSpacing": 30, "rankSpacing": 55}, "themeVariables": {"fontSize": "16px"}}}%% flowchart TB WEB["Web client<br/>Next.js 15 Β· Apollo Client Β· gql.tada"]
GW["BFF<br/>NestJS Β· Apollo Server<br/>Supabase auth guard"]
subgraph Services["Go gRPCβ¦