RSSAmplifier

Blog

Medium Engineering - Medium

Stories from the team building Medium. - Medium

medium.engineeringRSS feed ↗10 posts

Latest posts

How we built the new Table of Contents feature

How a feature goes from idea to prototype to shipped For years, there’s been this really popular Chrome extension for adding a table of contents to your Medium stories. Props to Vinicius De Antoni for writing a popular chrome extension all those years go. The extension was so popular, we even wrote about it in our Medium Handbook. How to make a table of contents for your Medium story The fact that…

Outcomes we want to see from AI at Medium Engineering

This was originally written and published by Christophe Spy (Director of Engineering, Medium) as an internal Medium Eng post. Desired outcomes (what “good” looks like) 🙏🏻 These are the kinds of changes we want to see if AI is going well at Medium. Less drudgery, more leverage Engineers use AI to remove repetitive, low‑leverage work (e.g. tedious refactors, boilerplate, large test suites), not…

How we improved image download sizes on Medium with just four characters

HTML images just got better, with the subtlest change to your codebase Photo by Adi Suyatno I know what you’re thinking. Scott, I landed on Medium on a small but not mobile-small display and the download chunk related to images in my home feed was like 7% smaller. First of all, thank you for noticing. Second, what if I told you that you too can improve your total asset download size by adding just…

Making AI Write Android Code Our Way: A Practical Guide to Agent Skills

Generated by DALL-E Turning knowledge into reusable AI agent instructions for a small, fast-moving team. We're a small Android team at Medium, just a handful of engineers maintaining and evolving the Medium Android app. Our codebase follows Clean Architecture with Kotlin, Jetpack Compose, Hilt, Apollo GraphQL, and a growing number of feature modules. Like most Android teams, we have strong…

We’re Hiring a Principal Backend Engineer to Shape the Future of Medium

When I joined Medium , it was because I still believe in the internet as a place for ideas. Not noise, not outrage, but content that connects people through shared curiosity. Medium’s mission is to deepen understanding and spread ideas that matter. We’re building the best place for reading and writing online: A space that rewards clarity, authenticity, and craft over clickbait and engagement…

Medium Android App — Migrating from Apollo Kotlin 3 to 4: Lessons Learned

Photo by Mario Verduzco on Unsplash Medium Android App — Migrating from Apollo Kotlin 3 to 4: Lessons Learned In this post, I’ll share my experience migrating the Medium Android app from Apollo Kotlin version 3 to version 4, including the challenges I encountered and how I solved them to improve our GraphQL implementation. Understanding Our Apollo Cache Implementation Before diving into the…

Engineering stories behind the Medium Daily Digest Algorithm: Part 2

How we made our filtering 10x cheaper by removing our Bloom Filters Bloom Filters are great tools to make fast and cheap filtering. They also come with plenty of problems and can easily get expensive and cumbersome. We switched to user-based direct database queries, which made our filtering cheaper and easy to maintain. Here’s the full breakdown of that migration. Intro : This is a 4-part series…

Engineering stories behind the Medium Daily Digest Algorithm: Part 1

How we made our email story recommendations better In this Part 1, you’ll understand how we improved one of the main ways our users are exposed to our product and how that led to a massive 7% increase on the average reading time for the digest users. Intro : This is a 4-part series breaking down improvements to the algorithm behind the Medium’s Daily Digest over the past year. When we started this…

Engineering stories behind the Medium Daily Digest Algorithm: Part 4

Cross-Digest diversification In this part 4, we’ll see how we went from investigating a few complaints from digest power users to improving our digest recommendations across the board. Intro : This is a 4-part series breaking down improvements to the algorithm behind the Medium’s Daily Digest over the past year. When we started this work, the Digest was suboptimal — and since it’s a huge…

Engineering stories behind the Medium Daily Digest Algorithm: Part 3

Hard vs Soft Filtering and how this applies to Medium’s Recommendation System In this part 3 we’ll see how we modified one of our hard filtering rules and attempted to turn it into a machine learning based “soft filter”. Intro : This is a 4-part series breaking down improvements to the algorithm behind the Medium’s Daily Digest over the past year. When we started this work, the Digest was…