Greg Underwood
Full-Stack Software Engineer
greg.underwood.bc@gmail.comMeadow Creek, BC · Remoteunderwoodstyles.ca
Full-stack engineer with twenty years across web, mobile and cloud — Angular, Node/NestJS, Rails and AWS — who uses AI agent workflows to deliver at the pace of a team. Open to remote full-time and contract work.
Experience
Senior Full-Stack Software Engineer · Sign In Solutions (formerly Traction Guest)
Feb 2019 – 2026 · Burnaby, BC · Remote
Lead developer on an enterprise visitor-management platform, owning features from architecture and proof of concept through CI, testing and living documentation.
- One of two primary developers of Gateway, the suite’s single sign-on portal: an OAuth 2.0 authorization server on AWS Cognito with SAML SSO, MFA and per-product access.
- Designed asynchronous service-to-service messaging on AWS SNS topics and SQS queues.
- Worked on the access control integration, connecting visitor management to physical access systems.
- Drove AI adoption across the organization: wiring AI into products, documentation and developer environments.
- Led the AngularJS → Angular migration with a progressive micro-frontend architecture, moving the build from Grunt to webpack and onto an Nx monorepo.
- Architected the embedded Sisense analytics integration: a Ruby API client, JWT single sign-on, and a multi-tenant microservice so many instances shared one reporting server.
- Built the Angular front end for “Sparks” workflow triggers, including an architecture for deeply nested dynamic forms.
- Became the authentication subject-matter expert: OAuth 2.0, shared sessions across AngularJS and Angular, and per-domain SAML.
Staff Product Developer · BMC Software (acquired Partnerpedia)
Jan 2013 – Feb 2019 · Vancouver, BC
Joined Partnerpedia as an intermediate developer six months before the BMC acquisition and grew into the lead developer for every Marketplace product.
- Maintained white-label Rails marketplaces for VMware, Cisco, Avaya and Citrix, with Solr and Sphinx search, Salesforce data sync and Cisco SSO.
- Took over the BMC Marketplace in 2014 and, with a team of two to three, replaced a custom Closure-based front-end framework and an unnecessary microservice split.
- Rewrote the API and delivered the storefront and admin as one modular Angular 6 application with prerendering and lazy-loaded modules — on a maintenance budget.
Lead Software Developer (contract) · Spruik
Mar 2012 – Dec 2012 · Vancouver, BC
Built the proof of concept for a referral-sharing app with micropayments, from start to demo in five months.
- Rails API with a mobile-first Backbone.js front end on Foundation, built heavily on the Google Maps APIs.
Earlier work
- Officepools2010 – 2011 — Performance and features for a high-traffic Django/PostgreSQL hockey-pool platform through peak season.
- Xomo Digital2009 – 2010 — Designed and built the BlackBerry event guide promoted as the official guide to the Vancouver 2010 Olympic Games.
- Blast Radius2009 — Back end for the Starbucks VIA launch site in .NET MVC, against a four-week deadline.
- Consensus Medical Systems2009 — Started the web rewrite of a vascular-study system with NHibernate and Silverlight.
- Resilience Software2005 – 2009 — Medical activity tracking on C#/ASP.NET and Python/TurboGears, with sync protocols for Palm, Pocket PC and BlackBerry clients.
Skills
- AI-assisted delivery
- Claude Code & agent workflows, LLM integration (Claude API), Speech-to-text pipelines, Agent-ready repos & docs
- Front end
- Angular, TypeScript, React, Vue, AngularJS migration, SSR & SEO, Accessible, responsive CSS, Micro-frontends
- Back end & APIs
- Node.js, NestJS, OAuth 2.0, SAML, JWT, Ruby on Rails, Django, .NET MVC, REST API design
- Cloud & DevOps
- AWS (Cognito, SNS, SQS), Docker, Nx monorepos, CI pipelines, nginx & Linux, Queues: Redis, RabbitMQ, MQTT
- Data
- PostgreSQL, MySQL, SQL Server, Oracle, TypeORM
- Languages
- TypeScript / JavaScript, Ruby, Python, C#, Java, SQL, C / C++, PHP
- Mobile & devices
- Flutter, iOS & Android, BlackBerry, Palm, Pocket PC, Raspberry Pi & IoT
Education
- British Columbia Institute of Technology2004 – 2006 — Diploma, Computer Systems Technology — Client/Server Systems
- University College of the Cariboo2001 – 2004