ProPublica: Data Migration & Publishing Automation

Built custom Craft CMS plugins for migrating 3,000+ pages of investigative journalism from Expression Engine with automated publishing schedules

At a Glance

  • 3,000+ pages - migrated from Expression Engine to Craft CMS across multiple content structures
  • Custom import plugin - with data cleanup, normalization, and extraction from dirty legacy data
  • Publications scheduling - a plugin enabling editors to schedule article auto-publishing

ProPublica needed years of investigative journalism, 3,000+ pages of messy Expression Engine data, migrated to Craft CMS without loss or corruption. We built a custom import plugin that cleaned, normalized, and deduplicated the content with a batching and queue system for the long-running migration, plus a publications-scheduling plugin so editors can set articles to auto-publish.

Client's case studies

Interested in Similar Work?

If you're looking for similar solutions or want to discuss your project, I'd be happy to help.

Implemented solutions:

Used technologies: