Bart Nagel's face Bart Nagel – web developer

I’m a programmer based in Vancouver, originally from the UK. I mostly work in web, as a full-stack developer.

There are contact details below.

Project history

  • : Airport City2017 annual report for Edmonton International Airport (most development)
  • : Keep Canada WorkingAwareness and support-gathering campaign (all development)
  • : Hendrix (all development)
  • : this website (all development)
  • : AbCellerastatic website for Biotech company, pulling content from a cloud-based CMS (all development and toolchain)
  • : 360° panorama for Sky Residences at Ice District (front-end development)
  • : Trans Mountain community/pipeline mapinteractive map as part of new website build (front-end map development and tooling for map data processing)
  • : Matt Wiensrésumé page
  • : Ephie Roweport of legacy PHP-based website to Jekyll
  • : CESO 50th anniversary pagenew section for existing website (all development)
  • : Quality Milkmilk promotion for Dairy Farmers of Canada (most initial front-end development)
  • : Sparkitsocial platform for influencers and their fans (most front- and back-end development for MVP)
  • : Skittles Holidy Pawn Shop (front-end updates for year two, and some refactoring)
  • : Canada in a Daywebsite and video crowdsourcing for film project (all development and sysadmin)
  • : CESOwebsite for non-profit (back-end development and sysadmin)
  • : Priimwebsite for mobile app aimed at hairstylists (all front- and back-end development)
  • : Win the Boardweb-based game for SAP and Intel's Digital Boardroom product (back-end development)
  • : Spring Stylespage and banner for Metropolis at Metrotown (all development)
  • : Adidas Runmore awards pageshowcase of a marketing project (all development except mobile-specific styles)
  • : McDonald’s CRMnewsletter signup and questionnaire (front-end development and deployment scripting)
  • : Lifesize Stylistinteractive physical installation in a mall with 60-inch and 24-inch touch screens (all back-end and most front-end code)
  • : Beetle Road Storiesaward-winning Volkswagen campaign (3D “virtual test drive” feature with canvas fallback, all back-end code including admin panel and Google Street View pathfinding logic, some other front-end code)
  • : Blend Your Friendsproduct promotion for McDonald’s (proof-of-concept Imagemagick face-morphing code)
  • : Mark Wiensholding page based on existing business card (all development)
  • : BC Place Stadiumlarge-scale cloud-CMS-driven website (all back-end and some front-end development)
  • : Vancouver Convention Centrelarge-scale cloud-CMS-driven website (most back-end and some front-end code including map)
  • : Selfie Swapcampaign for the Canadian Tourism Commission (all back-end and some front-end code, including moderation panel)
  • : py-lightpackfork of a Python library to control Lightpack
  • : McDonald’s Local Region Marketing toolinternal tool for McDonald’s staff to generate localized banners based on templates (all development)
  • : Milk Every Moment Snack Masterscampaign for the Strategic Milk Alliance (most back-end and some front-end code)
  • : GBH clan signatureFlash toy
  • : Explore Edmontontourism website (most back-end and some front-end code)
  • : Mobile Stylistmobile-optimized dress-up-doll toy for Metropolis at Metrotown (all back-end development including admin panel, and some front-end code)
  • : Mark Wiens Community Lawn Care flyerflyer for chafer beetle awareness
  • : BC Hydro maps toolinternal tool for BC Hydro staff to produce custom interactive maps (all development)
  • : Canadian Tourism Commission HTML5 adinteractive HTML5 advertisement featured in Süddeutsche Zeitung, Frankfurter Allgemeine Zeitung, and Marco Polo Travel Magazine (all development)
  • : user-facing side of damage reporting database (all development)
  • : Sprintly-GitHubcommand-line tool for connecting Git repositories with Sprintly (fork with major refactoring, new features, and fixes)
  • : Healthy Choice (back- and front-end code for a new page for the existing website, and changes to accommodate a new product range)
  • : web-based internal tool allowing reports and photos to be recorded while surveying for chafer beetle damage (all development)
  • : Milk Every Momentcampaign for the Strategic Milk Alliance (front-end development including the “milk cheers” crowdsourced video carousel feature and its admin panel)
  • : Good Karma Contestcampaign for Servus Credit Union (part of the front- and back-end development)
  • : McDonald’s Monopoly 2013annual Monopoly campaign website (all development including full image generation chain)
  • : McCafé Monday Catch-upscampaign for McDonald’s McCafé (all development)
  • : Mark Wiens Community Lawn Care flyerflyer for chafer beetle awareness
  • : HTML5 dicecustomizable dice roller written in HTML5
  • : Canadian Pacific Rail digital signageelements to be embedded in Flash-based digital signage (all development)
  • : QPC BLT vs BLT QPCcampaign for McDonald’s Quarter Pointer with Cheese BLT (all development)
  • : 24-hour Snack Trackermobile-optimized 24-hour restaurant navigator toy for McDonald’s (most front-end development including route-finding and progress-detection logic)
  • : Montecristo Magazine (front- and back-end development, various Wordpress widgets, responsive styles and code)
  • : Tourism KamloopsFacebook app (front- and back-end development)
  • : Nuvo Magazine (front- and back-end development, various Wordpress widgets, responsive styles and code)
  • : Tourism ChilcotinFacebook app (front- and back-end development)
  • : Mark Wiens Community Lawn Carewebsite for small business (redevelopment improving on an existing design and build)
  • : Mark Wiens Community Lawn Care flyermarketing flyer
  • : Starbucks Rekindleholiday campaign for Starbucks (part of the front-end development, and some back-end development including a video generation service)
  • : Starbucks Verismo Systemwebsite for the Starbucks coffee maker (most front-end development, including parallax system)
  • : Starbucks PSL Challengeinteractive games for Starbucks’s Pumpkin Spice Latte campaign (front-end development including wordsearch, quiz, and other mini-games)
  • : Rise Abovecampaign for the Nike Jordan brand (part of the front-end development)
  • : Starbucks Frappuccinothe 2012 website for Frappuccino (half of the front-end development, including a jingle-making toy)
  • : Mark Wiens Community Lawn Care printed materialsbusiness card, fridge magnet, flyer (design and layout)
  • : Nike Golf Speed Trialscampaign for Nike Golf (front-end development of mobile version)
  • : Tazo Tea Timecampaign for Starbucks (all front-end development)
  • : MPNotifierGTK system-tray tool for MPD (fork of existing software with significant changes)

Like what you see?

If you need any kind of web development done, let me know.

I’m currently interested in:

Other things I’m good at:

  • Website back-end coding (Node.js with Express or Serverless; Python with Django; PHP with Laravel; MySQL, MariaDB, PostgreSQL, and Sqlite; Linux/Unix shell)
  • Responsive site layout in HTML5 and CSS3
  • Javascript/ES6 coding, particularly favouring Typescript
  • React and other front-end frameworks
  • Building APIs, and hooking up to existing ones
  • Building clear, powerful, and easy-to-use control panels
  • Setting up and optimizing build systems (for example with Webpack)
  • Devops and other automation
  • Automated unit and acceptance tests
  • Vector-based art (SVGs)
  • Proofreading
  • Music notation

On the other hand, I rarely accept work involving big content management systems such as Wordpress or Drupal, or maintenance of existing sites I didn’t build.


I proudly develop with almost exclusively open-source software.

A few particular highlights:

Not to mention the dozens of web development tools and libraries I use, but many of these constantly change from project to project.

Contact details


You can get my email address by taking and replacing the first a with @.

If you wish, you can encrypt messages you send to me using my OpenPGP public key. (There’s also a legacy PGP key for ECS-related stuff.)


Web communities