The Grimoire
Selected Work
Every work is a chapter — the problem, the build, the stack, and the outcomes. Products built and operated end to end, plus client work for BitMEX and ROWDY Bags. Open any chapter to read the whole story.

CHAPTER I — ROWDY BAGS
◆ Client · ROWDYShopify e-commerce + paid social & search for a leather-goods brand.
Built and maintained nearly all of the brand's websites on Shopify (storefront, campaign and landing pages) and drove its digital marketing: paid campaigns across Facebook, Instagram, and Google Ads, from creative to targeting to budget. Ran the exclusive Norwegian distribution.

CHAPTER II — SYSCO / CEGAL
◆ Client · SYSCO / CegalFrontend consulting in Norway — from a government upskilling portal to Toyota fleet tools.
Shipped a government-funded upskilling portal for immigrants from concept to launch in 14 months. Modernised Toyota Norway's fleet tools and built a facilities IoT dashboard — all with Vue.js and Vuetify, working directly with stakeholders as a consultant.

CHAPTER III — THE WORLD NOW
Live AI news platform on an interactive 3D globe.
A solo, end-to-end product: a Next.js + Mapbox front end on Vercel, an AWS Lambda fleet that scrapes, classifies, and generates articles around the clock, a Catalyst market-prediction engine, MongoDB Atlas, Stripe subscriptions, and a hand-rolled ISR-safe A/B testing layer in ~80 lines of middleware.

CHAPTER IV — SITFUL
Calm, on-device macOS posture coach.
A Tauri 2 app with a Rust core: AVCaptureSession → Apple Vision pose detection → Rust scoring, fused with AirPods head-motion via CoreMotion, SQLite storage, a live 0–100 posture score with adaptive nudges, and a signed, notarized, auto-updating .dmg. Plus a Next.js marketing site with live Stripe checkout and A/B-tested pricing.

CHAPTER V — STAQD.AI
Marketplace of AI design skills + buy-once solution templates.
A Next.js 16 (App Router / RSC) marketplace with file-native markdown content, Better Auth + Drizzle/Postgres, Stripe billing, and a live-demo engine that renders ten style-parameterized templates per skill through a Playwright + sharp screenshot pipeline.

CHAPTER VI — USAGEOWL
Open-source macOS menu bar app tracking AI subscription limits.
A zero-dependency Swift/SwiftUI menu bar app — five providers (Claude, ChatGPT/Codex, Kimi, Copilot, Moonshot) behind one plugin protocol — with 25/50/75/90% threshold alerts, reset countdowns, a transcript-priced spend engine, an offscreen-WebKit auth transport, and a signed, notarized 1.3 MB universal DMG.

CHAPTER VII — BITMEX BLOG
◆ Client · BitMEXWordPress → Contentful + Next.js headless migration.
Migrated the entire blog to a headless architecture: Contentful CMS feeding a Next.js front end. Built responsive article and card components, category filtering (Announcements, BitMEX Alpha, Crypto Trader Digest, Research, Resources), a custom image loader with WEBP/AVIF optimization, dynamic article routing, and multi-language routing (EN/CN/ES/RU/VI).

CHAPTER VIII — BITMEX EMPLOYEE VERIFICATION
◆ Client · BitMEXAnti-impersonation tool to verify genuine BitMEX staff.
A verification page in the BitMEX app (React / Next.js) where a user checks a person's identity against BitMEX's source of truth and gets a clear genuine / not-genuine result — turning 'is this really BitMEX?' into a one-click check.