Custom made interactive tools for a large web application.
The examples below illustrate some of the work I did while working as a Lead and Senior Front-end developer for Computerized Assessments and Learning (CA&L) and Educational Testing Services (ETS).
Color Accommodations Processor
(CamanJS, Regular expressions, SVG, Node.js, Grunt)
- Color conversion of different media by using modular filters ex: CSS stylesheets, SVG graphics and images.
- Easily expandable to support new media types (example: videos) by creating new filters.
- Performance optimized by caching computation results.
Rich Text Editor
- Plugins: text styles, math expressions, clipboard manager, undo manager, toolbar, key combos, custom scrollbar.
- Thoroughly tested via unit tests and integration tests.
- Performance optimized: through state saving (to avoid duplicate computations).
- Performance optimized: through function merging pipeline (to merge consecutive operations into one).
- Modular tool types
- Accessible: User can draw with mouse, touch or keyboard
- Automates tasks which are defined as a series of consecutive steps.
- Simplifies asynchronous behavior of functional testing by using busy-wait checks within steps.
- Expandable by defining custom steps.
(Multi-track, clock synchronization)
- Modular architecture allows defining different track types (audio, video, subtitles, slide shows, etc.)
- Clock based synchronization method to keep multiple tracks aligned.