πŸ‘‹ I'm Nick Zuber,

I'm a software engineer at Notion on the enterprise team, helping improve the Notion experience for large customers.

Previously, I worked at Robin as a staff software engineer leading the maps product. Before that I worked at Box as a tooling engineer where I helped work on ClusterRunner, which is an open source tool for horizontally optimizing tests & testing infrastructure.

In my spare time, I love to research and explore certain areas of computer science and geometry. My current interests span across programming language design, type theory, and geometric algorithms. Some of my hobby projects are fun examples of the things I like learning more about.

I graduated with a BS in Computer Science and minor in Math from UMass Lowell, where I studied programming language design and gradual typing with Matteo Cimini, machine learning with Dr. Jerome J. Braun, and compiler architecture and design with Jay McCarthy.

Other things I enjoy: billiards, compilers, chess, graph theory, crossword puzzles, OCaml, developer tooling, open source software, table tennis, scented candles, and plants.

Career History

Over the years I've has the pleasure of working with some amazing people and I've made some accomplishments along the way. You can take a look at my resume to see what I've been up to lately.

May 2025

Promoted internally to an L4 software engineer.

April 2022

Joined Notion as a founding member of the enterprise team.

Feb 2022

Promoted internally to a staff software engineer.

Nov 2021

Robin's layout tool officially launched! My team and I have been working hard on this product for the past year or so – it's basically Figma for building offices.

April 2021

Officially released Meteorite to the general public! It was a very fun and rewarding experience working on this smart GitHub notification inbox.

April 2020

Promoted internally to a senior software engineer and became the lead engineer on the maps platform, helping optimize and evolve the product as a whole.

May 2018

Graduated from UMass Lowell with a BS in Computer Science and minor in Mathematics, focusing on metatheory of programming languages.

Dec 2017

Accepted an offer to work full time at my favorite startup, Robin. I joined the front end engineering team to help build out our component library, developer build & release tools, and some cool new products.

June 2017

Began my next internship at Box, joining the productivity engineering team. I've always loved building developer tools as a hobby, and doing it professionally was just as fun.

May 2016

Started my internship at Robin, joining the mobile team as a software engineer working on React Native which was bleeding-edge at the time.

What I've Built

I love working on side projects. Creating free & accessible software is something I'm really passionate about. All of my projects can be found on Github, but a few of my personal favorites are highlighted here.

Notion Draw: Simple embedded doodling app

Simple drawing web app designed to be embedded in Notion pages. This unlocks the ability to doodle directly within Notion, which is something I've wanted for a while.

Crosswordle: A daily crossword game

Inspired by games like Wordle, Scrabble, and Bananagrams, the game challenges you to build a tiny 6x6 crossword board from the 20 letters given to you.

This one was a ton of fun to make and had some interesting technical challenging (generating valid 6x6 crosswords with 20 letters).

Spectre: Simple SVG editor for tracing

Spectre is an experimental SVG editor designed to help make the process of creating clean & minimal SVGs really simple.

The features for this editor are also very intentional β€” they're designed around specific workflows to help users trace complex shapes and generate simple SVGs.

Infrared: Inferred static type checker for JavaScript

Infrared is a developer tool that statically analyzes JavaScript projects and finds type errors. If you've ever used Flow before, this project is kind of like that but specializing in type inference.

This project fills the gap between vanilla JavaScript and TypeScript: if you want to go all-in on a type system you should use TypeScript. If you want type safety without changing anything in your project, use Infrared.

Meteorite: Smarter GitHub notifications

Smarter GitHub notifications. Organize and score notifications based on importance and relevance.

Meterorite is the solution for managing your GitHub notifications by filtering out the ones that don't matter to you, scoring & sorting the ones that matter based on personalized heuristics, and using desktop notifications.

ClusterRunner: Optimize test suites horizontally

A testing tool for distributing test suites across infrastructure. At Box, it ran around 100,000 tests each day and accelerated feedback by 300Γ—.

I built a build-artifact caching layer and reworked the API.

chs: Play chess in your terminal

Spawned from my love for chess, I created an app to play chess against the Stockfish engine in your terminal. It ended up being a great tool for learning and practicing reading the board (+ algebraic notation).

This was a ton of fun to make because I was able to build it using Python which I don't get the chance to use too often, and designing a UI engine for the terminal to print the chess board was an interesting challenge.

ReasonML + JavaScript interoperability tool

This is an easy to use cli tool that helps you seamlessly interop ReasonML code with an existing JavaScript project. You tell us where your ReasonML code is, and we'll handle the rest!

After this project started getting pretty popular, I worked with the BuckleScript team to help integrate this functionality into the main project!

Kelp: x86-64 compiler

While learning about compilers, I also built one from scratch using OCaml. It compiles a JavaScript-like language which features like closures, functions, vectors, and types, to x86-64 assembly.

Don't think I skipped out on the fun stuff; I also wrote an automatic garbage collector in C to compliment it.

Markup: Create and share TeX snippets

Markup is a web app that lets people easily create and share rich TeX snippets. You can write snippets containing markdown and/or math typesettting - similar to the math typesetting you find in LaTeX distributions.

I made this to help myself and other students collaborate in our mathematics and CS courses. It was also a simple way to describe questions to professors over email, which was nice.

Needle: Extensive data structure library

Needle is a standalone extensive data structure library in JavaScript.

Fun fact, this was actually one of my first open source projects I ever made (will always have a special place in my heart).

What I've Written

When I'm not reading about new things, I like writing about them. I usually post my articles to Medium if it's something I'd like to share with folks. Otherwise, I'll write things up and post them here.

Procedurally Generating Indoor Pathways

Exploring a wayfinding technique that doesn't involve drawing anything by hand. Spoiler alert: Voronoi diagrams and math.

Why GitHub notifications make it hard to get things done & how to fix it

My quest to solve the world's most pressing issues: managing GitHub notifications. I explore ways to make them manageable and introduce Meteorite, a tool for smarter notifications.

Proving type soundness in a simply typed lambda calculus

Typing rules, runtime semantics, evaluation contexts, and a type soundness proof for a simply typed lambda calculus with traditional language features.

Exploring Linear Discriminant Analysis Classification of Non-Normal Data using Poker Hands

An exploration of linear discriminant analysis on a multi-class, non-normally distributed dataset, including where the method becomes unreliable and how to improve its reliability.

What I've Read

Reading helps me stay sane on my commutes and take deeper dives into topics of interest. Here are some books and papers I've really enjoyed recently, that I think are worth sharing.

An asterisk (*) marks something I'm currently reading.

The Inner Game of Tennis*

W. Timothy Gallwey

Exploring methods for staying focused in high-pressure environments. I don't play tennis, but this is very relevant to billiards.

Types and Programming Languages

Benjamin C. Pierce

A great read for brushing up on the fundamentals of type theory and programming-language metatheory.

Fast and Precise Type Checking for JavaScript

Facebook Inc. Β· University of California, San Diego

An overview of Flow's internals, its gradual type system, and the design decisions behind its implementation.

Hypergraphs: First Properties

Alain Bretto Β· UniversitΓ© de Caen

An introduction to properties of hypergraphs and why they matter.

Advanced Programming Language Design*

Ralph A. Finkler

A deeper look at programming-language features and the tradeoffs involved in designing a language.