Skip to content
Chris Lenga

About

I’m Chris Lenga. I build things that have to keep running.

I’m a full-stack engineer and systems administrator in the United States, with more than twenty years of building and running software for online communities. In January 2023 I founded Digital Den, and I design, build and operate everything it ships.

That means Discord bots running in hundreds of servers, a competitive FiveM and RedM platform, a library of free developer tools, and the infrastructure, monitoring and documentation that keep all of it up.

Chris Lenga
Based in
United States
Experience
20+ years
Company
Founder, Digital Den (DGDEN LLC)
Focus
Discord platforms, FiveM and RedM, web, infrastructure
Languages
TypeScript, JavaScript, Lua, SQL, Python
Shipping
6,696 GitHub contributions in the last year

01Now

What I do

I run Digital Den as DGDEN LLC. I write the code, run the servers, ship the releases, write the docs and answer the support tickets. Four bots are in production, the free tools keep growing, and SKIRM, the successor to iSe.GG, is in closed beta.

02Before

How I got here

Communities came first: Battle.net clans in the early 2000s, then Tactical Carnage and Vast Gamer, which grew past 40,000 members. Running them meant running their servers and websites, and that turned into a career: hosting, virtual worlds, freelance bots and server builds, then iSe.GG, the first combat server on FiveM. The full timeline.

03Approach

How I work

Least privilege by default, documentation in the same commit as the change, and small steps that can be rolled back. I use AI coding tools every day, mostly Claude Code in VS Code, and hold their output to the same review as anything else I ship.

04Stack

The tools, past and present.

What I ship with today, what I’ve worked with, and what I’ve moved off, with the vendor’s end-of-life date where there is one. Keeping systems off unsupported software is part of the job.

Active

What my current repositories run on

Languages

  • TypeScriptSites and Workers
  • JavaScriptEvery bot
  • LuaFiveM and RedM
  • SQLMySQL, MariaDB, D1
  • PythonTooling and diagnostics
  • HTML and CSS
  • Bash and PowerShellDeploys and dev tooling

Frameworks and runtimes

  • Node.js 22 and 24
  • Next.js 16
  • React 19
  • Tailwind CSS 4
  • discord.js 14
  • ExpressWebhook receivers

Cloud and infrastructure

  • Cloudflare Pages
  • Cloudflare WorkersWith D1, KV and cron
  • Cloudflare Turnstile
  • GitHub ActionsPush-to-deploy
  • Pterodactyl
  • Debian and Ubuntu
  • Windows Server 2019 to 2025
  • Git and GitHub

Data

  • MySQL 8
  • MariaDB
  • Cloudflare D1SQLite at the edge
  • Workers KV

Platforms and APIs

  • Discord APICommands, webhooks, Premium Apps
  • GitHub Apps
  • Tebex
  • Top.gg
  • Resend
  • Google Places API
  • Steam Web API
  • SlackTools, with apps planned

Game development

  • FiveM
  • RedM
  • QBCoreRoleplay framework
  • OxThe Overextended libraries
  • CodeWalkerMap building
  • NUIIn-game web interfaces

Editor and AI

  • VS CodeWith Claude Code inside
  • Claude and Claude Code
  • ChatGPT
  • Gemini
  • Perplexity
  • ComfyUIImage generation
  • Llama and other local LLMsRun locally

Worked with

Used on real work, comfortable picking back up

  • PHP
  • WordPress
  • C
  • C++
  • Docker
  • AutoHotkey
  • vMenu· FiveM servers
  • Cursor
  • Hugging Face
  • LM Studio
  • Ollama

Retired

What I moved off, and what replaced it

Tools I have moved off, what replaced them, and the vendor end-of-life date where there is one
Node.js 20Node.js 22 and 24Superseded by the two current LTS lines.
Node.js 18Node.js 22 and 24Where the older bots started.
Windows Server 2016Windows Server 2019 to 2025Extended support runs out in January 2027.
Windows Server 2012 R2Windows Server 2019 to 2025Out of support since 2023.
CentOS LinuxDebian and UbuntuRed Hat ended CentOS Linux; CentOS 7 was the last to go.
FooocusComfyUIIn bug-fix-only support since its last release in August 2024.No vendor EOL
discord.py and Pycorddiscord.jsRole Tracker’s rebuild as RostaBot moved the bots to Node.No vendor EOL
ESXQBCore and OxMy FiveM work moved to QBCore and the Ox libraries.No vendor EOL
cPanel, WHM and WHMCSCloudflare and PterodactylSites moved to the edge and apps to containers.No vendor EOL
TCAdminPterodactylGame and bot servers run on Pterodactyl now.No vendor EOL
vRPQBCore and OxOne of the first FiveM roleplay frameworks, from years back.No vendor EOL
Certbot and manual TLSCloudflareCertificates are issued and renewed at the edge.No vendor EOL
BootstrapTailwind CSSUtility classes and design tokens won out.No vendor EOL
Ventrilo and TeamSpeakDiscordWhere every community I run lives now.No vendor EOL
LSL and virtual worldsMoved onSecond Life, ActiveWorlds, There and OpenSimulator, from 2008 and 2009.No vendor EOL

05Off the clock

Before the code, there were the games

Competitive gaming taught me to read a situation fast, adapt mid-round and perform under pressure. Those habits carried straight into everything I build.

1999 to CS2 · Retired

Counter-Strike

I joined the Beta in late 1999, straight off a CD-ROM, and competed through the organized leagues of the era: CAL Open, Intermediate, Main and Invite, OGL seasons, and fill-in matches in the CPL. I won my share of cash tournaments as an entry fragger: first through the door, unpredictable, changing angles and tactics mid-round. If you’ve played against me, you know.

  • CAL Open to Invite
  • OGL
  • CPL fill-in
  • Entry fragger

Raid progression

World of Warcraft

Hardcore raiding: studying boss mechanics, tightening rotations and being the one who shows up prepared. Tactical Carnage started as a Horde guild on Stormrage that ranked in the top 10 across all servers. A serious raid team runs like any other team, on consistency and communication.

  • Top 10 guild
  • Stormrage

JustinTV, Twitch, Kick · Retired

Streaming

I streamed on JustinTV when live broadcasting to the public was brand new, became a Twitch Partner well before streaming was a mainstream career, and later verified on Kick. I retired from streaming years ago. The accounts stand; the grind doesn’t.

  • JustinTV
  • Twitch Partner
  • Kick verified