CTO2015 - PRESENTWikiful
Technologies: Ruby on Rails, Vue.js, PostgreSQL, AWS, Stripe
- Built an entire SaaS product—this includes integrating it with Stripe, an email/notification system, setting up the marketing site, setting up wiki platform, implementing continuous integration, and utilizing open source when appropriate.
- Created a best in class WYSIWYG editor to manage wiki content.
- Developed a custom spell checker.
- Improved responsiveness (mobile friendly) of the entire site, including the wiki editor!
- Managed the architecture and all the implementation details.
Web Architect Consultant2013 - PRESENTApptimize
Technologies: Java, Python, Angular, Redis, PostgreSQL, AWS
- Helped in the early stage web app development to support customers ability to create, run, and view AB experiments.
- Set up a Redis cluster in order to support large volumes of customer data.
- Led the use of Angular best practices within the organization.
- Implemented countless beautiful mockups from our designer.
Web Architect Consultant2014 - 2015Cazena
Technologies: Ruby on Rails, Angular, PostgreSQL, Go, AWS
- Created the foundation for the user application using Rails and Angular.
- Made significant contributions to a cluster manager within AWS to process big data.
CTO2012 - 2013Storytelling Machines
Technologies: Ruby on Rails, HTML5, Bootstrap, Backbone.js, PostgreSQL, AWS, Heroku, Stripe
- Created a new templating language to define how stories are generated and rendered.
- Built a compiler that would take user input (text, voice, images) and a template defining a video and output a video JSON file.
- Used the latest HTML5 technologies to dynamically render a proprietary video JSON file.
Senior Software Engineer2008 - 2012Endeca
- Made remarkable contributions to a strategic research project within the first 6 months as a full-time employee.
- Tasked, as the main engineer, with rewriting the analytics/business-intelligence language to use on the outcome of a new research project.
- Redesigned a wild-card text-search to use a more balanced approach that resulted in smoother performance characteristics and less configuration (eliminating ngrams).
- Changed the engine and indexes to work in a clustered environment which required a reader/writer distinction and ability for the writer to inform readers of a pending update.
- Debugged a performance problem resulting from string management.
- Introduced a task: a local string allocation for better string management in a highly parallel system—resulting in major performance improvements.