Mike's Photo

Mike Antonic

I love building things.

In 2012, I co-founded PixelCut and took on the role of engineering and product leader. Together with my team, we created PaintCode, a widely-used design and development tool, and Drama, an innovative prototyping and animation tool.

Drama caught the attention of InVision, leading to their acquisition of our team in 2020. As a Principal Software Engineer at InVision, I was the technical leader for the Engine and WidgetSDK initiatives, spearheading the development and bringing them to fruition as integral components of Freehand.

Engine & WidgetSDK2020–2022 · InVision

As a Principal Software Engineer at InVision, I led the development of two key projects - the Engine and the WidgetSDK - which ultimately became integral components of Freehand, InVision's flagship product.

The Engine is a port and further enhancement of Drama's engine, designed to run in web browsers using WebAssembly. I played a principal role in figuring out the overall technical approach for quickly porting the engine from Objective-C to C++, making it significantly faster in the process (a 30x improvement), and exposing its public C++ interface to JavaScript via Emscripten. I also established coding patterns and conventions, oversaw development of new features, and contributed significantly to the implementation of the Engine.

The WidgetSDK is a developer-friendly UI framework built on top of the Engine technology, specifically designed to enable rapid development of new visual objects (widgets) for Freehand's collaborative canvas. I was responsible for designing the WidgetSDK framework to be powerful and easy-to-use, as well as overseeing its development from a technical standpoint, and developing dozens of widgets for both production and executive demo purposes.

Throughout the development of these projects, I collaborated closely with InVision's senior and executive leadership team on product direction.

Technologies used: C++ TypeScript JavaScript WebAssembly Emscripten WebGL

Drama2015–2020 · PixelCut

Screenshot of Drama application

Drama is a powerful design, prototyping, and animation tool that combines all of these features in a single, easy-to-use application. After its launch, Drama's innovative features and level of polish caught the attention of InVision, an established player in the design tool market. Eventually, InVision acquired Drama and our entire development team.

In 2015, the designer's workflow was scattered, with different tools used for designing user interfaces and another set of tools used for creating interactive prototypes and animations. Our vision for Drama was to unify these workflows under one powerful app, while also expanding beyond the market we were already serving with PaintCode.

While there are surface-level similarities between the PaintCode and Drama products, the underlying software architecture of Drama is completely new. Its data model is based on immutable (persistent) data structures, which simplifies the implementation of advanced features such as the built-in version control system, animation editor, incremental saving and loading of large documents, and (unreleased) multiplayer collaboration support.

As with PaintCode, I served as the engineering and product leader for Drama, and also made significant contributions to its UX and UI design.

Technologies used: Objective-C Swift AppKit Cocoa Metal Core Animation Core Graphics SQLite

PaintCode2012–2016 · PixelCut

Screenshot of PaintCode application

PaintCode is a vector drawing app that instantly turns your drawings into code. I wrote most of the code for first version of PaintCode in three months, before launching it in March 2012. It quickly became one of the most popular developer tools on Mac. Some of the best companies in the world - like Apple, Google, LEGO, Dropbox and The New York Times - used PaintCode to develop their products.

The immediate success of PaintCode allowed me and my co‑founder to build a small bootstrapped company PixelCut. We continued to improve and release new versions of PaintCode for many years.

Using code to draw the user interface was the best way to develop resolution-independent applications for Apple's iOS and macOS platforms. Writing such code by hand is very tedious, so using a tool like PaintCode saves developers a lot of time.

PaintCode introduced several features that only became available in general-purpose design tools such as Sketch and Figma much later: auto-resizing support for layers, variables / design tokens, expressions, resizable parametric components and design systems.

I was both the engineering and product leader of PaintCode, and managed our small team on day-to-day basis. Aside from coding contributions, I also did a lot of UX and UI design work.

Technologies used: Objective-C AppKit Cocoa Core Graphics OpenGL