Software developer in Sioux Falls, South Dakota. I build internal line-of-business software and run the identity and infrastructure underneath it.
Most of what I write lives in private repositories, so this page describes the systems instead of linking to them.
Hub is the internal platform I build and run for a real estate developer and brokerage. It is one Flutter application (Riverpod, GoRouter, freezed): task tracking, real-estate development, card reconciliation and receipts, vehicle fleet and maintenance, and organization administration that sit behind a single shell and a single sign-in.
The backend is self-hosted Supabase. The data model is RLS-first and multi-tenant, money is handled in integer cents, and sensitive fields are encrypted with pgcrypto. Server logic runs as Deno edge functions. Sign-in is Microsoft Entra OIDC wired into GoTrue, so there is no separate password to manage. Expenses run through an OCR pipeline that combines two models and gates extraction on confidence, and card transactions arrive through Plaid and are matched against those receipts.
The workflow I am building now generates construction compliance documents server-side and routes them for signature through a self-hosted instance behind the same SSO.
Multi-tenant B2B billing and dispatch SaaS I am building under Oppelt LLC. It uses Stripe Connect Express for payouts, capability-based RBAC rather than fixed roles, and session supersede logic to make shared credentials fail loudly.
I am the sole technical employee at a real estate developer and brokerage, which means the stack does not stop at the application layer. I administer a Microsoft 365 tenant end to end: Entra ID, Intune, SharePoint, and Defender. I also wrote the company information security policy set. My own infrastructure runs on OCI Ampere instances with Coolify and Docker, fronted by Cloudflare Tunnels, plus a k3s cluster running GitHub Actions Runner Controller for self-hosted CI.
Languages: Dart, TypeScript, Python, SQL, Bash
Application: Flutter, Riverpod, Deno, Node.js
Data: PostgreSQL, Supabase, SQLite
Infrastructure: Docker, k3s, Coolify, Cloudflare, Oracle Cloud, Nginx, Linux
Administration: Microsoft Entra ID, Intune, SharePoint, Defender