Drew J. Bartlett

Software Engineer | Long Distance Hiker

About

Hey there - I'm Drew. I've been writing software for over 18 years and still love it. I have a strong focus on clean, testable code that scales. I scrutinize over performance, down to the millisecond and love spending time deep in profiling tools to save time for the best possible UX. I've had the privilege of working on large scale applications used by millions of users every day, including the world's most played chessboard. Outside of software, I've had the honor of backpacking over 5,000 miles in the past 9 years on Appalachian Trail, Colorado Trail, Long Trail, and Pacific Crest Trail.

Here are some of my proudest accomplishments:

  • Over 18 years of experience architecting full-stack web apps with a focus on performance and TDD
  • Co-led Chess.com front-end team in design, architecture, and migration to Vue.js, used by 4 million+ daily active users
  • Decreased DOM render speed by 15x on chessboard components, used tens of millions of times daily
  • Solely developed TheTrek.co, rated #1 Outdoor Blog by USA Today
  • Author of nine npm and composer libraries with 1m+ combined installs and 2k+ Github Stars
  • Thru-hiked the Appalachian Trail (2,189 mi.), Colorado Trail (484.6 mi), Pacific Crest Trail (2,650 mi) and persevered through extreme mental and physical challenges

Professional Experience

Product

  • Co-led chessboard redesign to framework agnostic TypeScript, used tens of millions of times daily, ranked a top-100 website in the world
  • Solely developed HikerFeed's iOS/Android app, Nuxt.js SPA, backend APIs
  • Migrated Chess.com's Daily Chess app from Angular to Vue Used millions of times daily
  • Architected and developed a full-stack, financial management and projection platform using Next/Nest
  • Worked on the front-end team in the development of xfinity mobile's support platform using Angular

Engineering

  • Rebuilt Upright Tools as a modern SPA, decreasing bundle sizes by over 7mb.
  • Solely developed and managed CI/CD for HikerFeed including frontend, backend, iOS/Android Apps
  • Solely developed several full stack features for Upright Tools using Vue, Laravel, fully tested
  • Located and refactored a series of slow tests saving 20+ hours of developer time each week
  • Automated test creation with custom generators, increasing overall front-end coverage at Chess.com
  • Led and enforced TDD and coding standards with custom ESLint Rules for Chess.com front-end teams, Upright Tools teams

Leadership

  • Led Upright Tools in migration to new frontend architecture, coding standards, and automated testing
  • Led architecture & design of financial projections service in Nest.js / Next.js
  • Led Chess.com front-end team in build out of puzzles app
  • Led design & development of four iOS/Android apps + APIs
  • Lead developer and co-owner for TheTrek.co, rated #1 Outdoor Blog by USA Today

Open Source Projects & Community

  • Author of nine npm and composer libraries with 1m+ combined installs and 2k+ Github Stars
  • Founder and Co-Organizer of BendJS Meetup: sponsored by Heroku, CodePen, and CBT Nuggets
  • Student mentor at Oregon State University

Employment & Clients

Upright
Staff Software Engineer
Uptech Studio
Senior Software Engineer
Pacific Crest Trail
Thru-Hiker
HikerFeed, LLC
Founder, CTO, CEO
Chess.com
Senior Software Engineer, Co-creator Chessboard
BWW Media Group
Lead Software Engineer
TheTrek.co
CTO, Co-owner
Colorado Trail
Thru-Hiker
DevelopmentNow
Software Engineer
ZippyPaws.com
Lead Software Engineer
Appalachian Trail
Thru-Hiker
AOL - StyleMePretty
Software Engineer
AltRockLive
Founder, CTO

Projects

rarepack.io

rarepack is a hobby project that uses Nuxt, Vue 3, TypeScript, daisyUI, and Tailwind. rarepack allows collectors of Pokemon and MetaZoo to browse, search, and catalogue their card collections in a highly efficient way with focus on binder collecting.

HikerFeed Mobile App

To pair with the web app, the HikerFeed mobile app is built in Flutter and utilized Apple and Google subscriptions. HikerFeed allows hikers to document their entire six month thru-hike offline via journals, photos, waypoints, and mileage tracking. The app features a local SQLite database that syncs up to the smae APIs that the Nuxt app uses.

HikerFeed.com

A passion project inspired by my thru-hike on the Appalchian Trail. The app is decoupled using Nuxt.js & TypeScript on the client, Laravel for an API only, Stripe for payments, and AWS for storage and distribution. This may well be the most tested hiking app in existence.

Chess.com Chessboard

Co-led the redesign of the core chessboard and components. The previous chessboard was written in Vue.js and had extreme bottlenecks when playing games with many moves or deep analysis. I lived in the performance tools and decreased DOM render time from 42 seconds (yes, seconds) of lag to a constant time of 50ms when inserting nodes. The board and its components used only TypeScript and DOM APIs, no frameworks. I wrote our own compiler that generated a series of sequential tests in cypress so we had heavy test coverage. This board is used millions of times daily and has even been featured in a Netflix show.

Skills

Expert

TypeScriptJavaScriptPHPVueLaravelNuxt JSTailwindFlutterDartHTMLCSSSASSMySQLSQLiteTDDUnit TestingIntegration TestingAPI Testinge2e TestingOOPMVCREST APIsAPI DesignDesign PatternsIoC / DI PatternsCI / CDArchitecture DesignGit / GitHubJIRA / AgileSelf AwarenessLeadershipMentoring

Proficient

Performance ProfilingCypressGoogle Maps SDKStripe SDKUI/UX DesignViteWebpackNest JS

Familiar

Functional ProgrammingMicro ServicesElixirRubyJavaAWSESLint & Custom PluginsPlaywrightDockerReactNext JSReactAngularRails