
UI Design & Front-End Web Development
SKILLS
CMS
Wordpress (Themeco/Cornerstone), Wordfly, TNEW/Tessitura, UMBRACO
Prototyping
Figma, Figma Make, Adobe Creative Suite, Canva
Front-End Dev
Advanced Custom Fields (ACF), HTML5, CSS, JavaScript, PHP, JQuery
Case Study: Automating a Symphony's Season — From Manual Updates to a Living System
For years, the BSO website was updated manually Every landing page was built and rebuilt every time something changed or a new season launched. The previous web manager had tried WordPress's native events plugin, but it couldn't connect to our ticketing system and had limited custom design capabilities so that was a dead end. After that, the team just kept manually updating pages one by one. There was so much day-to-day upkeep that no one had time to step back and find a better way.
When I stepped into my new role as UX/UI & Digital Production Designer, I began experimenting with Advanced Custom Fields, and I built a custom concert post type. Every concert is one entry with its own fields: date, venue, category, ticket link, program notes etc. Cornerstone's Dynamic Content Looper pulls that entry into any page that needs it, and css classes allow it to be styled automatically by category. Update a concert once, and it updates everywhere it appears homepage, collection pages, subscription pages, series landing pages, and more. No more hunting across a dozen pages for one change.
Below are three places you can see that shift, each moving through the same three stages: the original site, my early redesign, and the current version, running on the dynamic content system.
SummerFest
The 2022 version had every concert hardcoded into the page itself. My 2025 redesign improved the visual design but was still updated manually, concert by concert. The current version (bsomusic.org/summerfest) pulls every SummerFest concert from a single entry, sorted automatically by date, styled by category. Ticket links update as availability changes, so there's no more linking to a sold-out or past show which would previously show up as a 404 error, but now goes to an info page about the concert and a CTA encouraging the user to check out other upcoming concerts.
Homepage
The homepage originally ran a slider of flat image slides for upcoming concerts, updated manually every time a concert passed. In 2025, I rebuilt it as real page content instead of images, which also improved SEO since search engines could finally read the concert details. The current version replaced the slider with a looper-driven list of concert blocks that updates itself as concerts are added, change, or pass. No more uploading a new slide by hand every time a concert passes.
Full System in Action: Passport
Passport runs on the same underlying system as SummerFest and the homepage: same custom fields, same looper. It's the clearest example of how far one system can stretch without rebuilding anything.
-
Sorts automatically by discount category, based on tags set in the custom post type
-
Past concerts drop to the bottom and link to an info page instead of a dead ticketing link
-
Powers a second view, "Browse Concerts," sorted by date instead of discount, with more detail per concert (same entries, no duplicated content)
-
Styling is applied automatically by dynamic category (e.g. Classical vs. Popular)
Going Forward
Building this system took time up front, but it's already paying that time back. Concerts that used to require updates across 4-5 pages now take one entry to update everywhere. What used to take 10-15 hours per week of manual updates and new content builds every time the season changes now takes 1-2 hours per week. Less time on manual data entry means more time to focus on what actually matters: improving the UI/UX, refining the user journey, and making the site easier and more enjoyable for patrons to move through.
That's the direction I want to keep pushing this work: building tools that support a better, more thoughtful experience for our patrons, without losing time to the manual work behind the scenes.


Web Design & Lofi Prototyping
Subscriptions



Education

Donations & Membership







