Duke Endowment
An old site gets new life on a modern, flexible CMS
A custom import module easily allows hundreds of grants to be imported from a third-party system so visitors can browse using a custom filter.
Services Provided
- Craft CMS development
- Custom query and reporting work
- Responsive front-end development
- Ongoing support
- Hosting and server admin

The Project
The Duke Endowment had a vast site built on an old version of Drupal that was inflexible in its setup, poor in its SEO, and visually showing its age.
The Endowment wanted a more modern design to tell their stories, as well as more control over the design and layout of internal pages. Also required was a method to ingest and display hundreds of grant records managed in an external system.
Solutions
Working with a marketing agency, we rebuilt the site on a more modern, flexible CMS (Craft CMS) that allows content editors to mix and match "content blocks" when adding and editing content.
We used a lightweight CSS framework (Tailwind CSS) that allowed us to quickly build the site from the supplied designs, and rapidly make changes as the site went through numerous rounds of revisions.
After carefully thinking through how to integrate with the third-party grants database, it was decided to build a custom import module (as opposed to using an available API or relying on manual re-entry of grant information). We were able to add an area in the CMS control panel where content editors can import the grant information, with no duplication of effort.
With our attention to optimization, we were able to test the newly launched site on Google PageSpeed and see scores ~98%.

Give us a shout!
See how easy it can be to have a website that empowers you to be your best.
Let's Get Started!