03 / SKILLS

My everyday
tools.

The languages, cloud services, and tools I use across work and personal projects.

Languages

TypeScript

Typed application code for microservices, developer tooling, and web interfaces.

01 / 08Locked in

TypeScript

I use TypeScript across production services and personal projects.

Drag and let go. A skill clicks into place when the wheel slows down. You can also use the arrow keys or buttons.

See the full list ↓

All the tools, in one place.

Languages

TypeScript

Production experience. I use TypeScript across 10+ services and Temporal workers at ConvergentIS. It also connects my work on RoleColorFinder with my own agent project, Arden.

Python

Project experience. I built the playlist generator with Python and Flask. That project taught me to plan the request flow before connecting an interface to a third-party API.

JavaScript

Project experience. My first portfolio was handmade with HTML, CSS, and JavaScript. This site still uses that foundation, including the wheel you just spun.

Java

In my technical toolkit. Object-oriented programming and software engineering fundamentals.

C++

In my technical toolkit. Systems programming with explicit control over memory and data structures.

C#

Project experience. I worked with a team of four on Escape PolyLand in Unity. Building its enemy behavior, puzzles, and progression taught me to split large features into smaller systems.

SQL

In my technical toolkit. Querying and working with relational application data.

C

In my technical toolkit. Low-level programming fundamentals and memory management.

Frontend

React.js

Production experience. I used React for the public TEDxThirdWard site and its admin console. The interesting part was making content updates usable for people who do not write code.

Vue.js

In my technical toolkit. Component-based web interfaces and reactive application state.

HTML

Project experience. My first portfolio started here: writing the page structure myself. The original is still archived in this repository, and the current site keeps its content in static HTML.

CSS

Project experience. I used CSS to style my first handmade portfolio. In this version, it handles the responsive layouts and keeps every label upright as this wheel turns.

Tailwind CSS

Production experience. I used Tailwind in TEDxThirdWard and NutriScan. On the hackathon project, it helped the team put a working interface together within the 36-hour sprint.

Redux Toolkit

Project experience. I used Redux Toolkit in Open Cam Lab to manage application state around live detection, image uploads, and the interface.

Backend & data

Node.js

Production experience. At ConvergentIS, I build fixes across TypeScript and Node.js microservices. I also used Node.js for Arden’s model-agnostic agent architecture.

FastAPI

In my technical toolkit. Python APIs with typed request and response models.

Flask

Project experience. I built a Flask backend around Spotify’s API for my playlist generator. Clear endpoints helped me keep the music-selection flow manageable.

PostgreSQL

Production experience. I worked with PostgreSQL for TEDxThirdWard’s content and RoleColorFinder’s production services. Both connect user-facing interfaces to relational data.

Redis

In my technical toolkit. In-memory data storage for caching and fast lookups.

Supabase

Production experience. At RoleColorFinder, I used Supabase and PostgreSQL for production services, including authentication. That work supported billing and the customer-facing product.

MySQL

In my technical toolkit. Relational databases and SQL-based application data.

REST APIs

In my technical toolkit. HTTP interfaces between frontends, services, and external integrations.

Stripe

Production experience. I integrated billing into RoleColorFinder’s production services. It is part of the work that moved the platform into early revenue.

Cloud

AWS

Production experience. My ConvergentIS work includes production infrastructure and reviewed security automation across multiple AWS accounts. As an intern, I also helped promote an EKS sandbox into pre-production.

RDS

Part of my AWS toolkit. Managed relational databases on AWS.

S3

Part of my AWS toolkit. Object storage for files and application assets.

SQS

Part of my AWS toolkit. Queues for asynchronous work between services.

SNS

Part of my AWS toolkit. Publish-subscribe messaging and notifications.

EKS

Production experience. During my internship, I led the promotion of a sandbox EKS environment to pre-production. The work included validating release workflows across more than ten microservices.

Kubernetes

Production experience. I build repeatable workflows spanning nine Kubernetes clusters at ConvergentIS. Making specialized operational tasks usable by other engineers is a big part of that work.

Docker

Production experience. Docker is part of my Junior Software Engineer stack at ConvergentIS, alongside Kubernetes, TypeScript services, and Temporal workers.

Vercel

Production experience. I deployed TEDxThirdWard on Vercel and used it in RoleColorFinder’s production stack. Those projects combine web interfaces with backend services.

AWS Amplify

Project experience. I deployed Open Cam Lab on AWS Amplify to take a browser-based computer vision experiment through a cloud deployment.

Delivery

Git / GitHub

Production experience. Collaborating on Escape PolyLand made version control essential. At RoleColorFinder, code reviews and frequent releases were part of how I led engineering work.

CI/CD

Production experience. I own production releases across four environments at ConvergentIS. That means coordinating readiness and carrying changes through deployment, not just getting a build to pass.

Azure DevOps

Production experience. I work with Azure DevOps in the production release stack at ConvergentIS. My responsibilities include CI/CD, cross-environment changes, and deployment readiness.

ArgoCD

Production experience. ArgoCD is part of the GitOps workflow I use for Kubernetes deployments at ConvergentIS, where I own releases across four environments.

Temporal

Production experience. I work on Temporal workers at ConvergentIS. One reliability issue involved recurring worker outages traced to database credential rotation and a more resilient recovery path.

Playwright

Project experience. I built Playwright browser tooling into Arden so the agent could interact with the browser as part of autonomous task execution.

RIO

Production experience. Part of the production engineering stack in my ConvergentIS role.

SAP IAS

Production experience. Identity services within the enterprise platform stack.

Unity

Project experience. Escape PolyLand was a team project with enemy AI, puzzles, multiple levels, and a final boss. It taught me how much game development depends on clear ownership and smaller testable systems.

AI & tooling

Claude Code

Production experience. During my internship, I built Claude Code and MCP automation to audit cloud security across AWS accounts. I reviewed and validated the changes as part of improving SOC 2 preparedness.

MCP

Production experience. I paired MCP with Claude Code for cloud security automation at ConvergentIS. The workflow connected tools to the audit and remediation process, with changes reviewed before use.

TensorFlow.js

In my technical toolkit. Machine learning models running in JavaScript.

Gemini

Project experience. At HackWestern 12, our team used Gemini’s vision capabilities in NutriScan. We had 36 hours to connect photo input, model output, and meal suggestions into a working demo.

DigitalOcean

Project experience. Our NutriScan team deployed on DigitalOcean and used Gradient AI. The project won Best Use of DigitalOcean AI alongside Sun Life Best Health Hack.

face-api.js

Project experience. I used face-api.js in Open Cam Lab for live face detection and image uploads. The challenge was keeping the interface responsive while processing camera frames.

Claude / OpenAI

Project experience. I designed Arden to support Claude, OpenAI, and other models. The TypeScript architecture connects model calls to tools, memory, and autonomous tasks.

Bland AI

Project experience. Bland AI is part of Arden’s voice automation stack, alongside model integrations, browser tooling, and messaging.

NEXT CONVERSATION

Got something
in mind?

A project, an opportunity, or a good hockey debate.
My inbox is a good place to start.

Say hello ↗

Where to?

A little shortcut to the good stuff.