Thumbnail view of the BiggerPicture landing page


BiggerPicture is a SaaS solution for optimizing scheduling between shippers, transportation, and consignees, drastically reducing assessorial costs and delays. Backed by Y Combinator. I'm helping BiggerPicture develop their platform using React, Next.js, and full-stack TypeScript with tRPC.

Thumbnail view of the LunaOcean ocean weather app, built in part by the author

LunaOcean Data Platform

LunaOcean consolidates real-time and forecasted wind, wave, and ocean current data in a modern map interface. I worked on this project from inception, building with TypeScript, Next.js, and a serverless backend leveraging AWS Lambda and MongoDB. The WebGL-based particle animation for visualizing currents was a particularly interesting challenge.

TypeScriptNext.jsMapboxGL JSAWSMongoDBPython
Thumbnail view of a page showing black and white line art

Instability I/O

A gallery and playground for visualizing output from process-based models on an HTML canvas. All of the animations are procedurally generated with client-side JavaScript. Vite for module bundling. No JS frameworks.

HTMLCSSTypeScriptHTML CanvasVite
Thumbnail view of a GitHub repo statistics project page

Repo Metrics

A for-fun Next.js project for comparing GitHub repositories by interest and development effort metrics. Authenticated users can curate a custom list of repos, persisted in a MongoDB database. All asynchronous state is managed with useSWR.

Next.jsTypeScriptSWRMongoDBNext-AuthChart.jsTailwind CSS
Thumbnail view of the author's dev portfolio landing page

Dev Portfolio

My personal landing page and portfolio site, built with TypeScript and Next.js. A place where I can try new things and share projects I've worked on. It includes a blog page leveraging MDX, though this component isn't live yet.

Thumbnail view of a coaching business page built for a client

Freelance Work

I occasionally take on freelance projects. The linked page is a recent Next.js project built for an entrepreneur in the health and wellness field. All the site's content is served from a Prismic CMS and managed by the client.