Five products
in production.
One engineer.

Senior full-stack and AI engineer. Real-estate analytics, a coaching platform, a fleet of agents, a memory layer for AI tools and an MCP gateway, each built end to end and still running, beside client work at SCB Consulting where I review code and mentor engineers.

Availability

Open to roles, remote or in the Dallas area.

Abilene, TX · U.S. Army Veteran

Explore my work

Hover a product, or Tab to it. Click for a preview.Tap a product for a preview.

Personal product

Lotlytics

Live at lotlytics.us since 2025

939markets
Every market Lotlytics models, from the export committed with this page; six of them below, with their figures.

Product data · 6 of 939 markets

From Lotlytics, snapshot taken 9 November 2026 at 13:16

lotlytics.us
  • Dallas–Fort Worth, TX$358,242−2.0% yr5.56% yield
  • Austin, TX$414,273−4.3% yr4.64% yield
  • Nashville, TN$448,896−0.5% yr4.82% yield
  • Phoenix, AZ$441,097−1.1% yr4.68% yield
  • Raleigh, NC$428,267−1.7% yr4.68% yield
  • Tampa, FL$356,843−0.9% yr6.70% yield

Real figures from Lotlytics, my market-analytics product, as they stood when this page was built. The product itself refreshes nightly.

WhatMarket analytics for real-estate investors: prices, affordability, migration and risk for every metro, in one place.

The hard partNine upstream sources that disagree with each other. The product is the reconciliation: one model you can trust, refreshed nightly.

BuiltNext.js front end, FastAPI services, Postgres, the ingestion pipeline, Stripe billing and an MCP server so AI tools can query it.

StackNext.js · TypeScript · FastAPI · PostgreSQL

Personal product

Cohva

Live at cohva.com

The Cohva landing page, captured.

WhatThe command center for online physique coaches. Blood work trended over time, week-over-week pose comparisons, body-site measurements and peak-week prep.

The hard partCoaches were running every athlete across spreadsheets, photo rolls and chat threads. Replacing all three without adding a fourth thing to check.

BuiltNext.js, NestJS and Prisma on Railway. Image pipeline on Cloudflare R2. Grew out of RepForge, the AI coaching product before it.

StackNext.js · NestJS · Prisma · Railway

Internal tool

Nerve

Private, running since April 2026

The check runner as this page draws it: three rows of checks over fourteen agents. A drawing of the loop, not live status.

WhatAn AI DevOps platform. A program checks the sites, repos, certificates and logins every ten minutes and files one issue per confirmed change; fourteen agents across dev, security and marketing wake once a day to work them.

The hard partAgents that run unattended have to be trusted to stop and to catch their own mistakes. A kill switch and budgets for the first. For the second, every return is validated before it is kept, and the org changes its own prompts only through lessons that are verified or reverted.

BuiltPython and FastAPI, Claude Code as the worker runtime, MCP for tools and memory, a Claude-free runner that owns the clock.

StackPython · FastAPI · MCP · Claude Code

Open source

Cortex

On PyPI

The terminal from this page. The two calls are illustrative; the tool names are Cortex's.

WhatA persistent memory layer for AI tools. Claude, Cursor, Windsurf and any MCP client share one brain: decisions, progress, what was learned.

The hard partMemory that is useful tomorrow has to be cheap to write today. A handful of tools, plain Markdown on disk, nothing to host.

BuiltPython, an MCP server, Markdown files you can read without the tool. Nerve runs on it.

StackPython · FastAPI · MCP · Markdown

Personal product

mcpw

Live at mcpw.dev since October 2026

The gateway as this page draws it: keys travel in and stop at the hub. Illustrative.

WhatA hosted MCP gateway. Add the MCP servers you use once, connect each with your own account or key, and install one URL in every AI client: Claude, ChatGPT, Cursor and the rest.

The hard partCredentials. A client needs the tool, never the key. Each credential is sealed to a key only the gateway process holds, so the dashboard stores what it cannot read and the model sees tool names and results, nothing else.

BuiltTypeScript end to end: a Hono gateway speaking MCP over HTTP, a Next.js dashboard, Postgres and Clerk as the OAuth server, on Railway and Vercel. Spec to launch in twelve days.

StackTypeScript · Hono · Next.js · PostgreSQL

Personal project

Layers Deep

In development, demo live at layersdeep.dev

The Loops lesson's program, as the demo traces it.

WhatA learning platform for coding, AI, LLMs, RAG and system design. In every lesson you predict what will happen, watch the mechanism run one step at a time, change the inputs and prove it in exercises checked by real tests.

The hard partA tutor without an API call per question. Each lesson ships about sixty prepared questions, matched in the browser and answered hint first, and a fingerprint of the lesson fails the tests when the material goes stale.

BuiltNext.js 16, React 19 and TypeScript, Tailwind, a zustand store, CodeMirror editors; learner code runs in a sandboxed iframe and worker under its own CSP. Three of forty-eight lessons built; a labeled demo on Railway.

StackNext.js · TypeScript · Tailwind CSS · CodeMirror

Personal project

Nythera

In development

A capture from the engine.

WhatA game engine written from scratch in C++20: its own OpenGL renderer, particle systems and real-time multiplayer.

The hard partEverything. There is no framework under it. The renderer, the netcode and the asset pipeline are all mine.

BuiltC++20 and OpenGL. The particle integrator was rewritten in TypeScript and WebGL2 for the browser demo.

StackC++ · OpenGL

Work

Five products in production, one engine and one learning platform in development. Three are products of my own, one is the internal tool that runs my org, one is open source. Each designed, built and run by me, beside client work.

939

US markets modelled. 21,000 ZIP codes. A sample of them is drawn below.

Move your cursor across the country.

  • Dallas
  • Austin
  • Nashville
  • Phoenix
  • Raleigh
  • Tampa
  • Abilene, where I live

Personal product

Lotlytics

Live at lotlytics.us since 2025

WhatMarket analytics for real-estate investors: prices, affordability, migration and risk for every metro, in one place.

The hard partNine upstream sources that disagree with each other. The product is the reconciliation: one model you can trust, refreshed nightly.

BuiltNext.js front end, FastAPI services, Postgres, the ingestion pipeline, Stripe billing and an MCP server so AI tools can query it.

StackNext.js · TypeScript · FastAPI · PostgreSQL

The Cohva landing page: generic apps treat physique like general fitness

Personal product

Cohva

Live at cohva.com

WhatThe command center for online physique coaches. Blood work trended over time, week-over-week pose comparisons, body-site measurements and peak-week prep.

The hard partCoaches were running every athlete across spreadsheets, photo rolls and chat threads. Replacing all three without adding a fourth thing to check.

BuiltNext.js, NestJS and Prisma on Railway. Image pipeline on Cloudflare R2. Grew out of RepForge, the AI coaching product before it.

StackNext.js · NestJS · Prisma · Railway

Checks, by cadenceAgents, by departmentWeeklyDaily10 minone issue, to its agentDevSecurityMarketing

Swipe to see the whole diagram.

55 checks, no modelA confirmed change files one issue14 agents, one cycle a day

Simulation · one tick

  1. The checks run
  2. A change is confirmed
  3. One issue, routed to its agent
  4. The agent wakes

Live · the schedule

Ticks every 10 minutes, next in —Daily cycle at 06:30 UTC, next in —

Internal tool

Nerve

Private, running since April 2026

WhatAn AI DevOps platform. A program checks the sites, repos, certificates and logins every ten minutes and files one issue per confirmed change; fourteen agents across dev, security and marketing wake once a day to work them.

The hard partAgents that run unattended have to be trusted to stop and to catch their own mistakes. A kill switch and budgets for the first. For the second, every return is validated before it is kept, and the org changes its own prompts only through lessons that are verified or reverted.

BuiltPython and FastAPI, Claude Code as the worker runtime, MCP for tools and memory, a Claude-free runner that owns the clock.

StackPython · FastAPI · MCP · Claude Code

$ pip install cortex-brain
$ cortex serve
cortex-brain · MCP on stdio · brain at ~/.cortex
 
claude → get_context()
← profile, 3 active projects, today's notes
claude → log_note(type="decision", "Deploys go through Railway, never direct")
← saved to 2026-10-03.md
# this page is a brain too. ask it something: postgres, agents, army, stripe

Open source

Cortex

On PyPI

WhatA persistent memory layer for AI tools. Claude, Cursor, Windsurf and any MCP client share one brain: decisions, progress, what was learned.

The hard partMemory that is useful tomorrow has to be cheap to write today. A handful of tools, plain Markdown on disk, nothing to host.

BuiltPython, an MCP server, Markdown files you can read without the tool. Nerve runs on it.

StackPython · FastAPI · MCP · Markdown

keys stop herethe gatewaymcp.mcpw.dev/p/…GitHubContext7any MCP serverClaude Codeclaude.aiChatGPTCursorVS CodeGemini CLI

Swipe to see the whole diagram.

1 · Install it, once per client

In a terminal

claude mcp add --scope user --transport http mcpw-work https://mcp.mcpw.dev/p/••••••••••

Then /mcp, pick the server and choose Authenticate.

2 · One tool call on the wire

Claude Code → gatewaytools/call github.list_issues {"repo": "…"}
gatewayunseals the GitHub credential: HPKE, to a key only this process holds
gateway → GitHubGET issues Authorization: ••••••••
GitHub → gateway200, three issues
gateway → Claude Coderesult: three issues. Nothing about the credential comes back.
auditgithub.list_issues · ok · 212 ms. Listed for thirty days; arguments and results are never stored.
An illustrative call; the shape is the gateway’s.
Claude Code, claude.ai and ChatGPT verified on the production gatewayFree during the soft launch

Personal product

mcpw

Live at mcpw.dev since October 2026

WhatA hosted MCP gateway. Add the MCP servers you use once, connect each with your own account or key, and install one URL in every AI client: Claude, ChatGPT, Cursor and the rest.

The hard partCredentials. A client needs the tool, never the key. Each credential is sealed to a key only the gateway process holds, so the dashboard stores what it cannot read and the model sees tool names and results, nothing else.

BuiltTypeScript end to end: a Hono gateway speaking MCP over HTTP, a Next.js dashboard, Postgres and Clerk as the OAuth server, on Railway and Vercel. Spec to launch in twelve days.

StackTypeScript · Hono · Next.js · PostgreSQL

Loops, step by step9 steps, about 10 min
  1. 1 Outcome
  2. 2 Why it matters
  3. 3 Predict
  4. 4 See it work
  5. 5 Experiment
  6. 6 Practice
  7. 7 Check understanding
  8. 8 Transfer
  9. 9 Recap

Step 3 of 9 · Predict the result

Before you run it: what will this program print?

Guessing wrong is useful: it shows exactly what to watch for.

const prices = [4, 8, 15, 16, 23];
let total = 0;
for (let i = 0; i < prices.length; i++) {
  total = total + prices[i];
}
console.log(total);
priceslength 5
  1. 40
  2. 81
  3. 152
  4. 163
  5. 234
i
–
total
–
Condition
–
Console
–

1/20 Create an array named prices with 5 values. Indexes run from 0 to 4.

Lock in a prediction to continue. The player and the lab unlock once you have.

Step 5 of 9 · Break it on purposeChange the program and find three behaviours. 0 of 3 found.

Now it's your program. Change the values, what the body does, the condition, or where i starts, and the trace updates.

The body
Condition
Start at

Things to find (0 of 3)

  • Not found yet: Make the sum come out as NaN.
  • Not found yet: Read past the end of the array but still print the right answer.
  • Not found yet: Make the loop body run zero times.
The Loops lesson’s own program, steps and wordsThree lessons built of forty-eight plannedThe tutor answers from prepared material, no API call

Personal project

Layers Deep

In development, demo live at layersdeep.dev

WhatA learning platform for coding, AI, LLMs, RAG and system design. In every lesson you predict what will happen, watch the mechanism run one step at a time, change the inputs and prove it in exercises checked by real tests.

The hard partA tutor without an API call per question. Each lesson ships about sixty prepared questions, matched in the browser and answered hint first, and a fingerprint of the lesson fails the tests when the material goes stale.

BuiltNext.js 16, React 19 and TypeScript, Tailwind, a zustand store, CodeMirror editors; learner code runs in a sandboxed iframe and worker under its own CSP. Three of forty-eight lessons built; a labeled demo on Railway.

StackNext.js · TypeScript · Tailwind CSS · CodeMirror

Personal project

Nythera

A game engine written from scratch in C++20, with its own renderer and netcode. Captured here; the embers are its particle system, rewritten for the browser. Move your cursor.

Earlier: RepForge, the GPT coaching product that Cohva grew out of. rep-forge.com

Record

Where I've worked and what each product proves. The PDF has the bullets.

Where

2023 – Present
Senior Software EngineerSCB Consulting, remoteClient systems end to end; code review and mentoring for client engineers.
2020 – 2023
Freelance developerDDK Holdings, Champaign IL
2017 – 2020
FounderFittora, Champaign ILFitness marketplace. 75 to 100 daily actives, a quarter of them paying.
2017
B.S. Computer ScienceUniversity of Illinois Urbana-Champaign
2001 – 2009
U.S. ArmyNBC specialist, Fort Leonard Wood

What the products prove

Agent systemsNerve checks three products every ten minutes without a model and runs fourteen Claude Code agents across three departments once a day, every return validated and every merge reviewed before it is kept, with Cortex as their memory. mcpw puts every MCP server behind one gateway URL for any AI client.

Data platformsLotlytics reconciles nine sources into one model for 939 markets and 21,000 ZIP codes, refreshed every night.

Product and billingCohva and Lotlytics take payment through Stripe and run on Railway and Vercel.

SystemsNythera is a C++20 engine with its own renderer and netcode. The same hands wrote the SQL and the shaders.

About

Derek Kim leaning on a marble bar, navy shirt, sleeves rolled

Before software, the U.S. Army. After it, I founded a fitness marketplace and took it to paying users, then shipped client systems for six years, lately at SCB Consulting, where I also review code and mentor client engineers. Beside that I build AI products end to end.

Abilene, Texas. Open to remote or Dallas.

Contact

Looking for a senior product engineer who can ship AI features end to end? Write to me.

Open to roles, remote or in the Dallas area.