I'm JD Leonard, a freelance Drupal development consultant in Austin, Texas. I live in central Austin in Travis county. I provide services globally either directly (W-2) or through my firm, Modern Biz Consulting LLC (1099).
I'm an expert Drupal web developer and Drupal technical architect who focuses on the planning and development of complex web applications. I'm in an ideal position to build your next web application because I have:
- Formal training - a computer science degree from Rice University
- Drupal experience - I've been building sites with Drupal since 2006
- Business acumen - I'll help you make decisions that positively impact your business
- Project management and planning skills - I previously worked for Microsoft as a Program Manager in Redmond
- A knack for planning and developing complex systems that last
Send me an email to discuss your project.
Specialties
With over 18 years of Drupal experience, I am a generalist Drupaler, but some areas for which I have in-depth experience include:
- Information architecture design
- Complex web applications e.g. mywater.veolia.us, GilderLehrman.org, and UMDearborn.edu
- Low code Drupal 10 and Drupal 11 site building
- Custom Drupal module development and upgrades
- Functional specifications
- Search engine optimization (SEO)
- Custom integrations including use of third party APIs (e.g. Salesforce, FormAssembly, Facebook, Sendgrid, Twilio, and line of business applications including vie middleware such as Mulesoft Anypoint)
- Drupal major version upgrades
- Data migration including Drupal 7 to Drupal 10 / Drupal 11 using Drupal's Migrate API
- Business process / workflow development (including digitization of paper processes)
- Membership management
- Document management
- Best practices for deployment workflows, patch management, Composer, CI/CD, and other DevOps processes
- Page load / performance optimization
- Single sign-on (SSO) integrations including using the simpleSAMLphp Authentication or SAML Authentication Drupal modules
- Custom views handler/plugin development
- Database design
- Drupal training and coaching
- User experience (UX) design
- Object oriented programming (OOP)
- Google Workspace (GSuite) administration
- Jira administration and custom workflow implementation
- Fractional CTO
- Clear and concise written and oral communication
- Directing and supporting distributed and/or offshore development teams
Technologies
Drupal is the workhorse behind the sites I develop. It's a versatile framework and content management system that can do almost anything you can imagine - as long as you have a good plan and a great Drupal developer. Read more at Drupal.org about Drupal.
I am intimately familiar with Drupal 5, Drupal 6, Drupal 7, Drupal 8, Drupal 9, Drupal 10, and Drupal 11 as well as critical technologies that enable your Drupal web application to perform well, such as:
- PHP
- MySQL or MariaDB
- Memcache or Redis object caches
- Git (including cloud repositories on GitHub, GitLab, and Bitbucket) for source control management
- Reverse proxy caches such as Varnish and Nginx
- CDNs such as Pantheon's Global CDN and Cloudflare CDN
- Apache Solr (inc. OpenSolr and SearchStax Cloud) and Drupal's Search API ecosystem of modules
- Drupal-optimized hosting such as Pantheon and Acquia Cloud Platform (both Acquia Cloud Classic and Acquia Cloud Next)
- Email service providers such as Sendgrid and Mailchimp's Mandrill
- Javascript, jQuery, CSS, and Sass (but I am not a frontend expert)
- DDEV or Lando for local development
- GitHub Actions, CodeShip, and GitLab CI/CD for continuous integration/delivery/deployment
- GitHub Pages for hosting static sites (e.g. site archives)
- Google Analytics and Google Tag Manager
Working with JD
From my home office in Austin, Texas, I meet the needs of clients including tech startups, universities, non-profits, businesses of all sizes, and creative agencies. I'm extremely flexible and will make sure your website has an excellent foundation for future development, whether it be with me or another professional. I generally work remotely, but I am open to in-person engagements.
I work exclusively on an hourly basis. This provides you with the most flexibility and best value.
Why Hourly?
In an ideal world, you know exactly what you want and that doesn't change. Realistically, requirements change frequently (or aren't well defined to begin with); as your web application takes shape, you realize that feature X isn't as important as you initially thought, and feature Y is suddenly a must-have.
Fixed price contracts create a negative dynamic between client and consultant because, at some point, the consultant has to say no to stay on budget, to the detriment of the project. Working hourly affords you the opportunity to change your mind when needed without the unnecessary overhead and awkward back-and-forth of renegotiating the contract.
Much of the value of Drupal comes from its default functionality and behavior, which makes it relatively easy to build a complex website without spending a ton of time. Of course, you won't always want that default functionality. Fortunately, Drupal is infinitely customizable; it can do exactly what you want. However, customization takes time and time is money. I strive to help you efficiently prioritize the customizations you really need to save you time and money. This is easiest on an hourly basis because I can quickly estimate the time it takes to complete a task without the overhead of a formal, budget-altering change request process.
Think of me as a raw efficient resource at your disposal for your planning, technical architecture, and/or development needs. I work great in an agile environment and I'm more than happy to work with you, your team, other vendors, and your changing requirements!
I track my time to the minute. The clock is on when I'm doing work for you; it's off when my attention is elsewhere. I strive to only do work that is useful to you. I typically invoice every two weeks.
Pricing
I provide consulting and development services to clients who expect the highest quality and most efficient work. You get what you pay for. If you're looking for bargain basement pricing and shoddy quality, please look elsewhere!
- Extremely flexible resource
- Directed independently or by you
- Exceptional communication
- Billed by the minute
- Extremely flexible resource
- Directed independently or by you
- Exceptional communication
- Billed by the minute
The difference in price between my W-2 and 1099 (contractor) rates approximates the difference in employer payroll taxes between the two options.
Lower Pricing & Additional Resources
While I work exclusively at my published rates, I realize that my rates are not within reach for every client and that my skillset may not be exactly what you need. I am happy to help you find the most appropriate resource; just shoot me an email with a description of what you need and I can put you in touch with my "guild" of Drupal professionals, which can help you find the right fit within a matter of days.
Drupal Community
I proudly support Drupal through my paid membership in the Drupal Association, past sponsorship of the Bay Area Drupal Camp, and participation in the Bay Area, New York City, Austin, and greater Drupal communities. I appreciate the opportunity to contribute code back to the Drupal project and I encourage my clients to permit me to do so whenever it would be valuable to the community. I contribute bug reports and patches to the issues queues on Drupal.org to make Drupal and Drupal modules better for everyone and I have made many educational presentations. I was an Organizer of DrupalCampNYC 2020 and Lead Organizer of the monthly Drupal NYC meetup and of DrupalCampNYC 2021. I was a Director and Secretary of the nonprofit DrupalNYC Incorporated.
Some of the presentations I have given include:
- Cooking with Drupal 11 Recipes for Membership Organizations
- October 24, 2024 at BADCamp 2024 (video, description, slides - Google)
- AMA: Migrating 1m entities from D7 to D9 using Drush and Migrate API
- July 7, 2021 at the DrupalNYC Meetup (video, description, slides - PDF, slides - Google)
- Automatically Build and Deploy from GitHub to Pantheon using GitHub Actions (CI/CD)
- April 9, 2021 at Esteemed Lunch & Learn (video, slides - PDF, slides - Google)
- Opening and closing sessions
- November 13, 2020 at DrupalCampNYC 2020
- Drupal Event Website Starter Kit (lightning talk)
- November 13, 2020 at DrupalCampNYC 2020
- Drupal Event Website Starter Kit (led this BoF)
- November 6, 2020 at NEDCamp 2020 (description)
- Advanced Google Analytics (and other) integrations with GTM and dataLayer
- October 16, 2020 at BADCamp 2020 (description, video, slides - PDF)
- Quickly Set Up a Local Development Environment with Lando
- April 1, 2020 at the DrupalNYC Meetup
- The D8 Body Field: Embed All the Things!
- March 4, 2020 at the DrupalNYC Meetup (description)
- Entities in Drupal 7 & the Entity API
- January 31, 2015 at DrupalCamp Michigan 2015 (video)
- Entities in Drupal 7 & the Entity API
- April 6, 2013 at Stanford Drupal Camp 2013 (description, slides - PPT)
- Drupal 7 entities and the Entity API
- Drupal 7 entities & TextbookMadness.com
- February 22, 2012 at Berkeley DUG (slides)
I have frequently attended meetings of the following community groups:
- Drupal Austin Users Group
- Drupal NYC (former Lead Organizer)
- Cleveland Drupal Users Group
- Michigan Drupal
- Berkeley Drupal Users Group
- East Bay Drupal Users Group
- San Francisco Drupal Users Group
I have also had the pleasure of attending Drupal user group meetings in the following cities:
- Santa Clara
- Seattle
- Taipei
- Stuttgart
And I have attended the following Drupal conferences:
- BADCamp 2024 in Oakland, CA (speaker)
- DrupalCampNYC 2021 online (Lead Organizer)
- Drupal Camp Asheville 2021 online
- DrupalCampNYC 2020 online (Organizer)
- NEDCamp 2020 online (BoF leader)
- BADCamp 2020 online (speaker)
- DrupalCamp Colorado 2020 online
- DrupalCampNJ 2020 in Princeton, NJ
- Decoupled Days 2019 in New York City
- Decoupled Drupal Days 2018 in New York City
- DrupalCon Vienna 2017
- Drupal GovCon 2017 in Bethesda, MD
- DrupalCamp Michigan 2015 in Dearborn, MI (speaker)
- DrupalCon Austin 2014
- DrupalCon Portland 2013
- Stanford Drupal Camp 2013 (speaker)
- BADCamp 2011 in Berkeley, CA
More JD
Check out my LinkedIn profile.