Independent MediaSome project information is withheld from public access under an NDA. Further details may be shared on personal inquiry.
Media · Investigative journalism
Investigations for readers. Tools for the newsroom.
Independent Media is an online publication focused on investigative journalism, fact-checking and analysis. We built the reader site and the editorial CMS: from the home page, articles and the investigations archive to a block-based article editor, a news calendar and newsroom analytics.
The project withstands powerful DDoS attacks and high load, staying available to readers and the newsroom.
For readers
Home page with the lead story of the day, opinion pieces and a news feed updated throughout the day
Investigation topics gather stories from different years on one subject; sections replace an endless feed
Search across all stories with section and date filters and an exact-match mode
Article and news pages with a Popular block, a view counter and share buttons
Morning brief and weekly digest by email — sign up with a single field
For editors
Articles, news, opinion and live blogs in one CMS
Stories built from blocks: text, photos and galleries, video, embeds, quotes, accordions and maps
Edit locks show who is working on a story, so edits never overwrite each other
Autosave and length counters for the headline and lead
Weekly news calendar: publications by day and free slots for scheduled stories
View analytics and author rankings for news, articles, opinion and live blogs
Infrastructure
Three servers run both the reader site and the newsroom CMS
Powerful DDoS attacks and high load — the site stays up for readers and the newsroom
1.7M visits a month with no slowdown
PHP on the back end, Next.js on the front end
Data in PostgreSQL, cache in Redis
How the publication works
The publication home page
independent media / the publication home page
The home page: opinion pieces, the lead story of the day and the news feed on one screen.
Stories
Article and investigation topic
independent media / article and investigation topic
A half-screen photo, section, headline, author and date. A bar below the header links to the investigation topic the article belongs to and shows how many stories it has. View count and share buttons on the right, “Popular” next to the text.
Stories
News story
independent media / news story
News uses the same grid as articles: section, headline, author, date and time. Source links in the text, “Popular” on the right.
Archive and navigation
Section page
independent media / section page
A large section title and story cards with photo, author and date. The side column holds the newsletter sign-up and fresh opinion; arrows in the header switch to neighbouring sections.
Archive and navigation
Investigation topic
independent media / investigation topic
Stories from different years on one subject are collected on a single page over the topic cover. Readers see the whole story, not a single piece.
Archive and navigation
Search
independent media / search
Search across all stories with section and date filters, relevance sorting and exact match. Results show cover, section, author and date.
Newsletter
Newsletter sign-up
independent media / newsletter sign-up
Readers choose the morning brief or the weekly digest and subscribe with a single field. A sample email shows what will arrive.
Editorial CMS
Newsroom analytics
independent media / newsroom analytics
Publication counts and views for news, articles, opinion and live blogs by week, month, half-year or all time, plus author rankings by output and views. CMS data in the screenshots is illustrative.
Editorial CMS
News calendar
independent media / news calendar
The week of the news feed by day: how many stories went out and how many views they got, with time, headline and author of each. Today is highlighted, and free slots can be used to schedule a story.
Editorial CMS
Article list
independent media / article list
A table with date, section, authors and views, search and filters. The “Locked?” column shows who is working on a story right now, so editors don’t overwrite each other.
Editorial CMS
Story settings
independent media / story settings
Status, publication date, headline and lead with character counters, section, authors and cover. While an editor works, the story stays locked to them and fields save automatically.
Editorial CMS
Stories built from blocks
independent media / stories built from blocks
An article is assembled from blocks: rich text, images, video, embeds, quotes, related stories, accordions and maps. Blocks can be reordered, switched off and placed in the text by code.
Editorial CMS
Accordion and map
independent media / accordion and map
The accordion tucks methodology and notes under headings. The Map block colors regions by a chosen scheme, takes a comment per region and imports data as JSON.
Editorial CMS
Map in a story
independent media / map in a story
How a map from the block looks in an article: title, colored regions and legend.