Thomas
Roy

Junior software developer focused on Java/Spring backend development, record reconciliation workflows, and local-first applications with automated tests.

Current focus

I build robust backend systems, data reconciliation workflows, and local-first operational software designed for reliability, data integrity, and rigorous testing.

Open resume →
01

Backend systems

Java/Spring Boot APIs, transactional checkout, pessimistic row locking, and integration tests.

02

Data reconciliation

Python and pandas pipelines for messy exports, indexed candidate matching, and review queues.

03

Local-first tools

FastAPI services, SQLCipher encryption, and operational software without cloud dependencies.

Projects

01
Spring Boot webstore order confirmation preview

Spring Boot Webstore

Full-stack Java/Spring Boot e-commerce application demonstrating transactional checkout integrity, role-based security, and automated testing pipelines.

  • Implemented transactional checkout with server-calculated prices, inventory row locks, and cart clearing after commit
  • Added role-based access, Flyway migrations, and integration tests for price tampering and session isolation; automated tests and Docker builds in GitHub Actions

Java 17 · Spring Boot · JPA · MySQL · Flyway · Docker · GitHub Actions

02
InboxBoard email-to-kanban workflow diagram Workflow diagram

InboxBoard — Email-to-Kanban Service Desk

Local-first service desk application that turns inbound email into structured Kanban cards with automated intake routing and encrypted local persistence.

  • Built an email-to-Kanban application with IMAP intake, a local FastAPI interface, and SQLCipher-encrypted storage
  • Validated structured AI output against schemas and source evidence; routed high-risk or incomplete requests to human review

Python · FastAPI · Pydantic · SQLCipher · IMAP

03
CSV Record Pipeline workflow graph preview

CSV Record Pipeline

Multi-stage data pipeline for normalizing messy CSV exports, matching duplicate candidate records across fields, and generating review queues with conflict explanations.

  • Implemented indexed candidate matching, multi-field scoring, and unit-conflict checks with explanations and separate match/review outcomes
  • Exposed YAML-configured jobs through CLI and local web interfaces; added end-to-end tests using 1,000-record synthetic fixtures

Python · pandas · YAML · CLI & Web UI · pytest

Production Systems & Tools

04
TransparencyBC search interface static screenshot Case Study

TransparencyBC

Search platform for British Columbia FOI releases, OIPC orders, and judicial reviews. Built with a decoupled Python (Flask) search API, chunked Typesense indexing, and signed PDF document streaming.

  • Commercial subscription application; architecture walkthrough and static screenshots from the project are presented in an open case study requiring no account
  • Chunk-based Typesense search across indexed records with signed PDF streaming to a browser viewer

Python (Flask) · Next.js · TypeScript · PostgreSQL · Typesense · Docker

05
Fundraising Intelligence dashboard preview Desktop Tool

Fundraising Intelligence

Desktop application built for local campaign operations to normalize CRM exports, evaluate historical contribution limits, and generate targeted donor follow-up lists.

  • Normalizes donor contribution histories and flags potential donation limit thresholds
  • Streamlit interface bundled with Electron for cross-platform local desktop execution

Python · Streamlit · Electron · pandas

Languages

Python Java SQL JavaScript HTML/CSS Liquid

Backend & Data

Spring Boot Spring Security FastAPI JPA pandas MySQL

Tools & Testing

Git Docker GitHub Actions Flyway JUnit / MockMvc pytest

Architecture & Storage

SQLCipher PostgreSQL Typesense REST APIs YAML

Useful work, real problems.

I like building software that makes real work easier: cleaning data, connecting systems, making things searchable, and turning repeated tasks into tools.

Get in touch