PKCE

Tommy + the technology of PKCE

Home Capabilities Technologies PKCE

PKCE Examples

Below are some of my projects involving PKCE, grouped by company. Click to read more about the relevant projects and chat with me to follow up on any topic you'd like to hear more about!
Castle Risk Online logo

Castle Risk Online

Personal Project

Castle Risk Online

2025 - present

Castle Risk Online is an online multiplayer board game with chat, animations, and AI players. It supports social login, mobile, dark mode, and is a blast to play with family and friends.

The game is built with React, with jotai for atomic state management on the frontend, and optimistic state synchronization viaWebSockets, proxied thru a K8s (Kubernetes) ingress controller equipped with Cert Manager to the underlying Express JS servers, which autoscale based on tcp connection rules, and use RxJS for Functional Programming stream processing of game events.

Read more...

Key Results

  • Launched fully functional multiplayer game with realtime chat, social login, mobile + desktop support, dark mode
  • Achieved <200ms latency for real-time game state synchronization across all players
  • Kubernetes + Skaffold used for cloud-agnostic deployments

Full Details

pull.systems logo

pull.systems

EV Observability + Analytics

Staff Engineer

2023 - 2024

Project: Pull Workbench v1

Upon joining, I came up to speed quickly on the stack of the early version of Pull Workbench, which was very buggy but demonstrated the initial ideas and had a solid set of the latest technologies and patterns established in the codebase, providing for a solid starting point.

I was entrusted to aid our CTO in hiring several additional employees, and so I joined and conducted interviews for the first several months while working with the existing team AI + Full Stack to deliver features and solidify the system, with the aim of keeping it fully working with each merge, after playing a little catch-up to fix the early bugs that worried our business partners, giving them confidence that our team could deliver.

From there, I developed full stack features solo or by pairing with team members, and ultimately led a squad of 5 team members alongside a second squad that together comprised our engineering team.

Much of my time went into authoring complex analytics sql queries using the impressive Kysely library, a fluent, typesafe query builder that we used for our postgres and redshift databases. Given the nature of the product, we needed to make decisions on which queries could be run in real time vs. which queries and subqueries would need to be computed offline as part of a network of airflow dags.

On the ML Ops side I advocated for traceability and reproducibility / determinism of all models and artifacts, and integrated with systems that implemented that, such as Airflow to coordinate DAGs of ML training jobs and Sagemaker's metadata API, which we controlled via model lifecycle automations that produced and stored models, artifacts and metadata that were in turn consumed at runtime or in batch by our analytics stack

On the frontend, I helped us deliver an initial version of the Pattern Editor, a UI and set of APIs that users could use to put together their own patterns of interest, such as looking for certain anomalous ranges of quantities that themselves may be derived from other user-defined patterns. This entailed not only a UI that was DAG-aware but also a layer that converted the json representation of these patterns from the frontend into typesafe kyesely queries to be executed against redshift.

Read more...

Key Results

  • Led 5-person squad delivering Pattern Editor enabling custom anomaly detection workflows
  • Processed 10M+ daily records with type-safe SQL queries using Kysely
  • Improved hiring velocity conducting 30+ technical interviews while building product

Full Details

Appen AI logo

Appen AI

Formerly Figure Eight
Project: ML Platform Enhancements

I ran Appen's ML Platform, which was used by FAANG and many other startups and enterprises to automate and scale their ML practices, including running both supervised and unsupervised workloads, as well as their global annotation workforce which enabled customers to leverage our crowdsourced professionals to elastically obtain labelling and quality checking services for text, voice, image, video and LIDAR annotation, training and validation use cases.

I reported to the CTO and directed multiple full stack teams each with their own tech leads and range of engineering skills to do both regular maintenance and product enhancements using technologies like Sagemaker, React, K8s (Kubernetes), Spark, Kafka, Airflow, Spring(Boot), Ruby, Python, Java, Typescript and SQL.

Maintenance included regular updates to infrastructure, bug fixes, and performance optimizations across the platform. We migrated more and more services to K8s (Kubernetes) and Ambassador as our API gateway, where we could consolidate cross-cutting logic like auth and versioning.

Enhancements included changes to simplify the UX, kill redundant or unused features, add measurement to inform our choices, and larger efforts like Enterprise OAuth.

Read more...
Project: Enterprise OAuth

There were 4 different websites in different technologies, acquired from different companies, and some APIs, that all needed to be unified in terms of sign up, sign in, and sign out, given their existing state of each having separate user stores, including 3rd party vendor users who logged in with vendors and then authed to us with a hidden token.

It was a stalled project, so I started with missing requirements, incomplete designs and misleading progress indicators and focused other leaders and teams on delivery thru tested working software, focusing on tested user stories and on-the-ground learnings as units of progress, instead of large, outdated PRDs waterfall style.

Contributed directly in React / Typescript, Nodejs / express, Ruby on Rails and custom gems, OAuth configuration, Java Spring with runtime loaded SPI implementations from across separate applications domains.

There was a complex architecture at play and teams that did not know each other and weren't working as a single unit, so the landscape was difficult and rife with demoralized team members.

Although my team was to play but one part in many on the project, I realized quickly that there was no single leader or coherent plan, and so there was lots of blame game and treading water.

With permission from our VP of Engineering, I took charge of the teams and worked with product to firm up requirements, and replace the initially conceived solution architecture, which would not have worked and was created in a bit of a vacuum, into one that would actually work, by digging in and running all the services and web apps myself and understanding the multiple data stores and existing auth mechanisms including auth via 3rd party vendors to some parts of the system.

I delivered the project within 5 months and for my efforts was rewarded not long after with a promotion.

Read more...

Key Results

  • Ran ML platform to support 100K+ annotation jobs daily across FAANG clients
  • Unified authentication across 4 legacy systems reducing login friction by 85%
  • Reduced platform infrastructure costs by 40% through Kubernetes optimization and resource consolidation

Full Details

Heartpoints.org logo

Heartpoints.org

The Currency of Good

Founder

2019 - 2023

Project: Heartpoints Currency Prototype

A working prototype and specs for how heartpoints would be rewarded and exchanged and linked to "Proof of Good" that could be validated off-chain (since proof of good in this case may for example, be video evidence or other data that is too large to fit onto the chain), using a strategy of hashing the proof and storing the hash and URL of the proof's off-chain content.

Read more...

Key Results

  • Built blockchain-based "proof-of-good" currency prototype with off-chain validation
  • Motivated a team of 5 to ideate and experiment on making the world a better place

Full Details

Tommy Sullivan - AI + Full Stack Software Builder + Leader