I’m a Software Engineer @ Abound, on a mission to build the future independent workers want to work in. I am passionate about web technologies, open-source, continuous delivery, code quality, and automation. I am committed to delivering value to our customers.

When I'm not building software, I enjoy golfing and spending time with my wife and two daughters at our northern Minnesota lake home.


JavaScriptTypeScriptReactReact QueryNext.jsstyled-componentstailwindcssJestReact Testing LibraryNode.jsAWSSAMServerlessDynamoDBElastiCacheWebpackRollupBabelXOPrettierCI/CDGitHub


  • Software Engineer, Abound

    Apr 2021 – present

  • Lead JavaScript Developer, Securian

    Mar 2018 – Apr 2021  Independent consultant

    Mentored a small team of talented developers, building Benefit Scout – an educational tool that has grown to support 1.7M users and has directly contributed to $5 million of Securian’s annual enrollment revenue.

    • Led full-stack development across several repositories using React, React Query, TypeScript, Node.js, Serverless, DynamoDB, and ElastiCache
    • Regularly contributed to Securian’s design system built with React, styled-components, and Storybook
    • Deployed as often as possible through CI/CD using feature flags to keep our main branch deployable
    • Created a robust integration test suite on top of Jest and React Testing Library with automatic mocking and client emulation
    • Supported and enhanced our chatbot, Scout, using Amazon Lex and Amazon SageMaker
    • Pair programmed or mobbed on stories when it provided value
  • Lead JavaScript Developer, Amano McGann

    Jan 2017 – Feb 2018  Independent consultant

    Architecture for Amano McGann’s future frontend platform and design system built on top of Next.js and styled-components.

    • Developed a simple GraphQL proof of concept to aggregate data from REST services, a MongoDB data store, and client storage (in- memory cache)
    • Built an interactive visualization using React, Redux, and SVG to help customers understand how to configure their parking rates
    • Used Yarn workspaces to create small internal packages for reuse between projects
  • Lead JavaScript Developer, Best Buy

    Dec 2014 – Nov 2016  Independent consultant

    Developed A/B tests across to determine what features provide the best user experience and increase the overall site conversion.

    • Transformed legacy A/B testing code into a maintainable architecture using Babel, Webpack, Node.js, and Karma
    • Moved the A/B testing team to Best Buy’s standard release management process, which reduced risk and provided more visibility for artifacts deployed to production
    • Optimized development workflow for fast feedback and increased developer productivity
    • Consistently evaluated dependency upgrades to ensure our team could leverage the latest features and prevent our stack from becoming stale
  • Lead JavaScript Developer, Imation

    Aug 2014 – Dec 2014  Independent consultant

    Built a lightweight JavaScript architecture around Eloqua’s email marketing system with support for automatic form population and progressing profiling.

    • Worked with Lodash, Jasmine, Greensock, WOW.js, CSS animations, and Foundation
    • Helped the redesign project release on-time by assisting with EPiServer development
    • Implemented internally hosted WebAPI OData feed to load news articles on dynamically
  • JavaScript Developer, General Mills

    Nov 2013 – Aug 2014  Independent consultant

    Contributed to General Mills’ shared component library used by,,, and more.

    • Enhanced frontend components using Knockout, Jasmine, and Sitecore for multilingual content
    • Practiced agile scrum methodologies using TFS Application Lifecycle Management (ALM) tools
    • Collaborated with a UX Planner to rewrite a mobile-friendly coupons experience
    • Performed daily deployments for US Factory teams as a build master
  • Founded Qubed, Inc.

     over 8 years ago

    Started this company to create high-quality JavaScript applications and begin my quest for ultimate freedom.

Back to top