About
I write programs at oidoid and Reddit.
Projects
a small game about mineral collecting. turn your sound on and crack some rocks! open-sourced at github.com/reddit/devvit-….
snoosings is a networked drum machine with a twist: if the internet drops, the last sent melodies will loop, but otherwise you have to keep playing the tones you want friends to hear, and the farther away you are from snoos, the quieter they sound. it's the biggest singing-player game ever. open-sourced at github.com/reddit/devvit-….
mostly a tech demo.
Led development of :play, a little playground for building apps on Reddit.
-
Open-sourced at github.com/reddit/play.
-
Made with love using Lit web components, CodeMirror, CSS, TypeScript, and esbuild. Our goal was to build something fast, easy, and above all else, fun.
-
Try the "portable playground that fits in your pocket" at github.com/reddit/play/releases/latest. It's a single, self-contained HTML file with everything you need to run offline. Also installable as a desktop app from developers.reddit.com/play.
A TypeScripted and Webpacked Vue.js component library for Wikipedia that I led the development of. A lot of the early work was guided by a prototype I wrote (github.com/niedzielski/mw…). I also wrote the wiki page for TypeScript (mediawiki.org/wiki/TypeScript).
Intelligent summary dialogs shown when hovering over Wikipedia article links. I made major contributions in migrating the codebase to ES6 and wrote about some of it (phabricator.wikimedia.org/phame/post/vie…).
An isomorphic single page app that I poured myself into shortly after joining the Wikipedia Web team. All of the functional code is TypeScript and the components are TSX. The project included developing a sophisticated Webpack bundle configuration that is shared by both the Node.js backend and the browser frontend. The backend rendered the TSX components as plain HTML and the frontend hydrated that static HTML seamlessly using deferred, performant, well-split chunks, something of a rarity in SPAs.
I took ownership from architecture and development to launch and rollout of Wikipedia's first server-side split testing infrastructure (phabricator.wikimedia.org/T208789). This hairy problem required deep integration with the MediaWiki stack and impacted Wikipedia, Wikidata, and many other wikis. The implementation itself was relatively simple. However, designing the correct caching behavior and fitting it into the live production system of a top ten website with over a decade of professional and volunteer community contributions required some courage and total commitment. The effort even uncovered an ancient bug in our source of randomness (phabricator.wikimedia.org/T208909).
I was a top contributor to the Wikipedia native Android app both in quantity and impact for major feature UI, networking, database layer development, and did extensive refactoring.
I led development of this TypeScript and JavaScript library which was shared across native Android/iOS apps for WebViews. It's since been ported to several Node.js backend services but the original implementation used bridge messaging about on both native iOS and Android.
Side Projects
Graphical line-oriented text editor. Kind of Trello but plaintext. Made with Deno, Lit web components, and esbuild.
A standalone kerned pixel font optimized for both minimalism and legibility. Includes automations for converting from Aseprite to bitmap to TTF. I also wrote an accompanying text layout engine (github.com/oidoid/nature-…).
An isometric adventure in an idealized state of nature in TypeScript, WebGL, and Rust with WASM. Mostly just a walking simulator and in-game level editor currently. Everything from scratch.
A fun WebGL screen saver for fans at the intersection of The Matrix and pixeling. This was just a toy project so no frameworks were used (github.com/oidoid/01).
📋 Universal command-line clipboard with automatic copy and paste detection. Eg, c`b|sort|cb`. The missing link between GUIs and CLIs!
Writing
Work Experience
- Devvit core runtime development (web, backend, CLI) and Developer Platform RPC architecture.
- Community developer SDK.
Full-stack single page app development. Development lead for the full user interface overhaul of a high-impact existing internal app as well as the lead for an upcoming greenfield project.
I worked on the wikipedia.org mobile and desktop sites, the Wikipedia for Android app where I was a rotating tech lead, an isomorphic single page app, and Node.js REST web services. The Android team was awarded a Google “top developer” badge and the app has over 50M downloads on Play and F-Droid. Evangelized TypeScript and build steps in the Wikimedia communities by enabling type-checking for the desktop site and authoring “All code is built” and “The best documentation automation can buy.” Lead developer for web SEO improvements that were measured to increase search engine referrals to Wikipedia by 1.4%.
I helped build the MapQuest 2.0 and Commute Android apps on the “Aces” squad. My individual contributions were recognized in being one of the first recipients of the Monozukuri Award presented by the Aol CTO and promotion to team lead.
Embedded systems and Python programming for advanced servers. Within a few months of starting, I helped to develop a major portion of the software stack from alpha-board to sustaining engineering of our 2012 flagship product. My roles included firmware programmer, host tools app dev, and test automation framework engineer.
Embedded Android peripheral development at a smart vending machine startup. I owned the peripheral bootloader and firmware, including the communication layer between the Android application processor and concession coprocessor. I also made notable contributions to the build system and manufacturing processes.
Android platform and app development for all AT&T and T-Mobile devices at a brand new lab. A very special experience, I was one of the first five employees and even made our initial code release. I was the Android software project lead for City ID and Name ID implementations across 20+ devices. The majority of this work was at the Android application and middleware layers. Additionally, I did regular pre-launch triage support for many other apps including Ready2Go, Qik, and Social Hub and built the majority of lab infrastructure from the build servers to the wiki. My adaptability, commitment, willingness to work across roles, and the foundations I helped establish and evolve, were responsible in great part for the successful launch of the new lab.
Device driver programming and integration for mobile devices. I was the primary UEFI developer for the USB peripheral driver on Windows 8. I was also the lead integrator for USB, UART, and other technologies on all Windows Phone 7 platforms. Our team was a paradigm for test automation and for static and dynamic code analysis. As a result, we were recognized for frequently maintaining a zero weekly bug count.
USB firmware development for the Nintendo Wii in a tiny but brilliant R&D department. I worked on the EHCI and OHCI host layers, various device drivers, middleware, demos, the build system, extensive test automation suites, and everything in between. Offered a permanent position as a game systems designer.
Education
I developed several games for PC, Game Boy Advance, and mobile platforms, built an embedded kernel from scratch, and created an assembler. I also designed and synthesized several advanced digital hardware components including a GPU, real-time image processor, and a USB accelerator.