Software Projects A working record Brookings, South DakotaBrookings, SD

A working record of the software I conceive, build, and answer for.

Every project on this page is one I carried from the underlying problem to a working product myself. I own the whole arc.

The whole arc
  1. Problem
  2. Product decisions
  3. UX
  4. Architecture
  5. Full-stack build
  6. Payments & integrations
  7. Testing
  8. Deployment
  9. Production hardening

I use AI as an engineering tool. I delegate architecture and implementation, but responsibility for requirements, review, verification, security, and final product decisions stays with me.

Portrait of Rosalind R. Gash, smiling, wearing glasses and a soft pink collared shirt.
Rosalind R. Gash

Nearly 25 years of writing code.

Apps built since 2025 from personal productivity tools and Windows desktop apps to B2B and B2C SaaS.

Person accountable for every layer: product, code, security, and deployment.

Contents

Seven projects, on the record.

Two SaaS platforms that reached production, a financial decision system and the backend built for the same venture, two Windows desktop apps I made for my own work, and PingBuoy, archived with a live demo you can still click through.

  1. 01ScholiumEducation SaaSOffline · Highlight reel
  2. 02Qorva Global TradeTrade & finance SaaSOffline · Highlight reel
  3. 03SaaS Financial Decision SuiteFinancial decision system · WebOffline
  4. 04OpsCRM & client portalInternal
  5. 05RosalindCam StudioVideo podcast production · WindowsPersonal build · v0.12
  6. 06RosalindCamScreen & webcam recorder · WindowsPersonal build
  7. 07PingBuoyWebsite monitoring SaaSArchived · Live demo
Chapter

Education SaaS · Offline · Highlight reel

Scholium

A multi-tenant platform for homeschool co-ops, microschools, course providers, and learning centers.

Scholium connects the pieces these organizations have to run: enrollment, attendance, grades, records, progress reports, transcripts, billing, parent access, payments, imports, and the administrative workflows in between. Progress reports are AI-assisted through the Anthropic API.

Security got its own phase, tested live rather than only reviewed: session rotation, login lockout, CSRF rejection, and the authentication flows themselves. Pricing stayed simple, with two flat plans, Co-Op and Learning Center, billed monthly or yearly.

It ran in production for about four months and is offline for now. The highlight reel below walks through it.

Stack
  • Laravel 13
  • PHP
  • PostgreSQL
  • Bootstrap 5
  • Stripe
  • Anthropic API
Plans
Co-Op and Learning Center, flat monthly or yearly pricing
Exports
Five CSV export types
Status
Offline
Ran in production for about four months

I rolled back the planned Xero and QuickBooks integrations, 13 files and four database tables, in favor of comprehensive CSV exports. Simpler, and they work with any accounting tool.

Product decision · Integrations vs. exports
Fig. 1 Scholium, highlight reel1080p, about a minute
Chapter

Trade & finance SaaS · Offline · Highlight reel

Qorva Global Trade

A workflow platform for solo and small import/export operators.

Qorva covers landed-cost planning from FOB to DDP, shipment tracking, and duty estimates that include Section 301 and 232 additional duties. Around that sit HS-code reference and search, purchase orders, document workflows, reconciliation, reporting, accounting-oriented exports, and live FX rates from frankfurter.app.

Duty estimates are only as good as the tariff data behind them, so the platform keeps its own: a pipeline that tracks the U.S. Harmonized Tariff Schedule revision by revision. Two flat plans, Standard and Pro, billed monthly or yearly.

Qorva reached production and is offline for now. The highlight reel below shows it at work.

Stack
  • Laravel
  • PHP
  • REST integrations
  • frankfurter.app FX
  • HTS data pipeline
Plans
Standard and Pro, flat monthly or yearly pricing
Status
Offline
Reached production

Each new revision of the Harmonized Tariff Schedule is fetched, diffed against the one before it, and applied, so rates change when the schedule does.

Engineering decision · The HTS diff pipeline
  1. FetchEach new revision of the U.S. Harmonized Tariff Schedule.
  2. DiffCompare it against the prior revision.
  3. UpdateBase rates, Chapter 99 additional duties, and preference-program data.
The tariff data pipeline behind Qorva’s duty estimates.
Fig. 2 Qorva Global Trade, highlight reel1080p, about a minute
Chapter · The rosalindgash.com venture, part one

Financial decision system · Web · Offline

SaaS Financial Decision Suite

Financial decision systems for founder-led SaaS companies, shown end to end on one connected dataset.

The Decision Suite is the flagship demonstration for a planned fixed-scope consulting practice at rosalindgash.com: financial decision systems for founder-led SaaS companies. It is built around Havenpoint Workflow, a SaaS company with 24 months of data.

Note Havenpoint Workflow is fictional, and all of its data is synthetic.

Four connected modules share that one dataset: Performance & Cash, Accounting & Assets, Workforce & Hiring, and Tax Readiness & Expansion, all under an executive overview, the Founder Decision Center. Scenario controls for churn, new-customer pricing, new-business strength, a hire, and UK market entry flow through the 12-month forecast wherever they are financially relevant. A hire changes burn and runway; churn moves ending MRR and cash.

Every formula lives in one calculation library, never inside components, backed by a metric dictionary and an assumptions register. Charts are accessible, with data-table alternatives, as part of WCAG 2.1 AA work. The suite also includes a SaaS Financial Visibility Scorecard and a fail-closed contact form (server action, honeypot). rosalindgash.com is offline for now.

Stack
  • Next.js 16
  • React 19
  • TypeScript (strict)
  • Tailwind CSS
  • Recharts
Data
Fictional company; 24 months of synthetic data
Validation
49 automated checks
Status
Offline
automated validation checks, including:
  • 24-month MRR bridge
  • Cash reconciliation
  • Assets = liabilities + equity
  • NPV / IRR recomputation
  • Book-to-tax bridge
  • Scenario propagation
Executive overview of the SaaS Financial Decision Suite for the fictional company Havenpoint Workflow: a fictional-data notice, tabs for the four modules, scenario sliders for churn, new-customer pricing and new-business strength, checkboxes for a hire and UK market entry, KPI cards for MRR, gross margin, cash and runway, and charts of trailing MRR and the 12-month cash forecast.
Fig. 3 Executive overview: scenario sliders, KPI cards, MRR and 12-month forecast chartsFictional company, synthetic data
Chapter · The rosalindgash.com venture, part two

CRM & client portal · Internal

Ops

The backend for rosalindgash.com, built for the consulting practice planned around the Decision Suite.

Ops was built to be the backend for rosalindgash.com, the site for my planned consulting practice around the SaaS Financial Decision Suite. It is the practice’s CRM, sales pipeline, proposals, contracts, projects, activities, and recurring appointments.

Clients get a token-scoped, read-only portal for document exchange. Ops is internal, so there is no public link.

Stack
  • FastAPI
  • MongoDB (Motor)
  • React
Venture
Paired with the SaaS Financial Decision Suite
Status
Internal

The Decision Suite is the work a client would see. Ops is the practice behind it: pipeline, proposals, contracts, and a portal.

Context · One venture, two builds
Chapter · The RosalindCam apps, part one

Video podcast production · Windows desktop · Personal build · v0.12

RosalindCam Studio app icon: a webcam with a gold rose on emerald green.

RosalindCam Studio

A live-production app for video podcasts, with post-production that stays on the device.

Studio keeps Preview and Program separate, with a deliberate TAKE between them, plus scenes, a run of show, preflight checks, and autosave with recovery. A four-channel mixer (mic, media, system, master) handles mix-minus. It records up to 4K, MKV first and then remuxed to MP4, with seven separate stereo tracks, and streams to YouTube at 1080p30 over RTMPS with an automatic safety recording and bounded reconnects.

A YouTube chat panel feeds a Q&A queue and on-screen comment cards, alongside lower-thirds and ticker graphics. Up to three remote guests join over WebRTC, through a green room and private join links.

Post-production runs on the device, with no cloud and no per-use fees: dialogue isolation; a transcript editor built on Whisper; an episode producer that drafts titles, descriptions, chapters, and show notes with inspectable citations, using a local LLM through llama.cpp; clip drafts with 9:16 framing and captions; and thumbnail concepts from a local image model. I review everything before it is exported.

Studio shares a Core library with RosalindCam and comes with a 22-page printable user guide. It is a personal build, and real-device acceptance of the guest features is still in progress.

Stack
  • C#
  • .NET 8
  • WPF
  • WebRTC (WebView2)
  • FFmpeg
  • NAudio
  • OpenCvSharp
  • ONNX Runtime (DirectML)
  • whisper.cpp
  • llama.cpp
Checks
837 automated checks in the full Studio suite
Docs
22-page printable user guide
Status
Personal build · v0.12
Guest features in real-device acceptance

I built it to produce my own show: one app instead of five, and no subscriptions. I have more time than money, so it’s more cost-efficient to build my own apps than pay someone else to use theirs.

Why I built it · RosalindCam Studio
RosalindCam Studio's dark ultrawide workspace: Preview and Program monitors side by side with a TAKE button between them, and panels below for scenes, show sources, run of show, YouTube chat, and a four-channel audio mixer.
Fig. 4 RosalindCam Studio workspace during an automated rehearsal with synthetic test guestsWindows desktop
Chapter · The RosalindCam apps, part two

Screen & webcam recorder · Windows desktop · Personal build

RosalindCam app icon: a webcam with a pink rose on purple.

RosalindCam

A focused recorder for talking-head and screen videos.

RosalindCam records screen only, webcam only, or screen and webcam together, with microphone audio, to 1080p MP4. The webcam can sit side by side with the screen or float as a movable, resizable picture-in-picture that can be adjusted while recording.

I wanted to hide my room on camera without a green screen, so it does real-time background replacement (a colour or an image) or blur, using the RobustVideoMatting model on the GPU through ONNX Runtime and DirectML, with a CPU fallback and edge controls.

Recording is crash-safe: it writes MKV first, then remuxes to MP4, using AMD hardware H.264 with a software fallback. It ships as a portable, self-contained .exe, backed by a 99-check native smoke suite.

Stack
  • C#
  • .NET 8
  • WPF
  • OpenCvSharp
  • ONNX Runtime (DirectML)
  • NAudio (WASAPI)
  • FFmpeg
Ships as
A portable, self-contained .exe
Checks
99-check native smoke suite
Status
Personal build

OBS was confusing for me to use. I tried to like it, but I couldn’t. So I built a focused recorder: no subscription, no watermark, no account, no cloud.

Why I built it · RosalindCam
RosalindCam's main window: capture, device, and recording controls on the left, including a Start recording button, and a preview on the right showing a screen area with a floating webcam picture-in-picture.
Fig. 5 RosalindCam during automated UI review: controls on the left, screen and webcam preview on the rightWindows desktop
Chapter

Website monitoring SaaS · Archived · Live demo

PingBuoy

Uptime checks, dead-link detection, SSL certificate expiration tracking, alerts, analytics, status information, and subscription workflows.

PingBuoy was my first major AI-assisted SaaS. I took it from product planning through architecture, implementation, security work, payment integration, deployment, and debugging.

PingBuoy is archived, but a live demo loaded with sample data is still running, so you can use it rather than read about it.

Scope
  • Planning
  • Architecture
  • Implementation
  • Security
  • Payments
  • Deployment
  • Debugging
Status
Archived · Live demo
Sample data
How I work

Six principles, drawn from the work above.

Not aspirations: each one shows up somewhere in the seven chapters above.

  1. Start from the problem, not the ticket.

    The underlying problem decides what gets built. Features follow from it, not the other way round.

  2. Own the whole stack.

    Product decisions, UX, architecture, implementation, payments, deployment, and hardening, with one person answerable for all of it.

  3. AI is a tool; accountability is mine.

    I use AI as an engineering tool. I delegate architecture and implementation, but responsibility for requirements, review, verification, security, and final product decisions stays with me.

  4. Verify live, not just on paper.

    Static review is the start. Scholium’s security phase tested session rotation, lockout, and CSRF rejection against the running app; the Decision Suite runs 49 automated validation checks.

  5. Right-size the solution.

    Five CSV exports replaced two planned accounting integrations: less code to maintain, and compatible with any accounting tool.

  6. Build the tool I need.

    I have more time than money. RosalindCam and Studio exist because building my own was more cost-efficient than paying for someone else’s.

Toolbox

What I work with.

Web
  • PHP
  • Laravel
  • Python
  • FastAPI
  • JavaScript
  • TypeScript
  • React
  • Next.js
  • Tailwind CSS
  • Bootstrap
  • Recharts
Desktop
  • C#
  • .NET 8
  • WPF
Media & local AI
  • FFmpeg
  • ONNX Runtime / DirectML
  • OpenCV (OpenCvSharp)
  • NAudio
  • WebRTC
  • whisper.cpp
  • llama.cpp
Data
  • PostgreSQL
  • MySQL
  • MongoDB
Services & integrations
  • REST APIs
  • Stripe
  • Anthropic API
Infrastructure & practice
  • Docker
  • Git
  • Linux VPS deployment
  • AI-assisted engineering