In the works

Side Projects

Three things I'm building right now, not ready to show yet, but they're coming.

SCROLL ↓

Why I build

Side projects are how I learn

I do this on the side because building real things is how I actually get better - every project here pushed me to learn something I couldn't get any other way. I wrote about it: How I learn by building →

The big swing

The last projects I will build...

This is where my journey has landed. Everything before it was practice - these three are the ones I'm building for real, the most ambitious things I've taken on and my first time building something this big and complex fully on my own. Still under wraps, but they're coming.

Libraries & open source

Tools other devs can install

Open-source React libraries I've built and published to npm, each with a live, interactive demo.

apx-ds engine

In development@apx-ds/engine

The engine behind apx-ds: a single generic core every component is built on. It owns variant logic, design-token resolution, responsive prop resolution ({ base, sm, md, lg, xl }), animation primitives, and class merging — so behavior is defined once and shared, never re-implemented per component. Framework-thin and feature-rich, it's what makes the whole design system configurable and overridable at every level.

  • One place for variant logic, token resolution, responsive props, and motion — every component imports it, nothing is duplicated.
  • Responsive resolver turns a single value or a { base, sm, md, lg, xl } object into CSS in one pass.
  • Shared animation primitives and class-merging utilities across the library.
TypeScriptEngineDesign TokensHeadlessReact

composeai

Open sourcecomposeai@0.1.8

A drop-in, Lexical-powered message composer for chatbots, copilots, and agent UIs — a ChatGPT-grade input without building it from scratch. Every production feature is opt-in behind plugins; your chat logic stays simple: listen on onSend, wire your model, done.

  • Hybrid (Slack-style) or live (Notion-style) markdown built on Lexical, with @mentions and slash-command typeahead.
  • Attachments via paste / drag-drop, Web Speech voice input, Mermaid previews, and a streaming Send→Stop UX.
  • Fully plugin-driven, themeable, and internally stateful — swap any chrome piece via render-prop slots.
ReactTypeScriptLexicalAI ChatMarkdownnpm
$npm i composeai

React Flowcase

Open sourcereact-flowcase@0.1.3

A React library for building automated walkthroughs, onboarding tours, and product demos — a virtual cursor that clicks, types, and navigates your UI, driven by declarative, awaitable steps.

  • Virtual cursor that clicks, types, and navigates through your UI.
  • Declarative, awaitable flow steps with cancellation and error handling.
  • Dev-mode recorder watches your interactions and generates the flow code.
ReactTypeScriptOnboardingWalkthroughsnpm
$npm i react-flowcase