David Bass

Web / software developer based in Bellingham, Washington with a Master's degree in Information Systems interested in automation, artificial Intelligence, security, learning new things, design, innovation and problem solving.
david at davidbass dot com


Senior Developer for Digital Initiatives @ WWU Libraries January 2013 - present / Bellingham, Washington

  • 2018 Professional Staff Award for Excellence
  • Western Way (story archive - September 29, 2017)
  • developing and designing a cross-platform (Windows, macOS, Linux) desktop application known as the Islandora Batch Uploader (IBU)
    • using Electron, NodeJS, VueJS, ES6, machine learning API integration (Clarifai and Microsoft)
    • designed to make it easy to describe and upload batches of images and video to Islandora
    • generates SSH private / public keys for authentication
    • uses Sharp and ffmpeg to process images and video
    • uses pHash to create a visual fingerprint of each image, and then compares their differences to cluster similar images
    • Bitbucket repository
    • Presented IBU at the 2018 Islandora Camp San Diego (schedule - slide deck - recap)
  • created a JSON to XML (MODS) preview tool: Bitbucket repository
  • created a Drupal 7 module for Islandora that repeats the search within PDF.js - Bitbucket repository
  • assisted colleagues with Drush commands for Islandora batch imports
  • assisted colleagues with installing Drupal 7 modules for Islandora
  • developed a Python script to split large XML files into separate files
  • developed a Drupal 7 module known as Getting Started
    • designed to help students with writing assignments
    • automates several facets of in-person workshops, including finding related keywords (via the Primo and Alchemy/Watson APIs)
    • and automatically generating all possible combinations of those words and generating Ajax queries in Primo (OneSearch); something that would take a long time to do by hand
  • designed and developed interface enhancements for Primo (OneSearch), our library catalog / search engine including API integration with Alma and other systems and a custom permalink generator. Screenshots: before | after
  • created classification and recommendation engine prototypes using Dandelion.eu and Alchemy APIs to categorize search queries into categories that match library expertise, and show the librarian (and/or professor) most closely associated with that topic.
  • served on a team that gathered requirements and researched digital asset management systems (DAMS), which led to the selection of Islandora (MABEL)
  • member of the OneSearch Management Team (OMT), the Alma Management Team (AMT) and the MABEL Management Team (Islandora)
  • former member of the Accessiblity Team
  • skills / tools used in this position: JavaScript, Solr, NodeJS, APIs, JSON, jQuery, AJAX, HTML, Drupal 7 Drupal 7 module development, Linux, Apache, PostgreSQL, XML, cURL, rSync, Git, and CSS.
  • obtained certifications for Primo Back Office and Alma administration by Ex Libris

Web Developer @ PIER Systems June 2011 - December 2012 / Bellingham, Washington

  • developed custom solutions for clients and enhancements to PIER (a SaaS application) using a combination of JavaScript, JSON, jQuery, jQuery Mobile, AJAX, HTML, ColdFusion, Java, Linux, Apache, MySQL, jBoss, XML, Eclipse, cURL, SVN, and CSS.
  • worked with other developers to create the first mobile version of PIER using jQuery Mobile (v1.1.1), Ajax and a RESTful API.

Web Developer @ Platypus Productions November 2010 - June 2011 / remote

  • helped create the next version of the BBB's (Better Business Bureau) video + advertising delivery system using the following tools: Linux, Apache, MySQL, PHP, JavaScript, jQuery, AJAX, XML, JSON, PERL, cURL, Git, FlowPlayer and CSS.
  • Automated the conversion of online videos using encoding.com's API.


Skill Confidence Career Usage

ES6 (Javascript) 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,10
JavaScript 1,2,3,4,5,6,7,8,9,10,10,10,10,10,10,10,10,10,10,10,10
Git 0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,9,9,9
Python 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,5
NodeJS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,10
VueJS 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10
Electron 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10
JSON 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,8,8,8,10
AJAX 0,0,0,0,0,0,0,0,1,3,5,7,9,9,9,9,9,9,9,9,9
HTML 9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
CSS 0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8
jQuery 0,0,0,0,0,0,0,0,1,3,5,6,7,8,10,10,10,10,9,8,4
Linux 0,0,1,1,1,2,3,4,4,4,4,5,6,6,5,6,7,8,9,10,10
PHP 0,0,0,3,5,7,9,9,9,10,9,9,8,7,6,5,4,3,2,1,1
Drupal 7 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7
D7 module dev 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,10,7
XML 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4
cURL 0,0,0,2,2,3,3,3,3,3,3,3,4,3,3,2,3,3,2,1,1
PostgreSQL 0,0,0,1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,1
SQL 0,0,0,2,4,6,8,10,10,10,9,9,8,7,6,5,4,3,2,1,1
Apache 0,0,0,1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,1
Windows 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,5,5,5,1,1
Photoshop 0,0,0,0,0,1,2,4,4,4,4,3,4,1,1,1,1,1,1,0,0
PERL 0,1,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10
ASP Classic 0,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
ASP.net 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0
MySQL 0,0,0,0,0,0,0,0,5,5,6,7,8,9,8,7,4,2,2,2,2
Ruby on Rails 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0
Solr 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2
rSync 0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
OSX | macOS 0,0,0,0,0,0,3,3,3,3,3,3,3,5,7,7,8,9,6,6,10


M.S. Information Systems 1996 - 1997

Mississippi State University

B.S. Business Administration 1994 - 1995

University of Montana

Business Administration 1991 - 1993

Auburn University

Founder / Developer @ Cascade Data Systems 2002 - 2014 / Darrington, Washington

  • created a web application development system known as appGenerator (aka 'Dokuments'), which automates the process of building web-based relational databases, forms and reports. v5 introduced enhanced security, multi-tenancy (subdomains), and 256-bit AES encryption (data at rest).
  • appGenerator was built with Linux, Apache, MySQL, PHP, JavaScript /AJAX, cURL, and XML templates. Recently migrated from MySQL to PostgreSQL.
  • used appGenerator to build/automate a variety of client systems, including:
    • a recurring survey for a Fortune 10 company, resulting in a 40x increase in speed over the previous developer , a university's financial aid application system , a disaster response / donation system for a non-profit following Hurricane Katrina , a web-based winery pricing application (a conversion from Access) , a web-based SMS publishing / e-commerce system using authorize.net and ARB (automated recurring billing) , an expense tracking system for remote workers , a work order management system for a municipality , a project management system for a real estate company , an alumni contacts database , a web-based scheduling / registration system for construction volunteers for Hurricane Katrina reconstruction , a series of HIPAA-compliant medical referral forms for a physical therapy clinic with 256-bit AES encryption (data at rest) , a medical records system , a property management system , surveys and reports for a non-profit organization , a voucher and vendor management system for a municipality , event registration / e-commerce / payment systems using authorize.net , several custom website content management systems (CMSs)
  • Created an Amazon Machine Image (AMI) on EC2 to facilitate easier evaluation and deployment of appGenerator
  • Setup and managed Linux servers with root access on Rackspace Cloud, Amazon EC2, VPS.net, Softlayer and Rackspace. Setup and managed a FreeBSD VPS server on Verio.
  • designed and created numerous websites with hand-written code and Photoshop

Web Developer @ Creative Assets 2000-2002 / Seattle, Washington

  • worked with Acadia Creative (ASP) and Electric Pen Design building e-commerce and other websites

Web Developer @ Attachmate 1999-2001 / Bellevue, Washington

  • served as the international webmaster (ASP / Windows) maintaining 22 websites in 13 languages
  • developed an experimental grid/spreadsheet-like tool using ASP for internal use

Entrepreneur @ eGauge 1999 / Seattle, Washington

  • research and prototype development of an electronic receipt tracking system using ASP, Windows and SQL Server

Software Developer @ B-Line 1998 - 1999 / Seattle, Washington

  • created software tools to process and analyze large amounts of data

Web Developer @ Orbit Network 1997 - 1998 / Whitefish, Montana

  • maintained travel-oriented websites

Database Developer @ Uwohali 1997 / Starkville, Mississippi

  • Access database development

Technical Support @ Mississippi State University 1996-1997 / Starkville, Mississippi

  • part-time assistantship (during graduate school)