Run Doom over curl — portfolio demo

A compact portfolio demo runs Doom over curl as a low‑level networking and systems‑programming showcase, presented as a standout resume project for top‑tier SWE roles. The GitHub example referenced is xsawyerx/curl‑doom and the demo highlights C, sockets and creative constraint‑solving. (x.com)

A new GitHub demo lets people play Doom through `curl`, turning a command-line download tool into a live game client. (github.com) The project, `xsawyerx/curl-doom`, appeared on GitHub in April 2026 and had 111 stars and 4 forks when it was crawled on April 14. Its README describes an Hypertext Transfer Protocol server that renders Doom frames as American National Standards Institute terminal graphics and streams them over `curl`. (github.com) In plain terms, the server draws each game frame as colored text blocks, and the terminal prints those blocks fast enough to look like motion. The repository says players can start it with a one-line `curl | bash` command or use a longer “pure curl” command with terminal settings changed by `stty`. (github.com) The technical trick is that one network connection handles both directions at once. The README says keystrokes travel up the request body while game frames stream back down the response body on the same Transmission Control Protocol connection. (github.com) That makes the demo a compact example of low-level systems work: terminal control, socket-style streaming, buffering limits, and input handling in C. The codebase includes a `doomgeneric` directory, and the upstream `doomgeneric` project says ports only need to implement a small set of platform functions such as draw, sleep, timer, and key input. (github.com 1) (github.com 2) The README also documents the constraints instead of hiding them. It says `/play` defaults to 15 frames per second because `curl -T -` can stop servicing the response socket while standard input is idle, causing frames to pile up and then burst to the terminal after the next keypress. (github.com) Input is handled with old-school terminal controls rather than a browser or game engine. The project says the shell’s canonical mode buffers input until Enter is pressed and echoes typed characters over the game, so players have to switch the terminal into raw mode and restore it when they quit. (github.com) The Doom part is possible because the game’s code has been open for decades. Id Software’s GitHub repository hosts the Doom source release, and Doom Wiki says the original source code was released on December 23, 1997, then re-released under the GNU General Public License on October 3, 1999. (github.com) (doomwiki.org) John Crickett, who runs Coding Challenges, pointed to the demo in a post on X as the kind of project that stands out in hiring. The repository itself makes the same case more quietly: it is small, readable, and built around one clear constraint—make Doom run over `curl`—that forces every systems decision into the open. (x.com) (github.com)

Get your own daily briefing

Scout delivers personalized news, insights, and conversations tailored to your role and industry.

Download on the App Store

Shared from Scout - Be the smartest in the room.