Matthew Main
I'm a multidisciplinary UI designer and developer in Brooklyn. With a background in writing, design, and programming, I have an eye for interactive visual storytelling. My creative projects take shape at the user interface and often span deep into the code that underlies today's evolving onscreen visualizations.
As a UI Designer, I work mostly in Sketch, Illustrator, and Photoshop. More often than not, I incorporate animation and motion graphics using After Effects and programmatically-animated SVG. I also create custom illustrations, and I take any chance I can get to shape 3D visualizations in Blender. My UI design projects range from mobile apps for collaborative culinary arts and origami instruction to a social reading web app and lushly styled indie video games. Occasionally I step over to the UX side, where I'm fluent in wireframing, user psychology, app structure, and user flows.
With my background in development, I love to bring design concepts to life with code. In addition to HTML/CSS, I have a special fondness for advanced JavaScript. I've designed indie video games that I've built using jQuery, React, Canvas, Three.js, and Physijs. (In the process of programming one game, I wrote a popular guide on how to incorporating glTF shapes into 3D JavaScript frameworks.) While designing an interactive plant growth visualization, I wrote a Verlet integration physics engine from scratch, and I published an original Mendelian genetics engine called EvolveJS. I do a lot of web animation with GSAP, and while designing animated icons, I also adapted a jQuery plugin as an all-purpose SVG animation library called AnimateAnythingJS. Outside of Javascript, I've designed the UI for an online novel web site that I built from the ground up as a full stack Ruby on Rails app with a SQL back end. I'm comfortable quickly picking up new languages and frameworks, and I'm always looking to expand my tool set. Lately, I've been building some app designs as full stack iOS apps using Swift, Xcode, and Firebase.
Elsewhere online, I keep a blog where I write how-to guides from what I learn as I design and code. A few of my projects have been featured on the CodePen Spark, including a hi-res coin toss visualization, a 3D derby game, a fast-paced gardening game, and petri dish evolution simulation.