Livefrom Neon · updated 19d ago

NewsLake

Bronze/Silver/Gold

A news lakehouse that runs itself. Every day, Airflow pulls fresh articles into object storage, Spark cleans and aggregates them through three medallion layers, dbt models the result, and everything below is read live from the warehouse — no static exports.

At a glance

What is in the lake

Counted straight from the warehouse at page build time — not a figure typed into the markup.

Articles

0

rows in fct_articles

Sources

0

distinct publishers

Topics

0

tracked categories

Days of history

0

grows once per run

What the world is talking about

Topics by volume

Every article carries one or more topic tags. Spark explodes those into a bridge table so a single article can count toward several topics at once — these are the busiest, ranked across all history.

01custom_search
121 sources287
02football
83 sources216
03sports
81 sources196
04soccer
46 sources154
05gaming
50 sources107
06sports betting
40 sources105
07baseball
45 sources103
08business
42 sources100
09world
50 sources100
10entertainment
39 sources98
11technology
41 sources89
12politics
37 sources84

Who is publishing

Most active sources

1,319 distinct publishers have appeared in the lake so far. Each gets a stable source_id derived from its name plus a hash — so publishers writing in non-Latin scripts stay distinct instead of collapsing together.

01

Yahoo Sports

yahoo_sports_be24346f

66
02

BBC

bbc_22586817

65
03

The Times of India

the_times_of_india_c308379d

47
04

The Guardian

the_guardian_5c46904f

42
05

Goal.com

goal_com_6cda118c

42
06

CBS Sports

cbs_sports_0bc91bd5

38
07

Yahoo

yahoo_db95f8b8

34
08

USA Today

usa_today_bfcadc0c

33
09

Sports Illustrated

sports_illustrated_7f9784c6

29
10

The Independent

the_independent_91e3555d

25

Straight from the warehouse

Latest articles

The most recent rows in fct_articles, queried live on page load. Titles link out to the original publisher.

Cricbuzz·19d ago

Amritsar Soormas vs Ludhiana Lions, Final, Sher-E-Punjab T20 League, 2026 Live Cricket Stream, live scores, ball-by-ball commentary, highlights, videos, news, and more in USA & Canada

• • Date & Time: Tomorrow , 7:00 PM LOCAL Match starts at Sep 13, 13:30 GMT Squads: Ludhiana Lions Squad: Abhijeet Garg, Bikramjeet Singh, Salil Arora(w/c), Taranveer Singh Randhawa, Krish Bhagat, Karteek Sharma, Madhav Singh Pathania, Rajvir Jaswal, Kartik Chadha, Jassinder Singh, Sahil Bhaskar, Gurman Singh, Asee

The Guardian·19d ago

USA survive Spain scare to set up Olympic final rematch with France at Fiba World Cup

The United States advanced to the Fiba Women’s Basketball World Cup final for the fifth consecutive time, pulling away in the fourth quarter to beat Spain 76-66 on Saturday in Berlin.Breanna Stewart scored 16...

The Verge·19d ago

StarCraft returns in 2030 as an open-world shooter

Terrence O'Brien is the Verge’s weekend editor. He’s covered the tech industry for over 18 years and knows a thing or two about synths.Blizzard originally tried to bring the StarCraft universe to the world of...

The Guardian·19d ago

USA survive Spain scare to set up Olympic final rematch with France at Fiba World Cup - The Guardian

The United States advanced to the Fiba Women’s Basketball World Cup final for the fifth consecutive time, pulling away in the fourth quarter to beat Spain 76-66 on Saturday in Berlin.Breanna Stewart scored 16...

CBS News·19d ago

Rocco Becht throws 3 TD passes, Benjamin Brahmer has 2 TDs to lift No. 16 Penn State past Temple

September 12, 2026 / 4:07 PM EDT / AP Add CBS News on Google Rocco Becht threw for 268 yards and three touchdowns, with...

Motorsport.com·19d ago

Two car chiefs ejected from Gateway after NASCAR Cup inspection failures - Motorsport.com

In pre-race inspection at WWT Raceway (Gateway), the No. 17 RFK Racing Ford of Chris Buescher and the No. 51 Rick Ware Racing Chevrolet of Cody Ware failed twice, resulting in some at-track...

UA.NEWS·19d ago

Charley Hull to open Europe’s singles matches at the Solheim Cup in the Netherlands

England’s Charley Hull will be the first to play for Team Europe in the singles matches on the final day of the Solheim Cup at Bernardus Golf in the Netherlands. European captain Anna Nordqvist has entrusted...

Holy Cross Athletics·19d ago

Football falls to FBS foe Miami in Ohio - Holy Cross Athletics

OXFORD, Ohio — The Holy Cross football team was defeated 45-7 by FBS foe Miami on Saturday afternoon at Yager Stadium. Junior wide receiver SirCharles Gordon made his return to his home state of Ohio for the...

gocrimson.com·19d ago

Men’s Soccer Rallies Late to Earn 2-2 Draw Against UConn - gocrimson.com

CAMBRIDGE, Mass. – Harvard men's soccer (1-2-1, 0-0-0 Ivy) rallied late to earn a 2-2 draw against a strong UConn side (3-3-2, 0-0-0 BIG EAST) on Saturday afternoon at Jordan Field. In a physical, back-and-forth contest, Dylan Tellado gave Harvard an early lead before Phoenix Wooten scored the equalizer in the 81st min

Межа. Новини України.·19d ago

Tesla Teases Possible October 2026 Debut for Second Generation Roadster

A cryptic graphic has revived hopes for Tesla’s long-delayed electric sports car, while an unusual propulsion system could make its return especially remarkable. The second-generation Tesla Roadster may be officially unveiled on October 1, 2026. The company posted a brief message on the social network X featuring the phrase “Prepare for launch” alongside a graphic […]

Gizmodo·19d ago

Anthropic CEO Dario Amodei Calls for Pause in AI Development, Sort Of

After yet another whirlwind week of AI developers making wild claims about how it could kill the entire human race, Anthropic CEO Dario Amodei has a pitch: Let’s slow this whole thing down a little. Amodei...

MarkerZone.com·19d ago

Maple Leafs sign Nick Blankenburg to PTO amid Chris Tanev injury uncertainty

The Toronto Maple Leafs signed defenseman Nick Blankenburg to a professional tryout.The Boston Globe's Kevin Paul Dupont broke the report, framing it as a direct response to Chris Tanev's recovery...

How it works

Four layers, once a day

Airflow runs the whole chain on a schedule — fetch, validate, transform, check, aggregate, load, model, test. If any step fails its quality gate, the run stops there rather than publishing bad data.

01Bronze

Raw ingestion

The article exactly as the API returned it, written to MinIO as JSON and partitioned by ingest time. Nothing is cleaned here — Bronze exists so any downstream bug can be replayed against the original response.

  • Python ingestion hits the listing endpoint, then enriches each article
  • Rate-limited to stay inside the free API's daily budget
  • Partitioned source / year / month / day / hour
02Silver

Cleaned & validated

PySpark flattens the nested JSON into a typed, article-grain table, drops rows that fail validation into a quarantine path, and deduplicates so a re-run can't double-count.

  • Rows missing an id, title, url or timestamp are quarantined, not silently dropped
  • Stable source_id = ASCII slug + hash, so non-Latin publishers stay distinct
  • Written as Snappy-compressed Parquet
03Gold

Aggregated metrics

Business-level rollups computed once, so the dashboard never pays for a full scan: daily article and source metrics, topic trends, and publishing activity.

  • Topics pre-exploded before counting distinct sources
  • Four aggregate tables, each rewritten per run
  • Independent quality checks gate the run before it proceeds
04Warehouse

Postgres + dbt

Spark lands article-grain data in a raw schema on Neon, then dbt builds staging, intermediate and mart models on top — with 22 tests that fail the run if the data is wrong.

  • Loader truncates rather than drops, so dependent dbt views survive
  • unique / not_null / relationships / accepted_values tests
  • The marts behind this page are the dbt output, read live

The other half

There is a cockpit behind this

This site is the public face of the lake. The operational side — watching a run execute, poking at raw files, checking a Parquet schema — lives in a companion Streamlit dashboard, also public.

It mirrors the same warehouse data shown above, plus a full walkthrough of every pipeline stage. Two panels below stay local-only by design: they reach MinIO and the Airflow API over Docker-internal hostnames that have no route from the public internet.

Live pipeline view

Local only

The Airflow DAG as an animated flow diagram, polling task states every few seconds — plus a button to trigger a run and the next scheduled run time.

Data Explorer

Local only

A read-only browser for every storage layer: raw Bronze JSON straight out of object storage, Silver and Gold Parquet with full schemas, and both Postgres schemas.