C:\Users\legendodin\case-studies>_
// case_studies

The full
breakdown.

Problem, decision, outcome. No hand-waving about what was “challenging” — just what the problem actually was, what I decided, and what happened.

SystemsSecurityFull Stack

SysKernel Auth

Hardware-Bound Licensing That Actually Holds

<4ms
p99 Latency
1000+
Customers
99.9%
Uptime
0
Piracy incidents
// the_challenge

Commercial software is trivially pirated. Existing licensing SDKs are bypassable with a debugger in under an hour. The solutions that work are either expensive SaaS with surveillance terms or black-box DRM that breaks legitimate users. Neither was acceptable.

// the_solution

Built a custom licensing stack from first principles. Hardware fingerprinting (CPU, motherboard, NIC — drift-tolerant, not brittle) bound to an encrypted token, validated against a Node.js backend with a C shared library for the hot path. Revocation happens in real time. License distribution is handled by an admin dashboard. Four SDKs so integrating into any codebase takes under an hour.

// key_decision
Hardware binding over pure crypto

Pure cryptography can be bypassed by copying a file. Hardware binding ties a license to a machine. The trick is tolerating reasonable hardware drift (RAM swaps, GPU upgrades) without false positives. I solved this with a weighted fingerprint that tolerates ≤2 component changes before requiring reactivation.

// outcomes
+3+ years zero piracy incidents
+1000+ active customers
+p99 response time <4ms
+4 language SDKs (C/C++/C#/Python)
+6+ live products protected
AIDesktopSystems

PokerSense

AI Opponent Profiling at 16ms Latency

<16ms
Overlay latency
89%
Classifier accuracy
<24MB
Memory footprint
~0%
False positives
// the_challenge

Poker HUDs show raw statistics. VPIP, PFR, 3-bet% — useful, but cognitively expensive at the table. A player needs to classify an opponent in under a second while making other decisions. Raw numbers don't do that. Archetypes do.

// the_solution

File-system watcher captures hand history as it's written by the poker client. A parser extracts player actions. A statistical model builds per-opponent profiles (sample-size-aware). An ML classifier maps profiles to archetypes: Nit, TAG, LAG, Calling Station, Fish, Maniac. Results render as a WPF overlay using a layered window — transparent to input, invisible to screenshot hooks.

// key_decision
WPF layered window over browser overlay

Browser-based overlays are detectable and blocked by most clients. A WPF layered window (WS_EX_LAYERED | WS_EX_TRANSPARENT) sits above the game window at the OS level. It's composited by DWM, not captured by GDI hooks. The poker client sees nothing.

// outcomes
+<16ms end-to-end latency
+89% archetype classification accuracy
+Live production use
+GDI/screenshot-undetectable
Next.jsPerformanceFrontend

This Portfolio

The Work That Proves the Work

100
Lighthouse Perf
100
Accessibility
<0.8s
FCP
~0kb
Client JS (static)
// the_challenge

A portfolio is a proof of concept for every claim it makes. If I claim I build fast, accessible, production-quality software, the portfolio itself must be fast, accessible, and production-quality. The Angular version scored 99/100/100 on Lighthouse. The bar was set.

// the_solution

Next.js 15 App Router with React Server Components for near-zero JavaScript on static content. Framer Motion for fluid, GPU-accelerated animations. Tailwind CSS for design consistency. Server Actions for the contact form — no client-side fetch, no API route, no bundle cost. Streaming and Suspense for progressive rendering.

// key_decision
RSC-first, client components as leaves

React Server Components run on the server and ship zero JS to the client by default. The architecture pushes client-side JavaScript to the leaves of the component tree — only interactive elements (animations, form state, command palette) run in the browser. Everything else is server-rendered HTML.

// outcomes
+100/100 Lighthouse performance
+100/100 Lighthouse accessibility
+<0.8s FCP
+RSC-first architecture
+Zero JS for static sections
// next_steps

Want to see what this looks like on your project?

[get in touch]