The Station
The monthly O&G teaching newsletter I run for my department. Meeting transcripts go in one end, a clean HTML email comes out the other.
Our teaching sessions happened, taught the people in the room, and then evaporated. I wanted a way to capture them that didn't mean spending a weekend each month copy-pasting. So I built the pipeline that does it.
What it is
The Station is a monthly educational newsletter for the obstetrics and gynaecology department at Oxford. CTG teaching, journal clubs, guideline sessions — the things we cover in the room each month, written up so people who missed them still get the gist.
It goes out as a styled HTML email. The point was never to make it fancy. It was to make the teaching outlast the hour it happened in.
What I built
Not really a website — a small pipeline that turns the raw material of our meetings into a finished newsletter without me writing each one from scratch.
- A custom Claude skill that takes our MS Teams meeting transcripts and distils each one into the right section — CTG, gynae journal club, guideline, obstetrics journal club
- A structured JSON file that holds the whole edition: every section, the schedule, image references, a historical medical fact tied to the month's theme
- A Python script that renders that JSON into a branded HTML email, the same layout every time
- A monthly rhythm: paste the transcripts, approve each section as it's drafted, pick the historical fact, add next month's schedule, generate
Why I built it myself
Departmental teaching has a quiet problem: it only ever reaches the people who were free that afternoon. Everyone on a night shift, on leave, or in theatre misses it entirely. Good teaching, gone.
A newsletter fixes that — but only if making it is quick. A newsletter that takes a weekend a month to assemble doesn't survive contact with a busy rota. So the real task wasn't writing one issue. It was building something that made every future issue cheap.
I also just wanted the transcripts to do the heavy lifting. The teaching has already happened by the time I sit down. The pipeline's job is to stop me rewriting it.
Stack
A custom Claude skill for the content, a Python script for the rendering, and a JSON schema in between that keeps the two honest.
The structure matters more than the tools. Transcripts in, structured JSON in the middle, HTML email out. Splitting it that way means the writing and the formatting never get tangled, and any edition can be regenerated from its JSON months later without me remembering how it was built.
What I learned
The first instinct was to have Claude generate the HTML directly, in one step. It would have worked. But locking the layout into a Python script meant every edition comes out looking identical, and I stopped having to think about formatting at all. Boring and consistent beat clever and variable.
The harder lesson was about scope. Real months are messy — a journal club gets cancelled, a CTG slot gets swapped for an AI session. The early version assumed every section would always be there. Making it handle the gaps gracefully, skipping empty sections instead of breaking, was most of the actual work.
It ended up being more than a newsletter to me. I submitted The Station to OXSFOG as an educational innovation, because that's genuinely what it is — a small, repeatable way to make teaching reach further than the room it happened in.
Think a pipeline like this would help your department?
The Station turns meeting transcripts into a monthly newsletter. If your teaching disappears after the session and you'd actually use something like this, I'm happy to talk it through.
Get in touch