David Betz

HTML/CSS/JavaScript Portfolio Highlightsonly my own activites are listed

1996 (reminder: 22 years ago)

JavaScript single-page HTML application (frames in Netscape 3.0) for High School history project; a lot of JavaScript; largely frames; laughable application today; at the time it was quite impressive; easy A


Very dynamic web application for client (Hill's Pet Food) in HTML with remote scripting (years later called AJAX); was a teen at the time and my employer let me run with my proposal for a new technology concept that would blow the client's mind; very successful; company moved to this model from VB6


Recreated Word comment system in Microsoft Word (Firefox-only); you highlight words and the comments stay on right side of screen; hovering over words would highlight comment; hovering over a comment would highlight words


Create company portal called Information Access Portal (IAP); administrators could define RSS feeds based on SQL statements (for company stats, etc); users could consume these as blocks in their portals. Administrators could also, of course, create RSS feeds to monitor various aspects of SQL server as well and add these to their own portal; not much JavaScript




Created YouTube-style video playing web app with dynamic playlist for a local media firm; largely a single-page app after account login

(switched from raw JavaScript to Prototype/Scriptaculous)


Built HTML/JavaScript magnifier for clothing retailer client; pixel-accurate (nearly none of the ones used my department store websites are accurate at all)

Built JavaScript window manager (WM) for client's internal company portal; with a WM, there's a centralized controller stating which window is active, allowing for event bubbling to be very accurate; design modelled after operating system window managers

Build fully-interactive drag-and-drop puzzle system in Prototype / Scriptaculous -- years later (2010) ported to Silverlight (2,3,4,5 or whatever); years after that (2012) ported to Knockout.js.


Built online document editing tool with heavy JavaScript; users locked parts of document; edited document; staged changes and committed changed (like Git before Git); single-page app in raw JavaScript (later ported to Prototype)

(switched from Prototype to jQuery)


Built company-wide ticket tracking system for Bank of America; recreated Windows 8 Metro theme for saved searched; created dynamic searching tool (powered by .NET LINQ expression-trees); recreated Facebook selection tool to allow employees to search with autocomplete and select multiple tags for requests; primarily jQuery/Knockout.

(switched to AngularJS)


Added full AngularJS functionality to graphic designer's HTML/CSS assets for Billboard top 100 website; added mechanisms to add queues to image loading; my first AngularJS application; looking back on it, it could use modular refactoring


Create personal Springpad replacement in pure AngularJS; rather complex application; loads schema on initial load; HTML controls are created based on loaded schema; schema is aware of both data-types (e.g. number, string) and visual-type (e.g. date, money); authenticated users can edit or add items; images are HTML5 drag-n-drop; modular AngularJS architecture with many highly cohesive components (e.g. services); backed was a very complex application exposed via Web API, but the entire thing was replaced with direct Elasticsearch calls (nginx ensures public readonly access); very complex single-page app

Actual Site (more complex examples are private)



Ensure security on AngularJS application (JWT tokens) on law enforcement application; used $http interceptors to add tokens; used localStorage to store token; (built entire claims-tracking Web API components on the server-side); implemented AngularJS components to interact with cloud storage; implemented AngularJS-based timeout mechanism for auto-signout; Implement AngularJS components to add company-wide push notifications on website of law enforcement events.

(switched to Angular2)

2017 (last half of 2016 into 2017)

Built an Azure-heavy gaming website based on a 100%-pure Angular2 (TypeScript) SPA backed by a series of Node.JS (ES6) services. General data (e.g. colors, themes, other static lists) and specific game moves were stored in Azure Table Storage. Game-specific user data, in-game notification data, and social-media sharing data were stored in a CentOS7-hosted MongoDB instance. Azure App services provided Node.JS and HTML5 static hosting with multi-slot deployments for release testing. SVG sprites were setup in Azure Blob storage distributed with an Azure CDN. Styles modularly added with Sass. Authentication and social-media identity services were setup via Auth0. Realtime multplayer interactions were setup with websockets via socket.io.