Bio
I'm a Cloud Developer Advocate for Microsoft focused on Microsoft Teams and Microsoft Graph and a contributing member of the Microsoft 365 Patterns and Practices team.
I started developing collaborative applications on SharePoint, and now have expanded this to include the whole Microsoft 365 cloud and parts of Azure. Before joining the Cloud Advocacy team I worked in the One Commercial Partner team, where I helped partners build applications on Microsoft 365.
Prior to that I was an Office development MVP and worked for BlueMetal Architects, where I led their SharePoint practice. I also worked at the very first Microsoft Technology Center near Boston, where I helped hundreds of customers design collaborative applications, often building out the hard/risky parts in our Proof of Concept labs.
Technical Skills
- Microsoft Teams development
- Microsoft Graph
- SharePoint Framework
- Microsoft Bot Framework
- NodeJS development in TypeScript and ES6
- .NET Core development in C#
- Azure Active Directory
- Azure App Services, Serverless, LUIS and QnA Maker cognitive services
My Projects
- Teams Development Videos - I contribute to and help curate the PnP team's library of Teams development videos
- Teams Development samples - I contribute to and help curate the PnP team's library of Teams code samples
- 360 Degree Collaboration in Teams - Sample showing how to build a contextual mashup for Teams
- Bot Workshop - Introduction to Bots for Microsoft Teams
- Building Teams apps with SharePoint Pages - Blog series and related samples
- Building headers and footers that work on Classic and Modern SharePoint sites - Shared React solution that works with SharePoint Framework or old-school SharePoint page hacking methods
- Swooping into Site Designs - The code behind the SharePoint Swoop Intranet makeover reality show
- #SPShire - first Modern SharePoint intranet - Lessons learned as a participant in the project team for perhaps the very first major Intranet built on Modern SharePoint
- Provisioning Teams with Azure Functions and Microsoft Power Automate - Solution for orchestrated provisioning of Teams
- Widget Wrangler facilitates running multiple independent apps on a single web page, useful in SharePoint or anywhere apps from multiple sources need to share a web page