IT Systems & Application Support | Software Testing & Automation

Projects

This portfolio shows how I support and diagnose systems, test unfamiliar software, work with data, and build practical applications. In-progress work, planned deployments, and unavailable case studies are labelled explicitly.

Back to home summary

Featured Projects

Selected Projects

ServiceFlow - API Troubleshooting Lab

A FastAPI application for practising SQL diagnostics, payment failure handling, and API regression testing.

Completed Public repository · documented fixes
Problem
The order report runs repeated queries, failed payments can leave orders marked paid, and invalid items can produce incorrect totals.
Approach
I inspected the request logs, service code, and SQL query plans, then added an indexed aggregation and corrected payment and validation handling. Pytest checks the fixes.
Result
An indexed aggregation reduced local median service-layer time from 90.26 ms to 2.11 ms (42.8×) on a generated SQLite dataset: 500 customers, 2,000 orders, and 5,966 items.
  • Python
  • FastAPI
  • SQLAlchemy
  • SQLite
  • SQL diagnostics
  • pytest
  • GitHub Actions

Generated local dataset · simulated faults · no hosted demo.

DispatchGuard - Field Dispatch Reliability

A QA-led field-dispatch system built around the failures that matter in practice: double-booking races, licence checks, offline work, and safe conflict resolution.

Completed v1.0 complete · v1.1 hardening verified Source code private · public case study and selected evidence
Problem
A dispatcher can see a job as available while another assignment is being committed, and a technician can reconnect with stale offline work. Both paths can corrupt an otherwise ordinary workflow.
Approach
I designed database-enforced overlap protection, idempotent sync, explicit conflict handling, and tests for concurrent assignments, offline retries, and New Zealand daylight-saving transitions.
Result
The completed end-to-end case keeps the reproduced failures, fixes, regression coverage, ADRs, and RCA records together. Deployment was verified on a private tailnet rather than exposed as a public production service.
  • TypeScript
  • PostgreSQL
  • Playwright
  • PWA / offline sync
  • Concurrency testing
  • NZ DST testing
  • GitHub Actions

Source code private · public case study, defect register, and selected test evidence.

Saleor QA - External Test Framework

An independent QA framework that tests a pinned Saleor 3.23 environment through its GraphQL API and browser flows, without modifying the application under test.

Completed Risk-based QA · main CI passing Source code private · public case study and selected evidence
Problem
Testing an unfamiliar system means separating genuine product behaviour from test-framework defects, environment failures, and assumptions that do not survive investigation.
Approach
I combined pytest, Playwright, axe, and Allure with a risk-based test plan, traceability, controlled test data, cross-layer checks, and a separate visual-regression lane.
Result
The functional suite records 30 passes and two strict-xfail regression markers. Four reports remain clearly labelled as defects or candidate issues, not upstream-confirmed Saleor bugs.
  • Playwright
  • pytest
  • GraphQL
  • axe-core
  • Allure
  • Visual regression
  • Docker

Source code private · public case study, test plan, and selected evidence.

Additional Projects

Subscriptly - Recurring Payment Tracker

An iOS app for subscriptions and other recurring payments that treats renewal dates, currencies, rounding, backup, and recovery as product rules rather than edge cases.

In Progress Internal TestFlight · active development Source code private · public case study and selected evidence

Problem

Recurring payments look simple until billing dates cross calendar boundaries, exchange rates change, or a backup has to restore without silently changing money or history.

Approach

I separated the SwiftUI product from a shared Kotlin domain core, used minor units for money and calendar-day values for billing dates, and built explicit backup, recovery, and conflict paths.

Result

The app is distributed through Internal TestFlight and has release-focused Swift and Kotlin test suites. Public release and remaining real-device acceptance are not presented as complete.

  • SwiftUI
  • SwiftData
  • CloudKit
  • Kotlin Multiplatform
  • Exact-money rules
  • Backup and recovery
  • TestFlight

Source code private · public case study and selected release evidence.

PlanPilot - Review-first iOS Planning

An iOS planning app that turns a rough goal into a workable plan, then checks the steps, timing, and constraints before anything reaches the calendar.

Public Beta External TestFlight beta · still in development Source code private · public case study and selected evidence

Problem

A planning assistant should not create calendar events or reminders before the user has seen what it inferred, what it assumed, and where the plan may not fit.

Approach

I built a review-before-save flow with validation, local-first storage, optional calendar and notification writes, and a shared contract for on-device, cloud, and offline planning paths.

Result

The iPhone app is available through a public TestFlight link. It remains a beta, not an App Store release, and no adoption or production-use claim is made.

  • SwiftUI
  • SwiftData
  • EventKit
  • UserNotifications
  • App Intents
  • Local-first planning
  • TestFlight

Source code private · public beta link, case study, and selected release evidence.

Currently building

ReleaseLens - Traceable QA Workspace

In Progress The source repository is private; current architecture and execution evidence are available on request.

The current version links requirements to test cases and runs Playwright from the workspace while preserving status, duration, errors, screenshots, and traces. The synthetic JobTrack test system I built contains five planted defects, covered by six expected-failure checks that remain visible as failures instead of being counted as passes.

Defect management and release-readiness rules come next. AI-assisted analysis, audit logging, and cloud deployment are still planned, not shipped.

Ask about the current build

Supporting Technical Notes

Website and public API architecture notes are listed separately from the project work.