Frontend Engineer at Chronicle / Google XMountain View, CA Jan 2018 - Present
- Implemented and optimized data visualizations in d3/SVG/TypeScript. This involved a mix of algorithm design to intelligently bucket data and reduce the number of necessary UI elements, as well as event delegation and dynamic CSS rule generation in order to ensure maximum responsiveness for large data sets.
- Implemented data-caching layer to optimally chunk, parse, and slice data for time-window shifts, such as visualization panning or nudging displays by discrete time intervals. This increased overall graph and application responsiveness, and user-perception of performance.
- Optimized programmatic interactions with Polymer’s Iron-List. Created reliable and performant generic solution for re-rendering large-numbers of UI elements (e.g. searching and dynamically bolding matched text within lists of 35k elements).
- Introduced reusable web components, complete with named slots and CSS mixins, to ensure consistent functionality and rendering across multiple pages.
- Delivered security-related brown-bags and mini-talks for internal Chronicle Reading Group.
- Designed Engineering Team T-Shirt.
- Application development in Polymer and TypeScript.
Note:The application is currently stealth, so here's a photo from our May the 4th event. See the video at StarWars.com (around the 7:08 mark) for more info.
UX Engineer at Google (via Synergis)Sunnyvale, CA June 2016 - July 2017
- Designed and implemented internal Noogler Orientation Application, used by all Google new-hires during their first month of employment. Application developed using Angular 2, Typescript, and Python. Created custom animations using CSS3 and raw JS. Application sees over 800 internal users each week.
- Provided a full visual refresh of site layouts for internal Content Management system, GrowCMS, serving over 200 resource sites targeting employee education and skills-development, and reaching over 30,000 internal users per month. Aligned all existing sites with Google's current Material Design, without breaking existing experiences.
- Implemented a number of new GrowCMS UI widgets (e.g. widget for sharing videos, docs, and other assorted media; checklist/task-tracking; and timeline/schedule widgets). Enhanced existing widgets by expanding RichText Editing support, simplifying CSS (consolidated styles, introduced CSS variables, deleted redundant declarations), and created custom CSS animations for visual flair.
- Designed and implemented user-response tracking mechanism for interactive checklist widget (supported freeform-text, checkbox, and other responses). Also added support for importing data directly from PBT (Performance Based Training) app, helping its users to migrate to our application.
- Designed and implemented admin stats view of user-response data, for course owners, including stats- rollup, exploration (task/user comparisons, etc.), and export (to google docs) of user completion data.
- Apps Script work for tracking PeopleDev's Tech Advisor Office Hours and g2g Recognition Tracker
Note:These were internal applications, so I can only show test data.
Lead UI Engineer / Manager at OpsClaritySunnyvale, CA April 2015 - June 2016
- Gatekeeper for frontend codebase. In charge of reviewing and approving/denying all code submissions (pull requests) from domestic and international teams (8 - 9 engineers total).
- Optimized performance of Angular application to handle visualization/tracking of multiple thousands of entities (resources, metrics, and more). Reduced app response time for such datasets from multiple seconds to less than 100 milliseconds.
- Designed and implemented performant client-side cache, event/data subscription, node clustering, and other algorithms to keep application running exceptionally fast.
- Refactored existing d3-based metric vizualizations to allow for streaming data (dynamic animations, live updates, etc).
- Mentored junior engineers in best coding practices, language idiosyncracies, and frontend design patterns.
- Wrote design documents for foreign team, ran semi-weekly meetings between teams to coordinate work and ensure progress on schedule.
- Worked directly with UX designer to ensure that designs were implemented to-spec by the engineering team.
Senior MTS / Manager and Technical Lead of UI Engineering at Skytree: The Machine Learning CompanySan Jose, CA Sept 2013 - April 2015
- Designed the primary web UI and application flow for the Skytree Inifinity web-based machine learning platform. This UI is currently patent pending.
- Advocated and prototyped 'Common Option Validation' for Skytree Infinity product suite, allowing all three components (UI, systems, and API) to utilize a common rules-dictionary for validating user-supplied parameters.
- Designed and implemented a series of complex and highly interactive d3 visualizations, using SVG and CSS3 animations, and supporting both dynamic streaming and statically loaded datasets. These included visualizations of predictive models (tree based), dataset and model relations (network graphs), model-tuning accuracies (dynamic line and scatter graphs), and more.
- Designed and implemented application “metering” UI, to display API usage metrics for billing purposes.
- Designed and implemented a batch-api process (using node.js) such that Data Scientists could initiate a series of long-running, dependent calculations, and be notified by email upon eventual completion (potentially days later).
- Managed the UI team through a mix of Scrum, Kanban, and holistic agile processes.
Application Engineer at YouEye, Inc.Mtn. View, CA April 2013 - Sept 2013
YouEye Android Recorder and Web Application
- Co-implemented the mobile (tablet and phone) Android version of the YouEye recorder.
- Integrated the mobile application with the common platform API for user study tracking, prompting, video uploading, etc.
- Implemented the webcam recording functionality (video codec and frame-rate detection, etc.), and handled related UI work (aspect ratio correction, video preview) to ensure the application worked flawlessly across a wide range of Android devices, from Gingerbread phones to Jellybean Tablets. Multiple efforts toward ensuring application performance across these environments as well.
- Aided in implementation of native code (JNI to C++) for on-device video processing using FFMpeg. Extensive work to ensure that captured screen was synched properly (correct length and frame-rate) with webcam video.
- Implemented new study creation flows for the YouEye web application, using Ruby, Rails, Coffeescript, Backbone, and Eco templates. These included “Bring Your Own” participant studies, support for discount promotions, and a frictionless signup process, which allowed a user to experience the study creation process through to completion before creating an account.
Lead UI Engineer at PertinoLos Gatos, CA Oct 2012 - April 2013
Pertino Web Application
- Developed web front-end to the Pertino application, using Ember.js, node.js, and PHP.
- Implemented app-side billing and Service Plan upgrade flow, involving numerous application screens, verification states, and integration with Zuora billing system.
- Refactored and optimized legacy code, and migrated application from Ember 1.0.0 pre 2 to Ember 1.0.0-RC1 (it involved mitigating a sizable number of breaking framework changes)
- Worked side-by-side with UX to help design and iterate on application UIs, enhancing and revising functionality through each scrum process.
- Participated in overall application API design discussions to ensure a reliable and reusable code-base.
Senior Research Engineer at NASA Ames Research CenterSunnyvale, CA April 2012 - Nov 2012
NASA Playbook Application
- Implemented using Backbone.js, D3.js (for data visualization), node.js, socket.io, and CouchDB.
- Application has been used by NASA astronauts on two NASA Analogue missions (NEEMO and Desert RATS), as p.o.c. for use on the ISS.
- Implemented application timeline functionalities, allowing touch-zoom and related interactions.
- Implemented real-time ‘chat’ component, supporting multimedia posts (user captured videos, photos, etc) to enable communication between mission participants.
- Developed numerous prototypes for explorations into alternative functionality (endless lists, canvas based renderings, etc.)
- Numerous performance optimizations for mobile devices, w.r.t. animations, reducing flicker, CSS transforms, etc. in order to make the tablet experience as fast as the desktop.
Software Engineer at Palm / HPSunnyvale, CA Sept 2009 - March 2012
webOS Communications / Email Application
- Implementation of Email Account Wizard functionality for WebOS 2.0 and 3.0.
- Created and implemented 'supercowpowers' easter eggs for webos 2.0 and 3.0 email applications.