Anthony Power

Senior PHP web developer.

Drupal has been at the center of much of my work, from custom applications and integrations to long-running platforms and reusable products. I bring deep hands-on experience to the full life of the work, from understanding the problem and making technical decisions to writing the code and supporting what ships.

What I do

What I bring to a team

Architecture and system design

I design the shape of the system before I build it: data models, service boundaries, integrations, security, and the supporting cache, queue, and locking patterns where needed.

Drupal, in depth

I have worked with Drupal since version 5, with deep custom module development from Drupal 7 onward. My experience includes custom modules, entities and plugins, Webform, Views, Search API, Migrate API, OAuth and SSO, REST integrations, and Twig, with Drupal 10 in production and Drupal 11 in current development work.

Technical lead

I plan and estimate work, establish technical patterns, review code, and mentor developers while continuing to build the difficult parts myself and support what reaches production.

Full-cycle delivery

I work from the initial customer problem through requirements, scope, estimation, development, release, and production support. I have delivered projects in both waterfall and agile environments.

Migration and modernization

I have moved systems across every Drupal major version since 5, migrated large content libraries from HubSpot and WordPress into Drupal, and helped move an entire customer base from an owned data center into AWS.

Infrastructure and DevOps

I plan hosting topologies, run production environments, and build repeatable deployment and rollback processes. I have also managed Cloudflare, handled production incidents, and worked with infrastructure specialists on server build-out.

Current toolkit

What I work in now

Language and framework
PHP 8 · Object-oriented PHP · Symfony components · Composer
Drupal
Drupal 10 · Drupal 11 development · Custom modules · Entities and plugins · Render and Form API · Hooks and events · Drush
Data and search
MySQL · Search API · Facets · Migrate API · Views
Integration
REST and JSON APIs · OAuth 2.0 and SSO · Webform · Third-party and CRM APIs
Frontend
Twig · Sass · JavaScript · Drupal behaviors · Responsive design · Accessible markup
Infrastructure, delivery and tooling
AWS · Cloudflare · Docker and DDEV · Git · Linux and Bash · Performance profiling · Waterfall and agile delivery · Jira and Confluence

Also worked withApache Solr · WordPress · Moodle · HubSpot · Shopify · Google Analytics · Chart.js

Selected case studies

The work, told through the problems it solved

01

Organization Directory and Geographic Search

A geographic organization directory that supported everything from single-location organizations to hundreds of locations and broader service areas.

Read case study
02

Connected Community and Learning

An in-development integration designed to make courses feel like part of the community while keeping the learning platform as a separate system.

Read case study
03

Multi-Source Content Migration

A staged migration that consolidated years of content from HubSpot and WordPress into one Drupal site while one source continued publishing.

Read case study
04

Membership and Dues Management

A flexible membership system supporting different renewal schedules, dues rules, plan changes, payment handling, and staff support.

Read case study
05

Fundraising and Donor Management

A flexible fundraising system that let staff shape campaign forms themselves while supporting one-time and recurring gifts, donor information, receipts, and giving history.

Read case study
06

Member Referrals and Recognition

A guided referral journey that tracked introductions, prompted follow-up, and rewarded meaningful participation through Activity Points.

Read case study

Career progression

How my role evolved

I started as a developer working across the stack and gradually took on more responsibility for architecture, estimation, technical direction, mentoring, and production systems. The scope of my role changed over time, but writing software remained at the center of it.

2006–2008

Developer

Learning the full stack through real client work

I started as one of two developers, working directly with clients as well as with the code. I helped estimate projects, took part in technical decisions, and built features across the database, PHP backend, and browser. That early exposure taught me to think about the customer problem and the implementation together.

What expanded

  • Drupal 5
  • Drupal site building
  • Custom modules & themes
  • Form API & hooks
  • PHP & MySQL
  • JavaScript & AJAX
  • HTML & CSS
  • LAMP stack
  • SOAP, XML & CRM integration

How I put them to work

  • International nonprofit operations: I built the website and employee portal for an Indianapolis nonprofit with over 150 staff across more than 80 countries, covering donation reporting and a volunteer application process. I also wrote an offline-capable interest form that ran on a local XAMPP stack and synchronized with their eTapestry CRM once connectivity came back.
  • Manufacturing inventory: I translated a paper-based parts process into a browser application with barcode scanning, permission-aware workflows, and more reliable inventory visibility.

2008–2011

Senior Developer · Technical Lead

Turning Drupal into a business platform

As Drupal became central to our work, I moved into technical leadership. I helped shape how projects were structured, broke requirements into estimable work, and used Drupal’s content model and extension system to solve operational problems rather than just publish pages. I was still building the features myself while taking more responsibility for how the overall solution fit together.

What expanded

  • Drupal 6
  • Views & content types
  • Multisite architecture
  • Drupal migrations
  • CSV imports
  • Linux & Bash
  • Waterfall delivery

How I put them to work

  • Bank employee portal: I helped turn Drupal 6 into an authenticated employee platform for a state-wide Florida bank, with a document library, an FAQ section, personalized dashboards, and a basic employee CRM tracking demographics and work location across every branch.
  • The start of a product: I helped shape the early architecture that let our small team reuse installation, module, and theme patterns across client projects instead of starting over every time.

2011–2015

Senior Developer · Technical Lead

Building reusable payment and membership systems

Drupal 7 marked a shift toward deeper custom application development. I began turning repeated client needs into reusable modules and products, while continuing to build the major features myself. My role also expanded into system design, task planning, code review, and helping less experienced developers work through unfamiliar technical problems.

What expanded

  • Drupal 7
  • Drupal Commerce
  • Advanced custom module development
  • Custom entities & Field API
  • Search API & Apache Solr
  • Payment integrations
  • Recurring transactions
  • Membership management
  • System design
  • Git & Bitbucket
  • Mentorship & code review

How I put them to work

  • Fundraising: I built the donation platform for a US missions organization supporting more than 160 missionaries and over 15,000 donors. Network Merchants had no subscription support at the time, so I wrote our own recurring schedule system on top of Drupal Commerce. It became the foundation for years of later client work.
  • Membership management: I built a member portal for a medical society collecting annual dues from more than 3,000 members, with self-service management, offline payment recording, past-due collection and forgiveness, and event registration gated on membership. It synchronized with their CRM over SOAP and ran for more than ten years.
  • Production systems: I helped plan and configure our own data center: Linux servers, load balancers, and a shared NAS as a distributed filesystem. I planned the topologies for availability and redundancy, worked with contractors on setup, then handled day-to-day changes and urgent production support.

2015–2020

Lead Developer · Solution Architect

Scaling applications and production systems

The systems became larger, more connected, and more operationally demanding. I took broader responsibility for architecture across reporting platforms, integrations, cloud infrastructure, and long-running production applications, while continuing to write core application code. I also helped a distributed development team break down, review, and deliver increasingly complex work.

What expanded

  • Drupal 8
  • Object-oriented PHP
  • Symfony components
  • Services & dependency injection
  • Twig & Sass theming
  • REST & JSON APIs
  • AWS architecture
  • Shopify APIs & GraphQL
  • Agile & Scrum

How I put them to work

  • Financial reporting: I helped maintain and extend a reporting portal for an Atlanta correspondent bank that served more than 100 banks every week for seven years. Customers uploaded Excel files that we mapped to database tables and processed into bond accounting, borrowing and SWAP reports, alongside a set of accounts-receivable conversion calculators.
  • Donor portal and pledge drives: I developed a donor portal and pledge-drive management system handling one-time, recurring and pledge gifts, with administrative dashboards and CRM and payment integrations. It served more than 2,000 donors a year and processed over $1 million in donations.
  • Guided selection: I built a wizard for a manufacturing parts supplier that walked customers to the right part through a series of questions, preserving state and validating complex choices without exposing the complexity behind it.
  • Shopify integration: I synchronized data through Shopify APIs and GraphQL, then used its JavaScript API to assemble carts and hand users into checkout.
  • Cloud migration and operations: I built and maintained an Elastic Beanstalk environment that scaled up through pledge-drive peaks and back down afterwards, then planned and carried out the move of every customer off our own data center and into AWS, across EC2, VPCs, EBS, EFS and RDS, improving estimated availability from roughly 98% to about 99.9%. I designed the topologies for availability and redundancy and ran day-to-day operations, including Ubuntu, Apache and MySQL changes and incident response, with contractors doing the server build-out itself.

2020–Present

Lead Developer · Solution Architect

Building a reusable Drupal product platform

My focus shifted from solving similar problems project by project to building a configurable Drupal platform those projects could share. I designed the architecture and remained the primary implementer for many of its hardest features, including shared modules, integrations, payments, membership, search, and access systems. I also continued guiding technical decisions and reviewing the work built around that foundation.

What expanded

  • Drupal 9 & 10
  • PHP 8
  • Entities, plugins & design patterns
  • Search API, Facets & Views
  • Drupal Migrate API
  • OAuth 2.0 & SSO
  • Open Social & Opigno
  • Moodle integration
  • Cache, queue & lock APIs

How I put them to work

  • Multi-source migration: I was both the solution architect and the developer on a migration that pulled a large content library out of HubSpot and WordPress into a single Drupal blog, writing the custom source and process plugins for both sources, and a custom destination plugin for the author migration. The site is a Drupal publishing platform serving roughly 1 million pageviews per month for a Cincinnati nonprofit, and my work there continued through application development and ongoing production support, including the custom views behind a daily blog that surfaces articles by day of the year.
  • Community and learning: We customized Open Social into our own distribution to run an online mental health community, with dashboards, daily check-ins, and custom SSO into Moodle. Later generations moved the learning side onto Opigno.
  • Membership and payments, next generation: For a business-networking group across the Midwest and South, I designed a shared payment service on Authorize.Net that moved us off Drupal Commerce and gave membership, fundraising, and other product features one payment foundation. It let us build Webforms that take payment, and I added referral tracking with points-based recognition. That community ran for six years.
  • Shared modules: I built the search, payments, membership and access modules that every customer deployment shares, using config entities and plugins so a customer could change their rules without anyone forking the code.
  • Cloudflare: I moved our clients onto Cloudflare for DNS, SSL certificates, bot mitigation and DDoS protection.

Let’s talk

Let’s talk about the work.

I’m looking for a senior PHP and Drupal role where I can keep building while helping the team make good technical decisions, plan the work, and review what we ship.

Connect with me on LinkedIn ↗