← All entries
A Telegram review bot and LinkedIn posting
Most of the week went into the post automation. Two threads, plus some SEO.
Telegram review bot
I wrote a spec and a plan first, then built it in small steps:
- It parses draft pull requests and their posts.
- It handles Telegram updates at
/api/telegram. - GitHub Actions send the draft, reminder and log messages.
- Edit comments are applied, and empty runs are reported as issues.
- Drafts now branch from
origin/main, and the notify job checks outmain.
Posts can also carry an optional coverImage now.
LinkedIn posting
Same approach: a spec, a plan, then the parts.
- Caption text and escaping for LinkedIn's commentary field.
- A Redis store for the token, the posted records and the OAuth state.
- A REST and OAuth adapter, with connect, callback, post and remind routes.
- A Retry LinkedIn button in Telegram.
- A daily token check, and posting from the live step after a merge.
On Friday I made it claim a post before sending it and put a timeout on every outbound call. I wrote about that separately in Claim it before you post it.
Salonjaa
Three SEO commits: the homepage title leads with the full brand name, a Bing Webmaster Tools verification file is added, and the site links to Facebook, Instagram and the Google Business Profile.

