Available—open to full-time roles·--:-- CSTAustin, TX / Remote
// portfolio

Colin Christmas.

Full-Stack Developer · SaaS Builder · AI-Assisted Workflow

Back to school for CS at 33. Years of trying to break in while working trades to pay the bills. Eventually stopped waiting and started building. Six years in Rails, the last 18 months deeply agentic.

// about

I got my start on the product side of a small trading software company in 2010 — not writing code, but designing flows, testing edge cases, and learning what makes software break in the real world. That instinct never left.

I went back to school for Computer Science at 33, graduated from Sierra College in 2017, and spent the next few years doing what most people do after a non-traditional CS path. I was working jobs to pay the bills while coding on the side. At XPEL I contributed real-world QA to their DAP 11 release and built commission.report independently to solve a pay visibility problem I saw firsthand in the industry.

In 2021 I opened Crown Window Tint and started building the software I always needed as a shop owner. The last 18 months have been fully agentic with Claude Code CLI, governed CI/CD and feature-branch discipline. I think in systems, build for maintainability, and I'm most useful when the problem isn't fully defined yet.

I'm comfortable working deep in the stack, schema design, background jobs, API integrations and I've spent the last 18 months building with an agentic workflow in production.

colin@portfolio ~
# type 'help' to see available commands
❯
// history
  • 2010–2012FX Market Ranger (co-founder)Designed and tested MT4-based automated trading assistants
  • 2010–2012Dixie State CollegeAutomotive Science coursework
  • 2015–2017Sierra CollegeAA, Computer Science (MIS), full-time
  • 2017LocableJunior dev intern — Rails, HTML/CSS/SASS, team Git workflow
  • 2019–2021XPELLead installer & QA contributor on the DAP 11 release — built commission.report independently
  • 2021–presentCrown Window TintOwner & Operator
  • 2026–presentTint Shop App LLCTint Shop App LLC · Founder & sole developer — multi-tenant SaaS for the window film industry
// projects

Things I've built.

Real products, real constraints, real code.

Tint Shop App

Early Access

Multi-tenant SaaS for window tint shops — job tracking, customer management, invoicing, scheduling, and payments. Built for the workflow of actually running a tint shop, not a generic service-business template.

why it exists
Every shop management tool on the market is built for a broad services market — few understand tinting: film packages, square-footage pricing, vehicle sizes, installer queues. Ships on web and iOS. About 65% feature complete.
Next.js 15PrismaNeon (PostgreSQL)ClerkMUIVercelInngestPusherTanStackResendQuickBooksSquareStax PaymentsGoogle Calendar APIiOS (TestFlight)Capacitor

next-letterbox

Coming soon

SMS/email interceptor for Next.js dev and staging environments — catches outbound Twilio messages and emails and routes them to a local inbox so tests never hit real customers.

the gap it fills
Every team testing Twilio or Email flows have horror stories. next-letterbox drops into an existing project, intercepts at the transport layer, and gives you a simple UI to inspect what would have gone out. Messages are held in Upstash Redis until manually cleared.
Next.jsTypeScriptTwilioUpstash Redisnpm package

xyztest.dev

Prototype

Next.js proof-of-concept for real-time customer check-in workflows at a tint shop counter — validated the UX, then folded directly into Tint Shop App.

Next.jsPostgreSQL

commission.report

Archived

Installer pay-visibility tool, built independently while working at XPEL — lets installers track job-level earnings against commission checks. Taken offline in 2026; the concept lives on in Tint Shop App's commission tracking feature.

Ruby on RailsPostgreSQLBootstrap/Sass

Crown Window Tint

Live

Rebuilt my own business site from WordPress to Next.js — faster, cheaper to run, and easier to maintain. Static output on Vercel with a contact form via Resend.

origin
The old WordPress site was slow and cost real money to host every month. This version loads fast, costs nothing to host, and I can update it myself without touching a CMS.
Next.jsDrizzleNeonClerkTailwindVercelResend

ReaperGG.com

Live

Gaming site — automatically pulls YouTube Shorts and long-form videos via the YouTube Data API. Independently designed, developed, and deployed.

young creator needed a web footprint
ReaperGG needed some place to track web traffic and analytics for his gaming content posted on social media.
Next.jsDrizzleNeonClerkYouTube API
// skills

What I work with.

languages & frameworks
  • JavaScript
  • TypeScript
  • Ruby on Rails
  • Python (exploratory - desktop app)
  • Next.js 15
  • React
  • Tailwind CSS
  • MUI
data & infrastructure
  • PostgreSQL
  • MySQL
  • Prisma ORM
  • Drizzle ORM
  • Neon DB
  • Clerk Authentication
  • Vercel CI/CD
  • Git / GitHub
  • Pusher (realtime)
  • Inngest (background jobs)
  • Upstash Redis
  • Resend (email)
testing & QA
  • Automated pre-merge audit (Claude-powered, governed by pre-merge.md)
  • Integration test coverage enforcement on new features
  • Regression testing
  • API endpoint validation
  • Test-driven development
  • RSpec & Capybara
  • Integration testing (450+ tests across API and sandbox endpoints Tint Shop App)
  • Real-world production QA (XPEL DAP 11)
  • Governed CI/CD: feature → pre-merge audit → integration tests → yarn build/test → PR to staging → PR to main
systems & AI
  • Agentic dev (Claude Code CLI)
  • Prompt engineering & agent direction
  • Multi-tenant data isolation
  • Role-based access control
  • Domain-driven design
  • JSONB schema overrides
  • Governed deployment pipeline (feature → staging → main)
// contact

Let's talk.

Open to full-time remote roles and interesting problems. My strongest work happens at the intersection of a real business problem and an AI-driven solution, defining the outcome, directing the agents, verifying the result. Not vibe coding. Structured problem-solving with AI as the executor.

My CS background and years of coding before LLMs existed mean I'm not guessing at what the agent produces. I can read it, reason about it, and redirect it.