Data-Driven Publishing Platform
A publishing platform for running several websites from structured source data. It handles imports, page generation, scheduled updates and search monitoring through one administration panel. Four domains are live; getting traffic to them remains the unfinished part.
About Data-Driven Publishing Platform
I built this to run several websites that publish useful information from structured data. Each site has its own sources, templates and publishing rules, with one shared application handling the recurring work.
The project includes sites around vehicle recalls, software pricing and alternatives, public procurement and crypto risk information. Those subjects need different pages and different checks. A software price needs supporting evidence and a recent check; a recall page needs the correct vehicle and campaign records.
The platform imports source records, keeps the original snapshots and turns the data into entities and facts that the public pages can use. Source history matters here: when something changes or looks wrong, I want to be able to trace it back to the record it came from.
Publishing has its own controls. Pages can wait for review, fail completeness or freshness checks, or remain excluded from indexing. New pages can be introduced gradually through daily limits. Existing pages also need handling when their sources disappear, their information expires or the page should be retired.
Generated summaries use the collected facts, with checks on their sources, numbers and claims before publication. There is also a Python embedding service for grouping related keywords into batches for review.
The application is built with Laravel and PHP, with Filament and Livewire for administration, MySQL for storage and Redis for queued work. The dashboard brings together sources, import runs, pages, failures and publishing controls.
Google Search Console, Bing Webmaster Tools and Umami integrations provide search and usage data. IndexNow notifications and sitemap updates follow changes to published content.
Four domains are live. They have not picked up traffic yet. That is where the project stands: the publishing system works, while the search results remain unproven.
I also built a Go version of the platform, with PostgreSQL, a separate administration interface and static public sites built with Astro. That version has never launched; the live sites use this Laravel application.


















