Bryce EvansSoftware engineer, Melbourne FL

I write software for business aviation.

Full-stack at Gogo Business Aviation. Angular and ASP.NET Core over SQL Server and Azure. Right now that's a billing platform and the internal tooling our support teams sit in all day. On my own time it's mostly C++.
Role
Full-Stack DeveloperGogo Business Aviation
Stack
Angular · ASP.NET CoreSQL Server · Azure
Based
Melbourne, FloridaHybrid · US Citizen
Certified
Azure Developer AssociateAZ-204 · AZ-900

01 / About

The short version.

I've been writing software for business aviation since 2023. Mostly internal things: a billing platform for the finance side, and the portals our support people and customers actually use.
It's full-stack in the real sense. I design the SQL Server schemas and stored procedures, write the ASP.NET Core APIs sitting on them, build the Angular that talks to those, and set up the Azure Functions that run everything on a schedule. I get pulled into architecture calls a fair bit. I've also written onboarding docs for a few systems that never had any, which nobody enjoys but somebody has to.
Outside work I mess around with C++. Multithreading, the Windows API, real-time rendering. Different kind of problem, and I like that it's unforgiving about performance. A couple of those are further down.
Bryce Evans
Bryce Evans
ROLE
Full-Stack Developer
BASE
Melbourne, FL
SINCE
2023
CERT
AZ-204 / AZ-900

02 / Work

Where I've worked.

Two companies, though one of them bought the other while I was there.
  • Apr 2024 – PresentMelbourne, FLHybrid

    Full Stack Developer

    Gogo Business Aviation

    I'm building an internal billing platform. Customer management, invoicing, collections, accounts payable, product catalog. Most of that was done by hand before.
    AngularASP.NET CoreC#SQL ServerAzure FunctionsKey VaultApp Insights
    • Designed the SQL Server schemas and stored procedures for invoicing and collections, put ASP.NET Core APIs over them, and built the Angular UI on top.
    • Built the Azure Functions that run the scheduled and event-driven billing jobs. They talk to Container Instances, report into Application Insights, and pull secrets from Key Vault.
    • Shipped Mission Control features for customer and service data, replacing pieces of the old Ops Center tooling.
    • Cut network load in the settings module by 70%. The data fetching and state management were doing a lot of redundant work.
    • Wrote architecture and onboarding docs for systems that didn't have any, which made new hires a lot quicker to get going.
  • Dec 2023 – Apr 2024Melbourne, FL

    Jr Full Stack Developer

    Satcom Direct (acquired by Gogo Business Aviation)

    Angular and .NET work on SD Pro 2.0, the flight operations portal our customers plan around. We kept SD Pro Legacy running the whole time we were building it.
    AngularRxJS.NETSQL ServerAgile
    • Built user settings, mission forecasts, outages and service alerts in the new portal.
    • Worked on Ops Center too, the internal support tool that Mission Control later replaced.
    • Owned the SQL Server schemas and stored procedures behind all of it, including the back end for outage and service-alert ingestion.
    • Two-week sprints with PM, QA and backend, across both customer-facing and internal products.
  • 2020 – 2023Before this

    IT Support Specialist · Computer Support Technician

    Three years in IT support before I moved into software. I wrote a tool the whole team ended up using to drive Active Directory for new-hire setup, automated the boring parts in Python and PowerShell, built gold images for deployment, and kept the networks, databases and security updates in one piece.

03 / Projects

Things I've built.

Side projects. I pick them based on whether the problem sounds interesting, which is why they don't have much in common.
  • 01JAN 2025

    Multithreaded entity tracking & render system

    A C++ overlay that reads live state out of a running process and draws it back on screen without slowing either one down.
    C++Windows APIGLMMultithreading
    Problem
    Draw live 3-D game state as a 2-D overlay at high frame rates, while the process producing that data keeps running at its own speed.
    Approach
    Multithreaded, built on Windows events and some custom synchronization primitives. Reading and rendering happen on separate threads and sync up on a signal instead of polling.
    Math
    GLM handles the 3-D to 2-D projection, camera transforms and the vector math the renderer runs on.
    Result
    Tuning the frame pacing, update loop and buffer reuse got the latency down and the output steady.
    Overlay data path The game process publishes state into shared memory. A reader thread picks it up and signals a Windows event. The render thread projects the 3-D positions to 2-D with GLM and presents the overlay on a paced frame loop. SHARED MEMORY WINDOWS EVENT PACED PRESENT GAME PROCESS SOURCE STATE READER THREAD IPC + SYNC RENDER THREAD GLM PROJECTION OVERLAY 2-D OUTPUT CUSTOM SYNCHRONIZATION PRIMITIVES · EVENT-DRIVEN UPDATE LOOP · BUFFER REUSE
    Data path. The render loop wakes up on new data instead of on a timer.
  • 02JAN 2024

    Statistical anti-cheat

    A proof of concept that scores suspicious players on a curve instead of tripping a fixed threshold.
    Problem
    Hard cutoffs are brittle. Move the number slightly and you either miss cheaters or ban people who are just good.
    Approach
    Take the mean and standard deviation for each in-game stat, then a Z-score for how far a player sits from everyone else.
    Result
    Those Z-scores go through a tunable curve into one risk score. Sensitivity becomes a dial, and you get a ranked list to review instead of a yes or no.
  • 03MAR 2024

    Inventory & order management

    Full-stack app for tracking stock down to size and variant, and pushing orders through to shipped.
    AngularNode.jsSQL
    Counts are per variant, not per product, so they stay accurate when one size sells out. There's an order status workflow for watching open shipments and marking packed items as shipped, plus some sales trend charts running off the same data.
  • 042023–2024

    Fantasy football analyzer

    Built it twice. Once on React and Node, then again on Angular because I wanted to know how different they actually are.
    You give it a Sleeper username, pick a league, and it values every player and roster in it. The trade analyzer takes a hypothetical deal against another team and tells you whether it's worth taking.
    The rankings table is hand-built. Filter by position, sort by any stat, and every cell is color-coded against what that number means for that position. React, Node, MongoDB and Express the first time, Angular the second.

04 / Tools

What I use.

Grouped by where it sits in the stack.

Languages

C#, TypeScript and SQL most days. C++ when the problem is closer to the hardware.
C++CC#TypeScriptJavaScriptJavaPythonSQL

Frontend

Angular and RxJS on two production portals and a billing UI.
AngularRxJSTypeScriptNode.jsReact

Backend

ASP.NET Core over SQL Server schemas and stored procedures I write and maintain.
.NETASP.NET CoreEntity FrameworkSQL ServerT-SQL

Cloud

Scheduled and event-driven work on Azure, with the telemetry and secrets set up properly.
Azure FunctionsKey VaultApplication InsightsContainer Instances

Tooling

Git day to day. PowerShell and Python when something needs automating.
GitPowerShellWindows APIAgile / Scrum
Azure Developer Associate Microsoft Certified · AZ-204
Azure Fundamentals Microsoft Certified · AZ-900
US Citizen Eligible for clearance

05 / Writing

Writing.

One so far. It's the long version of the anti-cheat project.

Feb 2024Medium

Dissecting statistical anti-cheat: a simplified approach

What a statistical anti-cheat looks like once you strip it back to means, standard deviations and Z-scores, and why a tunable curve is a better idea than a hard threshold.
Read

06 / Contact

Say hi.

Email is easiest. I read everything and I'll reply if there's something to reply to. Happy to talk about full-stack work.