Dethe Elza

ORCID iD icon


I have been programming for the web as long as there has been a web, using AJAX-style dynamic loading since 1998, and pushing boundaries of the browsers and my own creativity at every opportunity. I've worked for large corporations and two-person startups. After resisting becoming a manager for years, I surprised myself by being good at it and enjoying it. Programming is like an infinite box of Legos you can build anything with, and I thrive on introducing others to this world and mentoring other developers. I also enjoy building communities and making connections with different groups who can support each other to build great things.


Richmond Public Library

Help people use the libraries tech services: 3D printers, multimedia digitization stations, scanners, Raspberry Pis, Lego WeDo and Lego Mindstorms, and more.

  1. Introduce and lead Code Clubs weekly for kids, teens, and adults
  2. Teach Intro to HTML and CSS
  3. Run Minecraft Club for 6+ year olds, set up and maintain server
  4. Help organize quarterly Maker Expo events: one for students, one for fashion, one for healthcare, one for science.
  5. Organize Processing Community Day
  6. Write web apps and AR to support teen summer programs
  7. Co-teach Text Adventure Game course, creating a collaborative text adventure webapp
  8. Teach Game Programming with Pico-8
  9. Co-teach Computer Basics for Seniors
  10. Help organize community partner events like RoboSports and Under The GUI

British Columbia Institute of Technology

Teach Management Information Systems to both full-time and part-time classes.

  1. Built lab exercises based on real-world databases, networks, security issues


Team lead and back-end specialist for building 3rd version of this academic collaborative website tracking democratic participation around the world.

  1. Move database from document-store to Postgres relational DB
  2. Re-implemented full-text search
  3. Mentoring for junior developers
  4. Technical advising for other aspects of project (online surveys, data respository, etc.)


Team lead, mentor, architect for back-end, front-end, ops and infrastructure. Wearer of hats.

  1. Rebuild site for speedy loading and scalability
  2. Implement monetization strategy
  3. Mentoring, code reviews, lunch-and-learns.
  4. Business advising

Awesense Wireless

Back-end developer and team leader.

  1. Built simulators for a variety of data sources
  2. Recruiting, outreach, and training
  3. Client data integration work

Mozilla Corporation

Front-end development for the Marketplace team

  1. Developed for desktop, Android, and FirefoxOS flavours of Marketplace
  2. Built Hub add-on for Firefox Android to add Marketplace to home screen
  3. Collaborated on the first Vancouver Mozilla Hive Network Pop-Up

Mozilla Foundation

Take Collusion prototype through design, development and launch as Lightbeam 1.0

  1. Hired and lead design and development team
  2. Collaborated with Emily Carr University and mentored students helping with redesign
  3. Built interactive documentary on privacy / tracking
  4. Co-taught course at Emily Carr University introducing design students to web technologies
  5. Mentored students working on Waterbear as part of Undergraduate Capstone Open Source Projects
  6. Mentored for Ladies Learning Code and Software Carpentry workshops


Architect, build, and manage development of a site to showcase the work of independent video artists at

  1. Developed code organization tool Obloq
  2. Developed site from scratch using Node.js and MongoDB
  3. Hired and trained development team

Kinzin International, Inc.

Manage small development team to build photo sharing site

  1. Created web-based product builder generating PNG and PDF output
  2. Built Facebook apps Are You Normal? and These Are My Kids
  3. Created several jQuery modules to support Kinzin interface

JustSystems Canada

Integrated XML-based collaboration technology (Distributed DOM) into existing xfy XML toolset.


Enfolding Systems

  1. Founding member of company sold for \$2.35 million
  2. Design and implement client-side GUI development library (Vorta)
  3. Design and implement client-server shared Document Object Model (DDOM)
  4. Design of XML content management appliance
  5. Research usability, workflow, through-the-web editing, and aspect-oriented programming issues
  6. Explore new tools, programming patterns, and integration strategies
  7. Create new project management tool for Distributed Agile Software Development
  8. Extend existing tools with new support for XML, such as adding XPath support to Zope

University of British Columbia Continuing Studies

  1. Teach XML Concepts introductory class
  2. Teach Programming XML class

  1. Develop through-the-web 3D rendering technology
  2. Lead client-side programming team.
  3. Research and review 3-D libraries and techniques applicable to web pages XML-driven 3D for the web

  1. Design and implement server-side Java web applications
  2. Develop e-commerce framework
  3. Supervise and mentor junior developers

Lucent Technologies

  1. Develop software for managing telephone switches (NetMinder)
  2. Document and test Netminder software
  3. Review code of other developers

Communication Network Services, Ohio University

  1. Provide university-wide network support for Macintosh platform
  2. Develop software for dial-up, residential, administrative and faculty networks
  3. Train student workers

Communication Network Services, Ohio University

  1. Create Macintosh installation software
  2. Provide telephone support
  3. Document internet dial-up connection service

Continuing Education Studies, Ohio University

  1. Create and teach introductory HTML course


  1. Methods and systems for enabling collaborative authoring of hierarchical documents
  2. Method and system for enabling collaborative authoring of hierarchical documents with unique node identifications (Pending)
  3. Method and system for enabling collaborative authoring of hierarchical documents with locking
  4. Method and system for enabling collaborative authoring of hierarchical documents with versioning (Pending)
  5. Method and system for enabling collaborative authoring of hierarchical documents with node privileges (Pending)
  6. Method and system for enabling collaborative authoring of hierarchical documents with associated business logic (Pending)


  1. Code Club for Seniors, Lightning Talk, Code4LibBC Unconference, 2019
  2. Uses of the Raspberry Pi, Code Club, Richmond Public Library, 2018
  3. Mavo: Full Featured Websites Without Writing JavaScript, Code and Coffee, Richmond Public Library, 2017
  4. Please Hold On, We Are Experiencing Technical Difficulties, Technology Training to Enhance Women's Safety, BC Society of Transition Houses, 2016
  5. Virtuous Cycles: Empowered Learners, Replicating Successful Learning Models, Creative Failure, BC Libraries Conference, 2015
  6. What to Expect After Graduation, SFU First-Year CS Students, 2013
  7. Lightbeam AMA, Reddit, 2013
  8. Lightbeam Launch Keynote, MozFest, 2013
  9. What's Next: Art and the Future Web: Teaching design students to use the web as a medium of expression, Emily Carr University, 2013
  10. Should We Teach Children to Program Computers? Rogue Curiousity, 2013
  11. Webmaker Hack Jam, Mozilla Vancouver, 2013
  12. Mozilla Foundation Projects, Vancouver Maker Education Meetup, 2013
  13. Mozilla Foundation Projects, Vancouver Library Cooperative Open Data Camp, 2013
  14. Webmaker Tools, Vancouver Mini Maker Faire, 2013
  15. Collusion Update, Mozilla Summit, 2013
  16. Collusion Overview, Mozilla Foundation All-Hands, 2013
  17. A Morning Cup of Coffee (Interative Documentary), Tribeca Institute and Ford Foundation 2013
  18. Collusion: What's coming in 1.0, Mozilla Air, 2013
  19. Waterbear: Visual Programming for the Web, MozFest 2012
  20. Waterbear: Visual Programming for the Web, VanJS 2011
  21. Introducing Waterbear, JSConf 2011
  22. Social Networking for Small Groups, Bar Camp 2008
  23. Aesthetic Programming for Kids of all Ages (pdf), Bar Camp 2008
  24. Visual Programming: Why it matters for Python, Vancouver Python Users Group (VanPyZ) 2008
  25. Other languages from a Pythonic point of view: Haskell, Ruby, Erlang, Processing (with Paul Prescod and Brett Cannon), VanPyZ 2007
  26. Take control of your computer with Python and OS X, Bar Camp Vancouver 2007
  27. Programming OS X with Python, VanPyZ, 2006
  28. OS X, Python, and Kids, Vancouver Python Workshop 2006
  29. Community Building with Blogs (with Nancy White), Moose Camp/Northern Voice 2006
  30. Using Python and Cocoa on OS X, VanPyZ, 2005
  31. Creating OS X Cocoa Applications Using XML and Python, Vancouver XML Users' Group 2004
  32. PyGame: Implementing the big ideas from little developers, Vancouver Python Workshop 2004


  1. Bloc Improved (esp. for mobile) version of minimal block language used in 500 Lines book: 2020
  2. Book Review: The Water Knife by Paolo Bacigalupi (Richmond News, 2020-04)
  3. Book Review: Strange Practice by Vivian Shaw (Richmond News, 2020-03)
  4. Book Review: [Every Heart a Doorway by Seanan McGuire[( (Richmond News, 2020-02)
  5. Book Review: Meddling Kids by Edgar Cantero, (Richmond News, 209-12)
  6. Book Review: Trail of Lightning by Rebecca Roanhorse, (Richmond News, 2019-11)
  7. Blockcode (chapter): Architecture of Open Source, Vol. 3 (AOSA Books, 2016)
  8. XML Matters: Lighter than Microformats: Picoformats (IBM developerWorks, 2006-08)
  9. XML Matters: Up and Atom (IBM developerWorks, proposal accepted, 2006-05)
  10. XML Matters: Pipestreaming Microformats (IBM developerWorks, 2006-04)
  11. XML Matters: The web, it ain't just for 2D anymore (IBM developerWorks, 2005-06)
  12. XML Matters: SVG and the Scriptless Script (IBM developerWorks, 2006-06)
  13. XML Matters: Beyond the DOM (IBM developerWorks, 2006-06)
  14. Python Cookbook 2nd Ed.: Building a Python Cocoa GUI Programatically (O'Reilly, 2005-03)
  15. Browser Evolution: Document Access on the World Wide Web (Master's Thesis 1998-03)


  1. Sketchdance: Shimmy Simple animation tool for children: 2020
  2. Sketchdance: Moat Secure file sharing for library programs: 2019
  3. Sketchdance: Garden Collaborative (in both creation and play) text adventure creation tool: 2019
  4. Magic 8 Ball JavaScript demo project: 2019
  5. Book City: Superheroes: Alternative Reality Game for Richmond Public Library Teen Summer Reading Club: 2019
  6. Moon Animated Art project in collaboration with Azlen Elza: 2018
  7. P5 Video Puzzle Sliding Block Puzzle using Webcam: 2018
  8. Slitscan Horizontal Video Effect: 2018
  9. Imagetoy: 2014
  10. Life: Conway's Game of Life in the canvas: 2014
  11. Drawing Board Revisited: Rewriting the Drawing Board app for the web: 2014
  12. Hexaflexagon builder: Web-to-papertoy tool for Open Badges: 2013
  13. Baffle: Word game for mobile browsers: 2013
  14. Paley Tiles: Animation tool based on work by Nina Paley: 2013
  15. Beehive: A simple test of hexagon web layout: 2012
  16. Everybadge: SVG demo for Open Badges: 2012
  17. Goodnight Moon: My entry in the CSS1K competition: 2012
  18. oBloq: Polyglot literate programming: 2011
  19. I Don't Stop: Experimental audio app for iOS: 2011
  20. Translink: Vancouver transit for iOS: 2008
  21. iHypno: Mind control for the rest of us iOS app, 2009
  22. Pastel Finger: Finger Painting for the iOS, 2010
  23. Waterbear: Visual programming for the web, 2011-present
  24. Living Code Weblog: My outlet for ideas, tutorials, jokes, and soapbox grandstanding, January 2001-present
  25. Sandcastle: A tool for blog-based documentation and brainstorming, 2006
  26. Conversation Networks Uploader: Pre-processor and UI for conference audio files
  27. Drawing Board: A tool for simple sketch-based animation, with SVG export, 2005
  28. Python DocUtils Project: refactored directives code, added new directives, wrote How-To for creating new directives, 2002
  29. Interactive Hotlist: An early attempt at shared collaborative bookmarking, 1997-1999
  30. FreeWord: An experimental web-editable outliner, 1997
  31. Live from Studio B: The Art of Conversation, participated as monthly guest explaining technical issues in plain language, 1997


  1. Raised over \$1000 for Children's Hospital "Balding for Dollars" 2009
  2. Conceived of and implemented Distributed DOM (DDOM), 2 patents granted, one still pending on this technology, 2001-2004
  3. J. Langdon Taylor Scholarship, 1994
  4. Computer Science Club Scholarship, 1994


Ohio University

Ohio University


Available upon request

Background courtesy of Subtle Patterns CC BY-SA 3.0