Web Development Portfolio
Bates Campus Tour (2021)
Technologies used: Vue.js, WordPress
This single-page-application uses WordPress’ custom-post-types and custom editor blocks to create Locations for a tour of the buildings and features of the Bates campus. Vue.js powers the app. SEO (search engine optimization) is handled by dynamically rewriting the urls into actual WordPress permalinks as the app is navigated. When those permalinks are visited directly, they are redirected to the app with instructions to open a specific location.
Various API Integrations
Technologies used: Python, Gitlab CI
I’ve used to Python to create a number of api integrations for products such as MailChimp, CampusGroups, EMS, EMS/MasterCalendar, ActiveCampaign. Generally, gitlab ci is used as a scheduled job runner.
BatesConnect (2020-21)
Technologies used: WordPress
Using WordPress as a CMS, worked with college partners to develop their vision for sharing student presentations/videos/etc with K-12 teachers in the local public schools. Among other things, this work involved setting up custom taxonomy filters, and an oauth login system that could be used by both the public schools and the BatesConnect administrators.
Bates.edu WordPress Site
Since 2014 I’ve had the primary responsibility for development and much of the design that happens on the site.
Block Editor
- Many brand new blocks for our campus writers to use.
- Shortcode to block conversions.
- One of the more interesting specific blocks is a method to quickly build customizable “Summaries” from other, previously published posts, in use in targeted RSS-feeds for consumption in a weekly MailChimp campaign.
General Plugin/Theme Work
- Wrote GravityForms extension plugin to transmit submitted form data to PivotalTracker (project management tool) via their API.
- Wrote nearly 100 plugins, varying in scope from addressing a very targeted need for a department to large institution-wide applications
- Upgrading jQuery to vanilla javascript wherever possible
Homepage redesign (2016)
I developed the current (as of Fall 2016) frontpage for Bates.edu. I developed the WordPress/Instagram integrations as well as the css/js animations. I was also co-designer, having a particularly strong voice in the look/feel of the top section.
General Remodel (2014)
- Wrote over 4000 lines of css to achieve the team’s vision for what the site should look and feel like. Developed and coded all the interactions with css and javascript.
DiverseBookFinder.org (2018-2019)
Technologies Used: Solr Search Engine, WordPress
Awards: American Association for School Librarians 2021 Best Digital Tool
A one-of-a-kind search engine for diverse children’s picture books, focusing on aspects of the books which are often not findable using a traditional library search. This is built as a WordPress site with a custom plugin to manage the application and an off-the-shelf framework theme. My work was mainly the plugin which integrates a number of services: WordPress-managed data, a iii library catalog, the Google Books API, and a Solr search engine.
I also created a child theme based on the Tiny Framework parent theme, but with a number of customizations to surface book meta data in various ways. Also developed the custom homepage and made it completely customizable. Minimal reliance on 3rd-party WordPress plugins.
- Created a plugin which supports a multi-faceted searchable book interface and thousands of books. Highlights include:
- CSV upload
- MARC record importer/parser
- Automatic import of Marc records using only ISBN
- Heavy use of WordPress Customizer for client page features
- Interface with a Solr search engine
- Created child theme to help surface data better
SomaFM Remixed (ongoing personal project)
Technologies Used: Vue.js
- Create an alternative interface for the popular internet radio
Bates Campus Map
Technologies Used: Vue.js (and then updated and fully rewritten again in 2022 to use React)
- Rewrote original application which was originally written in jQuery in 2014.
- Added administration section to customize/edit map features
Jake Paris’ Fine Art
Technologies Used: WordPress, OpenSeaDragon
- Developed theme and plugin integration to best display artwork
Bates Fund Leaderboard (2018)
Technologies Used: Vue.js, Slim Application Framework, WordPress
An interesting project which consisted of working with people from across the stakeholder-spectrum from data analysts to alumni communications specialists. The purpose of the project is to show near real-time giving levels of Alumni, including participation and dollar goals, and other pertinent information.
- Designed and engineered a Vue.js application within a WordPress plugin
- Created an API to make institutional data available for consumption by the Vue app.
Bates Directory (2018-19)
Technologies Used: Vue.js, Slim Application Framework, WordPress
- Designed and engineered a Vue.js application within a WordPress plugin
- Created an API to make directory data available by the Vue.js app.
- Includes two levels of data access (authenticated and non-authenticated endpoints).
Post and Print Shipping Form Creator (work in progress)
Technologies Used: Vue.js
A simple application written only in Vue.js to make it easier for the college’s shipping department to collect shipping information from students and staff.
Free Grace Presbyterian Church (2018)
WordPress theme design and implementation. Used and expanded my Sermon Management plugin to work with the ESV API.
Montserrat College Campus Map (2017)
Worked with another designer to implement a GoogleMaps-powered campus map. It was inspired by the Bates College Campus Map.
Quad / Bates Today: Bates College Internal Communications Sites (2016)
Working from a flat design, I coded the experience of this site, building each module from an extensible javascript prototype of my own creation. The page also changes experience on smaller width screens, becoming more a little more app-like in the interaction.
I built this site before I had even heard of javascript frameworks like Vue or React. I solved a lot of issues using my own very basic data-driven javascript templating setup.
Bates College Homepage (2016)
I developed the current (as of Fall 2016) home page for Bates.edu. I developed the WordPress/Instagram integrations as well as the css/js animations. I was also co-designer, having a particularly strong voice in the look/feel of the top section.
- Wrote a technical post about how the animated angular top sections were accomplished.
Simple Digital Archives (2013-14)
- Lewiston Public Library Photo Archives (Lewiston History Database)
- McArthur Public Library Newspaper Archives
This is a homemade Apache/Mysql/Php application created as a solution to indexing historical photos/articles. The archives.lplonline.org implementation houses some 60,000 records as of the time of this writing, many of which are scanned history slides of the Lewiston/Auburn, Maine area. The app optionally incorporates user commentary on the photos as a kind of community-building/metadata-crowdsourcing aside.
Lewiston Public Library (2013)
I developed this new site to better promote and represent my library within the community. This was my first time working with responsive design. It organizes the information about and the promotions of the library in an understandable and intuitive way. Many features integrate the library catalog with the website, something I believe most library users expect, and rarely receive.
Town of Cumberland, Maine (2010)
Two sites created in WordPress.org with additional customized event manager. As part of the project, I migrated nearly 800 pages of static html content into WordPress. Note: site has since migrated to another platform/design.