Build
Custom module development
Drupal modules and Symfony components written around your business rules, with tests and documentation, so the next developer can pick them up.
- Custom entities and content models
- REST and JSON:API integrations
- CRM, ERP and payment provider connectors
- Single sign-on with SAML and OAuth
- Replacing patched contrib with clean code
- PHPUnit and functional test coverage
Engagement fixed-scope project or day rateStack Drupal 10/11, Symfony, PHP 8.x
Rescue
Audit & finish stalled builds
Some projects spend most of the budget on discovery, personas and design, and the build is left half done or handed over in a state nobody wants to launch. I audit what was delivered, tell you plainly what can be kept, and finish it.
- Code and configuration audit
- Security and performance review
- What to keep, fix or rebuild, with costs
- Missing features built to the existing designs
- Hosting, deployment and go-live
- Handover documentation for your team
Engagement fixed-price audit, then a fixed-scope plan to launch
Protect
Maintenance & security
Your site kept patched, monitored and backed up. Drupal security advisories are reviewed as they are published, and critical ones are applied first.
- Security advisory monitoring
- Drupal 7 security and long-term support
- Core and contrib module updates
- Composer dependency audits
- Uptime and error monitoring
- Tested backups and restores
- Performance checks
- Monthly plain-English report
Engagement monthly planCovers Drupal 7 extended support to Drupal 11
Comply
GDPR, PCI & accessibility
Audits and fixes for the rules your website has to meet, with the evidence written up so you can show it to auditors, trustees or procurement.
- UK GDPR: consent, retention and data minimisation in forms
- Subject access request exports
- PCI DSS: hosted payment fields to keep card data off your servers
- Security headers and hardening
- Accessibility: WCAG 2.2 AA audits and remediation
- Accessibility statement drafting
Engagement audit, then fixed-price remediation
Run
Hosting & infrastructure
Hosting set up, deployed and watched, on AWS or Pantheon, in accounts you own. Automated deployments mean releases happen in minutes and can be rolled back.
- AWS: EC2, ECS, RDS, S3, CloudFront
- Pantheon site and workflow setup
- CI/CD pipelines and staging environments
- CDN, caching and performance tuning
- Hosting cost reviews
- Moves between hosts with minimal downtime
Engagement setup project, then monthlyCredential AWS certified
Modernise
Upgrades & migrations
Keeping Drupal and Symfony applications on supported versions, and moving legacy PHP onto a modern stack, with content intact and a release plan that can be rolled back.
- Drupal 9 to Drupal 10 and 11
- Bespoke and legacy CMS to Drupal
- Symfony major version upgrades
- Legacy PHP 5/7 to PHP 8.x
- Content audits and field mapping
- Staged, reversible go-live
Engagement fixed-scope project
Grow
Corporate websites
Multi-site and multilingual corporate and B2B websites that marketing teams can run themselves, with editorial workflows that keep content consistent across brands and regions.
- Multi-site and multilingual setups
- Editorial roles and approval workflows
- Reusable page-building components
- Design system integration
- Search, forms and lead capture
- Editor training and documentation
Engagement project, then ongoing support
AI
AI search & RAG on your content
Let visitors and staff ask questions in plain English and get answers based on your own content, documents and policies, with links back to the source pages. It works with a Drupal site, a Symfony application or a custom PHP platform.
- Retrieval-augmented generation (RAG) pipelines
- Website content and documents synced to a vector index
- AWS Bedrock and other LLM providers
- Integration with Drupal, Symfony or custom PHP
- Guardrails, citations and answer logging
- Data kept in your own cloud account
Engagement proof of concept, then production buildStack PHP, AWS Bedrock, vector search
Review
Review of AI-generated code
Code written with Copilot, Cursor, Claude or ChatGPT often works in the demo and fails in production. I review it the way I would review any pull request, before it reaches your live site.
- Security: injection, access checks, secrets
- Correct use of Drupal and Symfony APIs
- Performance and caching problems
- Invented functions and packages
- Missing tests and edge cases
- Written report with prioritised fixes
Engagement one-off review or ongoing pull-request review