Software engineer, musician, screenwriter, horror enthusiast, amateur mixologist, dog person.

about me

Hi, I'm Mark.

By day, I'm a software engineer based in Second City, and I build applications for the web.

Outside of work, I've written award-winning screenplays, and I collaborate with friends to make music and films.

Yours truly.


8 years as a software engineer, working on web applications.

Download my resume, or feel free to check out my LinkedIn profile and Github account for a more complete picture of my background, and the kinds of projects I've worked on so far.


Senior Software Engineer (Remote)

  • Designed and led state management refactor, simplifying contribution for external teams.
  • Contributed features across the full stack — such as marking messages as unread and conversation participant management — in support of major platform messaging redesign, centered around migrating from an email-based messaging system to an in-app real-time messaging platform.
  • Acted as dev lead for critical backend messaging feature, which included investigating and comparing potential approaches, writing a design solution document and sharing with stakeholders, scoping work, interfacing with external teams and sharing progress, and supporting engineers.
  • Served as on-call first responder on a rotating basis, resolving production issues, scaling devops infrastructure, and improving application monitoring and alerting.
typescript java kotlin react nodejs spring-boot apollo graphql aws datadog


Software Engineer (Remote)

  • Contributed full stack features to external and internal Google Cloud Platform web applications using React, Angular, Node.js, Groovy, and Google Spanner DB.
  • Tuned SQL queries and improved API request times by as much as 90%.
  • Researched and owned UI development of large scale feature for internal GeoData platform tool.
  • Configured automated linting and code formatting for project, helping reduce noise in code reviews.
typescript groovy react angular nodejs google-spanner gcp


Senior Full Stack Software Engineer (Remote)

  • Collaborated with product and design to build new features for web-based video editing application with React, Typescript, Redux, Node.js, Ruby, and MySQL.
  • Contributed to a Node.js media processing pipeline, enabling font upload and validation for use in video editor.
  • Planned and executed A/B testing for subscription tier pricing that led to 13% increase in conversions.
javascript typescript ruby react redux nodejs rails mysql jest ansible


Senior Software Engineer, Web (Remote)

  • Improved Lighthouse performance scores for by 15% by optimizing webpack build output.
  • Built and maintained keyword-rich data tables in single page application wtih 1M+ monthly users, boosting site in organic search result placement.
javascript typescript react redux gatsby webpack jest

JP Morgan Chase

Senior Software Engineer (Houston, TX)

  • UI tech lead on development of internal CRM tools using OpenFin, React, Redux, and Spring Boot.
  • Served as a web architecture design authority to promote coding standards and best practices across web teams, and to provide mentorship and coaching to growing engineers.
  • Oversaw efforts to build out automated testing infrastructure with Selenium for end-to-end testing, and Jest for unit testing, leading to > 90% code coverage.
  • Led initiative to modernize team's software development lifecycle, decreasing ticket lead time down from 60 days to 3 days or less.
  • Standardized hiring process for frontend engineers and conducted interviews.
javascript typescript java react redux spring-boot create-react-app webpack jest jenkins

Software Engineer II (Houston, TX)

  • Reviewed and recommended technology options for large application rewrite.
  • Prototyped, developed and delivered MVP of application that saved sales team 100+ hours per week.
  • Coordinated with cross functional teams to plan and prioritize backlog.
javascript react redux create-react-app jest jenkins

Stardog Union

Software Engineer (Remote)

  • Bootstrapped and developed a serverless React web-app, leveraging AWS for MFA, role and permission management, REST services, and database storage.
  • Authored a Visual Studio Code extension for syntax highlighting and running queries against company’s flagship graph database.
javascript typescript react semantic-ui-react stylus express create-react-app jest enzyme circle-ci aws


Front-End Engineer (Remote)

  • Implemented new client-side architecture and build setup using React, Redux, and Webpack that enabled faster development and component reuse between client projects.
  • Resolved 50% of documented UI bugs within a month of joining the team.
javascript LESS react redux redux-saga express webpack ansible


Software Engineer (Houston, TX)

  • Worked closely with UX and Product teams to rebuild legacy sales analytics dashboards in React.
  • Helped extract common UI components into an internally-shared component library.
  • Leveraged Webpack to reduce average build time and CPU usage by 87.5% and 93%.
javascript java LESS ember-js react redux redux-saga express webpack docker



Online multiplayer Snake using WebSockets and vanilla JS. Implements snakes as circular buffers with O(1) reads and writes.

code javascript html5-canvas socket-io


The classic game of luck and logic, but with the ability to design and share custom minefields. Node backend API deployed on Heroku, and a React single-page application deployed on Vercel.

code javascript react jest heroku vercel circle-ci postgresql express

Wedding RSVP App

A responsive React/Redux wedding RSVP program using Google’s Sheets API to turn a Google Drive spreadsheet into a free database. This project also needed to support i10n, since my wife’s family only speaks Spanish.

code javascript react redux i10n babel webpack google-sheets-api


A React-powered, two player, online nim game, using WebSockets to push updates to players. Built in two days.

code javascript LESS react babel webpack express socket-io


JS web-based motion-sensing virtual drum kit. Built in 24 hrs. Won 2nd place at CodeRED MLH hackathon, Spring 2015.

code javascript LESS grunt socket-io


“Translates” user text input into tiled mosaics of randomly generated colors.

code ruby SASS erb yaml sinatra

contact me

Reach out to me for work, conversation, collaboration &&|| a beer.

Email me!