Skip to content
All services

Microsoft 365 Development and Integration Consulting

From one-off fixes to complete solutions and ongoing support, built so your team can maintain them.

I design and build SPFx web parts and extensions, Power Apps and Power Automate solutions, and integrations with Microsoft Graph and Azure Functions. Part of the work is choosing the simplest option your team can support, and documenting it so the solution does not depend on me.

16+ years with SharePoint and Microsoft 365 Microsoft Certified: Power Platform Developer Associate Azure Solutions Architect Remote, from Vancouver, BC

When custom development makes sense

  • You need something SharePoint or Microsoft 365 cannot do out of the box: a dashboard, a custom web part, or an approval process with real business rules.
  • A Power App or flow the business depends on keeps breaking, or the person who built it has left.
  • Data has to move between Microsoft 365 and another system, and today someone copies it by hand.
  • You inherited an SPFx solution on an old toolchain and need it upgraded, fixed, or extended.
  • Documents arrive by email or upload and need to be read, filed, or routed automatically.
  • You are not sure whether the answer is SPFx, Power Apps, Power Automate, or an Azure Function.

What I build

SPFx and SharePoint development
Web parts, extensions, dashboards, and intranet components in React and TypeScript, and upgrades of older SPFx projects to a current toolchain. See SPFx development.
Power Apps and Power Automate
Business apps, approvals, and document flows, and repairs to existing apps and flows, with ownership, environments, and ALM set up so they keep working. See Power Platform solutions.
Microsoft Graph and Azure integrations
Azure Functions and Microsoft Graph for background automation, document processing, and connections to other systems, using the least privilege each task needs.
Reviews and support
A second look at existing code or flows, fixes for deployment and performance problems, and a documented handover to the team that will own the solution.

Examples you can inspect

Client work stays confidential, so these are my public, open-source projects. The code, the write-ups, and the limitations are all published.

  • SPFx Permission Visualizer

    A web part that shows a site's broken inheritance, direct assignments, SharePoint groups, and external users.

    How it was built Source on GitHub

  • SPFx Policy Acknowledgement Center

    Publish policies inside SharePoint, collect employee acknowledgements, and track versions and completion.

    How it was built Source on GitHub

  • SPFx External Sharing Risk Scanner

    A web part that reviews a site's external sharing, group membership, and permission inheritance.

    How it was built Source on GitHub

  • SPFx SharePoint Site Governance Dashboard

    A dashboard prototype for site ownership, permissions, external sharing, and stale content. It runs on built-in demo data for now.

    How it was built Source on GitHub

More on the open-source projects page.

What you receive

  • Source code in your own repository, not on my laptop
  • Short architecture notes: what was built, why, and which permissions it uses
  • A deployment package and the steps to deploy it again
  • Test evidence for the agreed requirements
  • Documentation and a handover session for the people who will support it

How a project works

  1. 1

    Understand the problem

    A short call about what happens today, who uses it, and which systems are involved.

  2. 2

    Choose the approach

    The simplest option your team can support: sometimes SPFx or an Azure Function, sometimes a flow, sometimes a setting that already exists.

  3. 3

    Build in small steps

    You see working pieces early, so changes are cheap while they are still easy to make.

  4. 4

    Deploy

    Into your tenant, with your admins, using the permissions agreed up front.

  5. 5

    Hand over

    Code, documentation, and a walkthrough, so the solution does not depend on me.

Frequently asked questions

Can you build a custom SPFx web part for our SharePoint Online?

Yes. I build SPFx web parts and extensions in React and TypeScript, connect them to SharePoint and Microsoft Graph, and package them for your app catalog. I also upgrade and fix older SPFx projects.

Can you fix or extend Power Apps and Power Automate solutions someone else built?

Yes. I start with a review of what exists: how it works, who owns it, and which connections and licences it depends on. Then we decide whether to repair, extend, or rebuild it.

Can you integrate SharePoint with other systems?

Yes, usually with Microsoft Graph and Azure Functions, or with Power Automate when that is enough. App registrations and permissions are agreed with your admins, and each integration gets only the access it needs.

Should we use SPFx or Power Apps?

It depends on the user experience you need, who will maintain it, and your licences. SPFx suits rich interfaces and deep SharePoint integration; Power Apps suits forms and business processes that power users can change. I wrote a longer comparison in SPFx vs Power Apps for SharePoint intranets.

Do you take on small fixes and ongoing support, or only projects?

Both. I help with one-off fixes, enhancements, defined development projects, and ongoing support for existing SharePoint and Microsoft 365 solutions. Whether it's troubleshooting an SPFx web part, fixing a Power Automate flow, improving a Power App, or maintaining a custom integration, we agree on the scope and support expectations before work begins.

Will our team be able to maintain what you build?

That is the goal. You get the source code in your repository, documentation, and a handover session. If your team needs more than that, I also run training for developers and Power Platform makers.

Do you work remotely with companies across Canada?

Yes. I am based in Vancouver, BC, and work remotely with organizations across British Columbia and elsewhere in Canada.

Related

Have something to build or fix?

Send a short note about the problem, the systems involved, and what happens today. Please do not include passwords, keys, or other secrets.

Send a note