Bill Katsoulis
Systems-Minded Full-Stack Developer
Bill Katsoulis
17 years enterprise · career pivoter · builder

I spent 17 years fixing other people's problems. Now I build the tools.

Full-stack developer with nearly two decades of Tier 2 wireless network support at TELUS Communications. I lived inside enterprise platforms like BMC Remedy, diagnosed escalations, and made sense of other people's bad tickets. Now I build web applications with React, Next.js, TypeScript, and PostgreSQL — and I bring that same diagnostic thinking to how I write code and design systems.


Projects

Phylax Dashboard with Little's Law queue health metrics

🛡️ Phylax

Live

Incident management for 5–50 person teams. SLA/P queue sorting with FIFO toggle, AI severity suggestions and postmortem generation via Anthropic Claude, Little's Law dashboard for queue health, enforced state machine, role-based access control, audit trail, and internal notes. 35 tests across Jest and Playwright.

Next.jsTypeScriptPostgreSQLRaw SQLClaude APIJWTTailwindVercel
Analytics Service Dashboard

📈 Analytics Service

Live

A service-oriented event analytics platform. Any application sends events via a single POST endpoint, the service stores them in PostgreSQL with a generic JSONB schema, and a server-side dashboard aggregates everything with dynamic filtering. Connected applications send real events to it for cross-app visibility.

Node.jsExpressPostgreSQLEJSJSONBRailway
PhotoLabs Gallery

📸 PhotoLabs

Live

Full-stack photo gallery with JWT authentication, Cloudinary uploads, and AI-powered image descriptions via Anthropic's Claude Vision API. React frontend on Vercel, Express backend on Railway. Includes search, topic filtering, and a demo login for recruiters.

ReactExpressPostgreSQLClaude APICloudinaryJWT
Config Generator stack selector and live preview

⚙️ Config Generator

Live

Browser-based developer tool that generates compatible, zero-conflict config files. Select your tech stack, configure options, and download a ready-to-use bundle. Cross-config compatibility is enforced automatically — ESLint knows about Prettier, tsconfig adapts to your framework, and .gitignore matches your stack. No server, no database — pure client-side logic.

ReactViteJavaScriptTailwindJSZipVercel

Technical Skills

Frontend

  • React (Hooks, Reducers, Context)
  • Next.js (App Router, Server Components)
  • TypeScript
  • Tailwind CSS
  • EJS / Server-Side Rendering
  • HTML / CSS / SCSS

Backend

  • Node.js / Express
  • Next.js API Routes
  • REST API Design
  • JWT + bcrypt Authentication
  • PostgreSQL / Raw SQL / JSONB
  • Relational Data Modeling

Tools & Cloud

  • Git / GitHub
  • Jest / Playwright
  • Anthropic Claude SDK
  • Cloudinary
  • Vercel / Railway
  • BMC Remedy / ITSM

How I Work

I come from a world where systems can't go down and bad data has real consequences. That shapes how I build software — with the operational discipline of enterprise and the shipping speed of a startup.

Build for reliability

Sane defaults, clear failure modes, and predictable behavior. If something breaks, the error message should tell you why — not leave you guessing.

Ship small, iterate fast

Get something working and deployed before it's perfect. Real feedback beats theoretical planning every time.

Document like someone else will maintain it

READMEs that explain the why, not just the what. Code that reads like prose. Because the person maintaining this in six months might be me — or might not.

Solve the actual problem

17 years of watching enterprise tools frustrate users taught me one thing: the best feature is the one that removes friction, not the one that adds complexity.


The Pivot

For 17 years at TELUS Communications, I was a Tier 2 wireless network support specialist. I diagnosed escalated connectivity and coverage issues, interpreted network diagnostics, and worked daily inside enterprise ITSM platforms like BMC Remedy. I knew the pain of bad tickets, missing data, and tools that fought you instead of helping you.

I left during a company restructuring, completed Lighthouse Labs' web development bootcamp, and started building. Not from zero — from 17 years of understanding how systems work, how they break, and what users actually need.

Every project I build carries that perspective. The Analytics Service exists because I understand the value of cross-system visibility. Phylax exists because I spent years on the receiving end of incomplete incident reports and queues that gave you no signal about capacity. I'm not imagining these problems — I lived them.


Contact

If you're looking for a developer who ships fast and thinks operationally — someone who's built real things and brings 17 years of enterprise context to the table — I'd love to connect.