Web app
Next.js · React · TypeScript · Tailwind
Skills
Nine areas, one goal: software that works in the real world. Pick an area to see the tools, and the projects where I have used them.
The toolbox
Every tool links to the projects where it earned its place.
Interfaces that load fast and adapt from phones to wide desktop screens.
Typed JavaScript for safer code.
Used in
REST APIs, databases and authentication behind every product.
Sign-in and store connections with Google and Shopify.
Used in
Android and iOS apps from one React Native codebase.
One codebase for Android and iOS.
Used in
Build, run and ship React Native apps.
Used in
A cross-platform UI toolkit.
In the toolbox, ready when a job needs it
Shopify themes and embedded apps, built from the ground up.
Smart contracts and on-chain payments.
Scrapers and scripts that do the repetitive part.
Hosting, domains and deploys straight from GitHub.
Automatic HTTPS for custom domains.
In the toolbox, ready when a job needs it
Domain automation.
In the toolbox, ready when a job needs it
Billing, email and Google services.
Languages I reach for when the job calls for them.
A workhorse language for the JVM and Android.
In the toolbox, ready when a job needs it
Systems programming with strong guarantees.
In the toolbox, ready when a job needs it
How it fits together
The pattern behind Knewler, Onshipy, Swifrly and Rannikon: a web app, an API, a database, and a few services around them.
Web app
Next.js · React · TypeScript · Tailwind
API
Fastify · Node.js · JWT
Database
PostgreSQL · Supabase
Compare
Nine projects, and the core technologies each one is built with.
| Project | |||||||||
|---|---|---|---|---|---|---|---|---|---|
Brand partnerships, freelance projects, or just to talk shop.