CASE 01

PowerPay

Enterprise IoT payment platform for power, water and fees

Visit site →
PowerPay

Built the complete frontend for an enterprise SaaS platform managing 300+ IoT payment devices across distributed physical sites — from schema-driven forms to real-time dashboards.

My Role

Sole frontend developer. All UI architecture, design decisions, and implementation.

Tech Stack

Next.js 15, TypeScript (strict), React Query, Zustand, AG Grid Enterprise, Tailwind CSS

Delivered

3 portals (Admin, Business, End-User), 18+ entity CRUD flows, schema-driven form system, real-time dashboards

Key Highlights

  • Schema-driven form system — one rendering pipeline powers all 18+ entity forms with zero duplication
  • AG Grid Server-Side Row Model — enterprise data grids handling thousands of devices with server-side filtering and pagination
  • Multi-tenant architecture — 4-tier hierarchy with cascading access control and scoped UI
  • Three distinct portals — Admin, Business, and End-User, each with architecture matching its use-case
  • Real-time session monitoring — live device tracking with auto-refresh and revenue visualization
Next.js 15TypeScriptReact QueryZustandAG GridTailwind CSSStripeLeafletFirebase Auth
CASE 02

IOT Solutions Web Platform

Spec-driven AI development — architecture that ships production sites at speed

Visit site →
IOT Solutions Web Platform

Designed the architecture for a multi-site monorepo — static-first rendering, push-based ISR, and specs tight enough that AI implements production code on the first pass.

My Role

Architecture & technical lead. Authored all specs, made all rendering/caching/infra decisions.

Tech Stack

Next.js 16, Turborepo, React Server Components, Tailwind CSS, Supabase CMS, TypeScript

Delivered

3 production sites from one monorepo, 100% static output, webhook-driven ISR, multi-site CMS

Key Highlights

  • 100% static output — every route renders as pre-built HTML, zero server compute at request time
  • Push-based ISR — CMS publishes, webhook fires, affected pages regenerate in seconds
  • Spec-driven AI workflow — architecture decisions and .instructions.md files that constrain AI to produce correct code
  • Multi-site CMS — one CMS publishes to three consumer sites with independent revalidation
  • Graceful degradation — if CMS goes down, sites fall back to local MDX with no user impact
Next.js 16TurborepoRSCTypeScriptTailwind CSSSupabaseISRStatic-First
CASE 03

Templify

AI-assisted document template platform for teams

Visit site →
Templify

A solo-built SaaS for creating, filling, and sharing reusable document templates — a rich BlockNote editor with real fill-in fields, AI-assisted drafting and translation, and full version history, built end-to-end from database schema to UI.

My Role

Sole developer and founder. Product, database schema, and every line of frontend and backend.

Tech Stack

Next.js 16, React 19, TypeScript, Supabase (Postgres + RLS), BlockNote, Tailwind CSS, OpenAI

Delivered

Rich template editor, AI-assisted authoring/translation, full-screen document view with version history, workspace media library, statically-generated public site in English and Norwegian

Key Highlights

  • Rich-text editor built on BlockNote — inline {{Label}} fields turn into real fill-in inputs with bidirectional focus/scroll sync between the document and the input sidebar
  • AI-assisted authoring — generate a template from a topic, review and regenerate before creating it, or translate/rephrase/shorten/formalize any selection in place
  • Version history — meaningful edits snapshot automatically, with one-click restore that updates the workspace without a full reload
  • Workspace media library — images are staged locally, compressed, and only uploaded on save, with a many-to-many relationship so one upload can be reused across templates
  • Multi-tenant workspaces with row-level-security-backed access control, plus a fully statically-generated public marketing site in English and Norwegian
Next.js 16React 19TypeScriptSupabasePostgreSQLBlockNoteTailwind CSSOpenAInext-intl

See It In Action

Working with documents in Templify

Generate with AI

Basic setup and access management

Duplicating and translating templates

How I Work

I understand the business problem before writing code

I scaffold architecture for speed, then iterate on details

I communicate in plain language, not jargon

I ship working code, not endless specs

Next.jsTypeScriptTailwind CSSReact QueryNode.jsSupabaseTurborepo

Let's build something.