Mains power0%

Jordan Eldridge Labs

One person, one facility. Everything I build lives here. Scroll to walk it.

More

JEL is where I keep everything I make. At work, I build the platform a CMMC compliant MSP runs on and automate whatever I can reach. In my free time, I ship products, build tools for the communities I play in, and do security research.

Fabrication

Products built to be used by the world.

More

ezkey.io

In flight

An API key store built for MSPs. My first real SaaS.

MSPs hold hundreds of vendor API keys across dozens of clients, usually in places they should not be. ezkey is a purpose-built store with per-client scoping, rotation, and an audit trail, lightweight for those who don’t require a full PAM solution.

Built with TypeScript, Postgres, Docker.

conch.ggIn flightCustom GameCube controllers, and the Rust bridge that puts one in a browser.

A small hardware business: custom built GameCube controllers for players who care as much as I do. The site sells them and hosts the tools I wrote along the way, including a browser-based input viewer.

Underneath that viewer is gc-bridge, a local server in Rust that reads a GameCube adapter and streams its inputs to the browser. Rust so the latency stays out of the way, and open source so others can use it in their own projects.

Built with Rust, TypeScript.

earworm.gamesOperationalA guess-the-song game, built because the ones that already existed did not fit my friend group's needs.

A clip plays for a tenth of a second and you guess the song. Every wrong guess unlocks a longer slice, up to sixteen seconds.

Games like it already existed. None of them had the library we wanted, so this one has a bigger pool behind it and an interface we like more. Got to learn a lot about audio, volume normalization, encoding, and efficient file formats to make it the best it could be.

Built with SvelteKit, TypeScript, Python, SQLite.

MonitorOperationalA Pop OS desktop app for saying which screen is the primary one, in Rust.

Pop OS will tell you which monitors are connected. It will not tell you which of them is the one on the left. This lists every output with its port, resolution, refresh rate and physical size, sets the primary display in a click, and identifies a screen by dimming every other one for a few seconds.

Rust and egui on top of xrandr. It notices when it is running inside a Flatpak sandbox and proxies its calls back out to the host, which is the part that took the longest.

Built with Rust, egui.

Video compressor for DiscordOperationalTwo-pass H.264 that lands a clip under Discord's limit with the quality left in it.

Discord caps an upload at 10 MB unless you pay for it, and a Melee clip is always just over. This works out the largest bitrate that still fits, runs a two-pass H.264 encode at it, and hands back a file that goes straight into the chat.

Two passes rather than one because the first pass is what lets the second spend its bits where the motion is. A file picker, a progress bar, and the same behaviour on Windows and Linux.

Built with Python, ffmpeg.

Recreation

Tools for the games and communities I'm passionate about.

More

faction.tools

Operational

The management layer for Torn City factions, covering members, activity and wars.

Torn City is a text-based MMO with around 100,000 daily players. Factions are its guilds, and they come with a lot of bookkeeping. faction.tools is the management layer for the members, activity and wars that leaders otherwise keep in spreadsheets.

Before it, I ran torn.bet, a large and active third party casino for the game’s currency: games, wallets, payouts, and the anti-abuse work that comes with real stakes. It had daily users until new rules on third party gambling meant it had to shut down, and I closed it in line with them.

Built for the game Torn City. Some of the game's themes are adult.

Built with TypeScript, Node, Postgres.

MLPEKAYOU botClosed sourceThe Discord bot for mlpekayou.community, linking members to their card collections.

mlpekayou.community is a collector site for My Little Pony Kayou cards with over 6,000 members and a 1,500-member Discord. The bot ties a Discord account to a site account so members can track and look up their cards without leaving the server, along with finding people to trade with. It is the app of mine with the most daily users.

Built with TypeScript, Discord API.

Character botIn flightAn AI integrated Discord bot that plays as many characters as you can think of, each with its own name and face.

Create characters, give each one a personality, and the bot answers as them through webhooks, so every character shows up with its own name and avatar. Running in a server with friends today and creates tons of funny moments. Open source once it is cleaned up.

Built with TypeScript, Discord API, Claude API.

Operations

Platform development and automation at a CMMC compliant MSP.

More

Everything in this wing is restricted.

Platform development

Platform Developer on the team that builds and rolls out what a compliance-focused MSP runs on.

The team owns new product rollouts, internal and client-facing, plus automation, R&D, product development and acquisition integration. My part is the platform work: the glue between vendor tools, the automations that remove repeat work from engineers, and the internal tooling nobody sells you.

Details stay inside the building. Ask me about it directly.

Built with PowerShell, Power Automate, Rewst, Pia, ConnectWise.

Automated user onboardingEnd-to-end user onboarding built on Pia, from ticket to working account with no hands on keyboard.

Onboarding at an MSP is the same dozen steps repeated across many client tenants, each with its own quirks. This automation takes the request and carries it through account creation, licensing, groups, devices and the client-specific extras, then reports back. Engineers review the result instead of doing the steps.

Built with Pia, PowerShell.

Product rollouts at scaleSIEM to more than 5,000 endpoints and identity threat detection across thousands of identities.

Rolling a security product out across a client base is a deployment problem, a data problem and a communication problem at once. I build the deployment and validation tooling that gets a product from pilot to every endpoint or identity, with the reporting that proves it landed and proactive measures to keep it healthy.

Built with DNS Filtering, SIEM, MDR.

Internal toolingCopilot agents for the team and custom ConnectWise extensions that fit how we actually work.

When the ticketing system or the docs do not do what the team needs, I build the piece that does. That has meant Copilot agents that answer from our own knowledge and ConnectWise extensions that put the right action one click away.

Built with Copilot, ConnectWise, Power Automate.

Credentials

Networking, security, endpoints and the cloud, eight films on the viewers.

More

Certifications

  • AZ-900 Azure FundamentalsMicrosoft
  • CCNACisco
  • CCNA CybersecurityCisco
  • eJPTINE SecurityVerify
  • Certified in CybersecurityISC2
  • MD-102 Endpoint AdministratorMicrosoft
  • SC-900 Security, Compliance, and Identity FundamentalsMicrosoft
  • Security+CompTIA

Containment

Offensive security work. Most of it stays sealed until disclosure clears.

More

First disclosure

Pending release

Program and vendor withheld until publication.Impact class withheld until publication.

This bay is sealed until disclosure. What can be said now: the report was accepted, and the finding ends at a root shell over SSH on a host that was never meant to offer one. No fix is in flight on the vendor’s side yet, so everything else stays in the bay.

Opens when the program's disclosure clears.

Practice rangeOperationalWhere the offensive skills get kept sharp between real targets.

Some of my favorite free time activities include reverse engineering, CTF events and challenges (Huntress 2026, Hack the Box), and malware analysis.

Personnel file

Jordan Eldridge. 23. Self-taught. Platform Developer at a compliance-focused MSP.

More

I learned by building things people needed and fixing them when they broke. At work I am a Platform Developer at a compliance-focused MSP, on the team that rolls out new products, automates the repeat work, and integrates what the company acquires. PowerShell, Power Automate, Rewst and Pia are the daily tools.

Outside work I run a few things with real users, ship products under JEL, and spend my remaining hours on security research. This site is the one place all of it lives.

2022
First open source contributions.
2024
Got hired at MSP and began gathering credentials.
2026
Began shipping products. First bug bounty accepted. jel.dev live.

Built on Astro and Three.js. Models and textures from Poly Haven (CC0), and the GameCube controller by CoryRichards (CC BY 4.0).