Serhii Shandaliuk / Senior Drupal

White-label Drupal capacity · Agencies in PL & EU

Senior Drupal expertise, under your brand.

Your team stays the face of the project. I do the engineering, and your client never knows I exist.

  • 10+ years
  • Drupal 6 → 11
  • Acquia Certified
  • Warsaw · CET

What gets subcontracted

Audits. Migrations to D10/11. Performance. Security.

The few intense weeks per quarter that are the worst possible shape for a hire — and a perfectly ordinary shape for a contract.

How it starts

A fixed-price audit, delivered in a week.

Send the repo and the problem as you see it. You see the standard of work before committing to anything longer.

01 — The gap

You sold the Drupal project. Now it needs a senior.

A legacy D7 site that has to reach D11. A migration that stalled two sprints ago. A page that takes eight seconds to render. A security review the client’s IT department demands a week before go-live.

None of that is a full-time role. It’s a few intense weeks per quarter — which is the worst possible shape for a hire, and a perfectly ordinary shape for a contract.

Senior in-house
€6–8k / month €75–100k a year fully loaded, six to ten weeks to hire, and paid through the quarters when no Drupal project needs one. Plus recruitment, holidays, downtime.
Senior on demand
Paid per audit or hour Nothing between engagements. Booked when the work is already sold, invoiced B2B, closed when it ships.

02 — What I take on

Six kinds of work, all of them billable to your client.

  1. Technical audit & code review

    Architecture, custom module quality, security posture, performance, upgrade readiness. Written report with findings ranked by risk and effort — something you can forward to the client under your letterhead.

  2. Migrations to Drupal 10 / 11

    Drupal 6, 7, 8 and 9 to current. Content migration, rewriting custom modules, a contrib replacement strategy for the modules that never got a D10 release, and a plan that survives contact with the client’s editorial team.

  3. Complex custom development

    Custom modules, third-party integrations, REST APIs (including Apigee Edge), and decoupled front-ends on React or Gatsby when the project genuinely calls for one.

  4. Performance & security

    Caching strategy, query and render profiling, hardening before launch. Usually the fastest way to turn an unhappy client into a renewing one.

  5. Senior on call for your developers

    A retainer your team can escalate into: architecture second opinions, design review before a sprint commits to something expensive, unblocking the ticket that has eaten three days.

  6. Monthly maintenance & updates

    Core and contrib updated every month — on staging first, then live. Security advisories applied within 48 hours, a pass over the flows the client actually earns money on, and a one-page report you can forward under your letterhead. This is how a site stops drifting toward the next emergency migration.

03 — How it starts

Small first step, then whatever fits.

  1. A fixed-price audit

    Send a repo or a staging URL and the problem as you see it. Fixed scope, fixed price, report within a week. You see the standard of work before committing to anything longer.

  2. The work itself

    Ad-hoc tickets at an hourly rate, or a monthly retainer with reserved capacity and a response SLA. Your repo, your tracker, your branch conventions, your PM.

  3. A standing arrangement

    Most agencies settle into two to four days a month. You stop planning around whether a senior is available, and start quoting Drupal work you’d otherwise decline.

04 — Engagement & rates

Published rates, so the first call can be about the work.

Net, in euro, B2B invoice.
Model What you get Rate
Technical auditthe usual entry point Fixed scope, written report, one call to walk your team through it. Delivered within a week. Credited in full against the first engagement that follows. €350–700
Ad-hocper ticket or sprint Migrations, performance, security, complex custom work. Estimated before it starts. €60–85 / h
Retainermonthly, reserved capacity An agreed number of days each month kept for your team, a response SLA, and a written report at the end of it. €1,200–2,800 / mo
Maintenancemonthly, per site Core and contrib updates on staging then live, security advisories inside 48 h, regression pass, one-page report. €150–350 / mo

05 — White-label terms

Invisible by default.

What “white-label” means here, in writing:

  • Your client is your client. I don’t contact them, pitch them, or appear in their inbox unless you put me there under your brand.
  • I don’t publish, name or portfolio the work. NDA signed before repo access, every time.
  • I don’t take on agencies competing directly with each other on the same market and service.
  • Communication goes through your PM, in your tools. If you want me on a client call, I’m on it as part of your team.
  • Everything I write is handed over: code, migration plan, report, and enough documentation that your developers can maintain it without me.

06 — Track record

Ten years on the same platform, on purpose.

Enterprise migrations and high-traffic builds, not brochure sites — including three years as Tech Lead owning roadmaps, technical decisions and delivery.

  • 2025 — now Bilberrry, Warsaw — Senior Drupal Developer. Custom module architecture and technical roadmaps for large-scale D10/11 migrations.
  • 2022 — 2025 Famaash, Warsaw — Senior Engineer / Tech Lead. Team coordination and technical decisions on high-performance Drupal 8–10 platforms.
  • 2020 — 2022 DRUPFANDecoupled React + REST architecture, Apigee Edge integration, caching and performance work across parallel projects.
  • 2018 — 2020 ELEKS, Lviv — Drupal 7–9 delivery for clients across industries. Acquia Certified Developer (Drupal 8).
  • 2015 — 2018 AnyforSoftDrupal 6 and 7 builds from scratch. Where the fundamentals came from.

07 — Selected work

Three I can show you, out of ten years of them.

One enterprise consolidation, and two agencies who handed me the one site they could least afford to have broken: their own.

  1. Homepage of the consolidated Imerys website, showing the global navigation and search that replaced roughly seventy separate sites.
    imerys.com — the single instance, today

    Seventy sites into one Drupal instance

    Imerys is a French industrial minerals group — €3.6bn revenue, listed in Paris, present in 40+ countries. Its web estate was roughly 70 separate sites on Drupal multisite: seventy content models, seventy update paths, seventy chances for the brand to drift. I was Tech Lead and owned the migration architecture — one instance, one codebase, country and language versions handled by Drupal rather than by cloning. The content was never the hard part. Collapsing seventy content models into one without any division losing what it actually needed was, followed closely by carrying URLs and rankings across the switch and by permissions, so every division could still edit its own pages and nothing else.

    Famaash · 2022–2025 · Tech Lead & migration architect
  2. The AnyforSoft homepage as archived in 2017, headlined 'Drupal 8 web and mobile apps development team'.
    anyforsoft.com — archived 2017, the Drupal 8 build

    An agency's own site, on Drupal 8

    AnyforSoft build custom platforms for education and media — Verifone, Stage Entertainment, Game Informer. Their own site ran on Drupal 8 through my years there, and I did the migration work behind it. An agency's website is an awkward project: it is everyone's second priority, every developer in the building has an opinion, and it still has to be the cleanest thing they ship. It has since been rebuilt on another platform, so what you see here is the archived capture rather than something I did not build.

    AnyforSoft · 2015–2018 · See the archived build ↗
  3. The Bilberrry homepage, showing client logos including Business Wire, GoFundMe.org, Deloitte, MIT and Delta.
    bilberrry.com — live

    Migrating the site of the agency that hired me

    Bilberrry is a Seattle digital agency whose case studies include GoFundMe.org and Business Wire. I migrated their own site. Not a Drupal project, which is rather the point: the platform matters less than knowing how to move a live site without dropping its URLs, its rankings or a working day. It is also the plainest reference I have — they hired me as a senior, then handed me the site their own new business depends on.

    Bilberrry · 2025 — now · bilberrry.com ↗

08 — Before you ask

The five questions every agency asks first.

Are you available during our working hours?
Partly, and I’d rather be straight about it than promise otherwise. I’m on CET, reply to anything within 24 hours, and can join calls in the late afternoon and evening. Deep work happens in agreed blocks. If your project needs someone on standby from 9 to 17, you need a hire, not me.
Will our client ever find out you’re not on staff?
Not from me. I work in your repo, your tracker and your naming conventions; deliverables carry no branding of mine. NDA before access. If you want me on a client call, I join as a member of your team.
What if the audit says the project is fine?
Then you have a written second opinion to show the client and I have an honest hour of billing. An audit that manufactures problems in order to sell a migration is worth nothing to either of us.
Can you work with our existing developers?
That’s the usual arrangement. Most agencies have capable mid-level developers who hit a wall on migration edge cases or performance. I review, unblock, and leave the team more able to handle it next time — that’s the point of the retainer.
How do we pay?
B2B invoice from a Polish sole proprietorship, in euro, 14-day terms. Audits are invoiced on delivery, ad-hoc work monthly in arrears.

09 — Next step

Send the repo and the problem.

One paragraph is enough: what the site is, which Drupal version, and what’s going wrong. You’ll get a scope, a fixed price and a delivery date back — or an honest “not my area”.

One paragraph is enough. Repo or staging URL welcome.