Full Stack Dev

Tommy + the discipline of Full Stack Dev

Home Capabilities Disciplines Full Stack Dev

Full Stack Dev Examples

Below are some of my projects involving Full Stack Dev, 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

Sullivan Remodels logo

Sullivan Remodels

Personal Project

To increase lead gen for my brother's business, www.sullivanremodels.com, we took it from an old Dreamweaver site to a mobile-first, responsive website made with React and Next.js. This ensured it was optimized for SEO (Search), which we iterated on by testing with GSC (Search).

The system integrates with Jobber for Customer Lifecycle Management and contact automation and featured CI/CD automation with Gitlab to build, tag and push Docker images to Heroku for inexpensive, scalable hosting.

Read more...

Key Results

  • 300% increase in organic search traffic within 3 months of launch
  • Reduced bounce rate by 45% through mobile-first responsive design
  • Automated 80% of customer inquiry workflows via Jobber CRM integration

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

Intertru.ai logo

Intertru.ai

AI-assisted Hiring

Lead Engineer

2023 - 2024

Project: Interview Builder

Interview Builder is where customers would go to define the values they wanted to find in their ideal candidate, and map those to attributes and ultimately interview questions that the intertru ai was pre-trained to assess.

My role was to work closely with the CTO to understand what was proven out on the ML side, so that we could deduce a UI that intuitively would extract the necessary inputs from the customer, while providing them with predefined templates as starting points to ease them into the process.

The application was built on react, typescript, graphql (backed by dynamodb) and amazon amplify, and I built it very quickly with simple backends so that we could iterate on the frontend, to get the experience right before investing significant time and effort into an ideal backend. This approach made iterations faster and produced less collateral damage / throwaway code as we refined the user experience.

We then added instrumentation so that we could measure the use of the feature, any bugs that might turn up, and its performance, before releasing it to production, where it was initially used internally to surface any shortcomings before customers were exposed to it.

Read more...
Project: Candidate Summary

The candidate summary page summarized a candidate's performance during multiple interview stages by presenting radar charts showing degree of fit against the values and attributes being evaluated for their position, as defined in the Interview Builder.

I built the frontend in React and Typescript, and integrated with the backend, which I partially built, which leveraged RAG and ran several Machine Learning models to produce scores and explainable AI. For example, models to break down interview transcripts into quotable fragments, evaluate relevance against configured company values, and call chatGPT APIs to obtain summaries and scores related to that content

Read more...

Key Results

  • Delivered MVP in 6 weeks enabling rapid iteration on customer interview workflows
  • Built AI-powered candidate evaluation dashboard enabling data-driven hiring decisions
  • Reduced time-to-create interview templates by 70% with intuitive UI design

Full Details

Appen AI logo

Appen AI

Formerly Figure Eight
Project: DevOps as a Practice

Instead of splitting devops and infrastructure and tests completely separate from development teams, I moved the needle so that product development teams could own more of their own infrastructure and tests, creating less back-and-forth and empowering teams to deliver.

We used Devspace, which meant any dev or team could stand up a reproducible, isolated stack with multiple services and frontends running, in the cloud, as well as modify the definitions of the infrastructure and code themselves, directly, without permission or external team tickets.

This enabled product engineers to do more experimentation and testing thru declarative infrastructure and configuration management while still protecting our production environments, unlocking their shackles and potential as the experts in the software.

At the same time I worked to reduce the outsized role our amazing DevOps team was playing in the day to day management as well as enhancement of environments, which unfairly impeded expert developers by introducing red tape and inter-team processes that didn't add value.

Read more...

Key Results

  • Reduced deployment lead time by 75% enabling product teams to self-serve infrastructure
  • Decreased inter-team ticket volume by ~60% through developer empowerment
  • Enabled parallel development with isolated cloud environments for each developer

Full Details

Sourceability logo

Sourceability

Electronic Component Parts Distributor
Project: Sourceability Insights

My PM and the business wanted to illustrate to other teams that a fast-paced, fail-fast approach where we released daily (as opposed to 1-3 times per year) would serve us much better in that we could learn quickly, iterate and pivot, without huge costly investments into products that did not meet expectations or deadlines.

Before hiring my team, I set up a CICD pipeline and basic framework of a site that could sustain a heavy and intense crawl from google.

New hires all released to production on their first day of work - a principle I had brought to the table, that it should be so automated and simple that someone could set up and deploy a small feature within their first few hours of working at Sourceability.

Our parts and datasheets website, which also incorporated proprietary availability and quality scores, was used - within 3 months of inception - to successfully sell a 3 year Analytics API contract to an international multibillion dollar company, as well as driving organic traffic and learning how to scale to sustain google crawls of the hundreds of thousands of electronic component parts in our inventory while scaling down outside of the crawl / high-traffic moments.

  • Full Stack - React, NodeJS, Typescript, Kubernetes, Gitlab
  • Functional Reactive Programming - RxJS, highlandjs
  • Daily Production Deploys - Canary Deployment w/ K8s
  • Constant Collaboration - No “throwing over the wall”
  • CI/CD Automation Pipeline - Every user story gets an instant shareable environment
  • Coaching / Mentoring / Leading diverse team
Read more...

Key Results

  • Secured $3M analytics API contract within 3 months of product launch
  • Achieved 400% increase in organic search index uptake thru SEO optimization
  • Enabled team to deploy on day one reducing time-to-first-deploy from weeks to hours

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

Explorys logo

Explorys

IBM Watson Health

Lead Engineer

2012 - 2014

Project: New Admin Dashboard

New Admin Dashboard - Architected and implemented green field admin dashboard, worked with junior devs and leadership to bring about in the requested stack: Bootstrap / JQuery / Ruby / Java / MySQL / LDAP. Users used Admin Dashboard to administer Organization, Role, and other management aspects of the Explorys EPM Suite.

Dependency Injection Framework - To enable high testability, all components required dependencies to be passed in, and so eliminating factory boilerplate without adopting a complex DI system was desirable. Wrote and shared a simple runtime-reflection based DI framework with multiple projects / teams

Read more...
Project: Temporal Sequencing

Temporal Sequencing - Architected, implemented and tested an enhancement to our proprietary Explorys MDL (measure definition language), which gave authors who use that language the ability to express dynamic temporal conditions as part of the predicate calculus that constitutes the measure being defined in a given MDL instance.

The solution runs in Hadoop as a mapper, where the MDL is parsed and a corresponding object graph is constructed, and then control is passed to the encapsulating object of that graph, resulting in a determination about the level of adherence of the given patient to the measure defined by the MDL which is then emitted for further processing.

The challenge here was authoring the solution without knowing the history or complexity of the existing system. The challenge was overcome by applying SOLID principles and TDD principles to express assumptions about the existing external system as interfaces, getting the solution to work in a test sandbox as a standalone application, and then once that was done, writing adapters between the actual system and the interfaces that were formerly mocked out for testing. The team which owned the system seemed impressed by and curious about the solution and the new patterns / tests involved.

By taking what had been considered a relatively tough problem, and, as an engineer with no history in the measure engine, applying an approach that allowed a fully tested solution to ultimately be plugged into the larger system very cleanly, as an implementation of a clear set of interfaces along the border of that system, I exposed the team to new patterns and solution design approaches that I hoped the team might take forward and build on as the system continued to evolve.

Example Use Case: Doctor wants measure of % of his/her patients having Hospitalization with outcome class X, where either 1 week later, Rehospitalization occurs or within 2 weeks, unexpected Office Appointment occurs. Doctor expresses using natural language oriented temporal sequencing expressions within model definition language.

Read more...

Key Results

  • Delivered new admin dashboard supporting 10+ healthcare organizations
  • Enhanced MDL enabling complex temporal healthcare measure definitions
  • Reduced user management operations time by 65% with streamlined UI

Full Details

Progressive Insurance logo

Progressive Insurance

Auto Insurer
Project: REF 2.0 (UI Framework)

The Quoting (F3) was a success, but to roll out to all 50 states, we needed an engine that could handle the complexity of the system, render quickly, and that was easier for our engineers to build and test with.

I took the most complex page of the Direct Auto Quoting app - the "Buy Page" - and drastically improved performance, reducing render time from 28 seconds to 2, by isolating the page and building it with a prototype of what would become REF2.

Seeing such a drastic improvement in performance gave the business the confidence they needed to convert Quoting (F3) to REF2 and use it to roll out to the remaining states. (sidenote: a code-oriented framework, FlashQuoting, which did away with REF2's markup and code bindings, superceded REF2 before all 50 states were rolled out. The later popularity of and similarities with React confirmed REF2 was onto something.)

Technical Details REF2 targeted both Flash and HTML during the pre-webkit era. Created technology-independent language and APIs for describing UI hierarchies, cascading styles, business logic and arbitrary data structures in a way that abstracted the developer away from the details of the client/server event communications, marshalling between multiple client technologies, persistence of state concerns, or the details of rendering engines / APIs in the various supported environments. Aided in development of dev tools such as code hinting and code generation to facilitate quick onboarding, compile time checks, type safety and debugging.

Read more...
Project: Quoting (F3)

Progressive had two sites for Direct Auto Quoting - one used by customers at home and the other used by our call-center reps. Given the complex state-by-state variance in the insurance laws, this made for a huge maintenance cost, and doing it twice in two codebases didn't make sense.

The premise was that a single web 2.0 Direct Quoting Application could replace these while also yielding a much more modern and customer-delighting application.

As the team's Actionscript expert, I joined and quickly helped out delivering feature after feature, and I loved the XP discipline and grew to appreciate TDD especially after the site started hitting performance problems that warranted significant refactors, which would have been much riskier without test coverage!

Our pilot included 14 of the 50 states, and was a complete success. However, the amount of clientside rules and assets started slowing the app down, and this was when I was asked to replace the REF framework that preceded my joining, with something much faster and more developer friendly. This led to my promotion to lead engineer, where I begun work on REF 2.0 (UI Framework)

Read more...

Key Results

  • Reduced complex quote page render time by 93% (from 28 seconds to 2 seconds)
  • Successfully launched modern web app replacing 2 legacy systems in 14 states
  • Enabled rollout to all 50 states with improved UI framework performance

Full Details

Brulant logo

Brulant

Acquired by Rosetta

Lead Engineer

2006 - 2007

Project: Nationwide Insurance App

Retirement Readiness App - Architected and built, along with more junior colleagues and product owner, a webapp whereby the user, after providing some basic demographic information, would be interviewed by one of ~10 pre-recorded actors in natural language, in order to produce a "Retirement Readiness Score", charts, and cross-sell product offerings.

Capabilities I provided included:

  • A successful, performant application
  • Caused the emergence of clear formulae and determinism from vague business goals
  • Video captioning and screen reader for Accessbility
  • Leadership of Technical + Project Team
  • Clean, Organized, Testable Code and Solution Design

Spontaneous Leadership - Funny story, but our actors arrived at the studio on film day, and the director was unable to come. When it became obvious that nobody was particularly experienced or prepared to take on that role, I offered to do it, and so I collaborated with actors and the team to ensure we captured what we needed against the green screen, with proper lighting, tone and personalities the clients had asked us to obtain. I am ready to step in and lead or solve problems outside my expertise or experience, if it is what the team needs at the time.

Read more...

Key Results

  • Delivered interactive retirement app generating 10k+ user assessments in first 6 months
  • Increased cross-sell conversion rate by 18% through personalized product recommendations
  • Achieved WCAG 2.0 AA accessibility compliance with video captions and screen reader support

Full Details

Cleveland Entertainers logo

Cleveland Entertainers

Point. Click. Party.

Managing Partner

2004 - 2007

Project: Clevelandentertainers.com Website

We went through several iterations of the website, but our goals were SEO optimization and systematizing the internal booking process with salesforce while exposing certain information about entertainers, acts and availability through the website, and keeping those in sync with entertainer calendars.

With the help of some interns, I designed and built the website from the ground up, and hosted it at Cleveweb.com, the software solutions company I had formed a few years earlier.

Read more...

Key Results

  • Generated 500+ entertainment bookings annually through optimized SEO
  • Integrated Salesforce CRM automating 70% of booking workflow processes
  • Grew organic search traffic by 400% making site #1 result for Cleveland entertainment

Full Details

Cleveweb.com logo

Cleveweb.com

Web Design, Development, Hosting

Owner

2000 - 2008

Project: Mont Granite, Inc

montgranite.com - supplier of natural stone website. After assessing their products, we categorized them according to stone type, colors, texture and brand, then I created a MySQL database and an ORM to read/write PHP objects and their relationships from the database and present it as a front-end, which I designed to resemble a piece of marble.

I then hosted the company's website and email for a number of years afterward and actively updated the site on retainer.

Read more...

Key Results

  • Increased online product inquiries by 750% within first year of launch
  • Managed web hosting, enhancements, email + IT services for 5+ years with 99.9% uptime
  • Built custom MySQL-backed product catalog with 500+ stone varieties

Full Details

Tommy Sullivan - AI + Full Stack Software Builder + Leader