# Jasper Rexford -rexford.dev > Self-taught programmer working on AI integration, reverse engineering, and practical technology. ## About Self-taught programmer based in London, UK. Building tools and systems that solve real problems at the intersection of AI, reverse engineering, and practical technology. ## Skills AI Integration, Reverse Engineering, Python, NixOS / Linux, SvelteKit, 3D Printing, Web Scraping, Infrastructure ## Interests - AI Safety & Alignment -How we build AI that stays helpful and honest as it gets more capable. - Offensive Security -Reverse engineering, vulnerability research, and understanding how things break. - Open Source Hardware -3D printing, open firmware keyboards, DIY tech that you actually own. - Autonomous Systems -Building agents and workflows that run businesses end-to-end. ## Contact - Email: jasper@rexford.dev - GitHub: https://github.com/jasperrexford - LinkedIn: https://linkedin.com/in/jasperrexford - Website: https://rexford.dev ## Blog Posts ### AI Picked My Keyboard and It Was the Right Call Date: 2026-04-30 Tags: AI, Hardware, Linux URL: https://rexford.dev/blog/ai-picked-my-keyboard So I needed a new keyboard. I've been typing 8+ hours a day and my wrists were starting to complain, so I knew I wanted something ergonomic and split. But I also run NixOS so driver support actually matters to me. I'm not going to buy something that needs proprietary software to configure. My requirements were pretty specific: - Split layout for ergonomics - Open-source firmware, QMK or similar, so I actually own it - Hot-swappable switches because I want to experiment - Under £150 That's a surprisingly small search space right. There are hundreds of mechanical keyboards out there but the overlap of split, open firmware, hot-swap, and reasonable price is tiny. ## The old way of doing this Previously I'd spend hours on Reddit, watching YouTube reviews, going through vendor sites and comparing specs. You open 30 tabs. Half the information is outdated. You end up making a gut call after way too long spent on analysis paralysis. I've done this before and it's not fun. ## What I actually did I described exactly what I wanted to Claude and asked it to research options. Not "pick me a keyboard" because that's way too vague. I gave it the exact constraints and asked for a shortlist with actual tradeoffs between them. It came back with three options and compared them on the things that actually matter. It also flagged stuff I hadn't even thought about, like which keyboards have active QMK community forks versus abandoned repos, and which hot-swap sockets are compatible with the widest range of switches. That's the kind of detail you'd only find after hours of forum diving. ## The pick The **Epomaker Split70**. Here's why: - QMK/VIA compatible so I get full open-source firmware and I can flash custom keymaps and RGB effects - Split 70% layout, enough keys to be practical but small enough to position each half where my shoulders naturally want them - South-facing LEDs so Cherry profile keycaps don't interfere - Hot-swap Gateron sockets - Came in under £120 ## Did it actually work? Yes. Plugged it into NixOS and it was recognised immediately. No drivers needed because QMK keyboards just present as standard HID devices. Since then I've flashed a custom keymap and I've been building a YAML-to-C generator for custom RGB effects which has been really fun. ## Why this matters This isn't about AI replacing research. It's about compressing the boring part so you get to the decision faster with better information. The tab-juggling, the spec-comparing, the cross-referencing reviews, all of that was handled in about 15 minutes instead of 3 hours. The keyboard works. My wrists are happier. And I got to spend my time on the interesting stuff like actually customising the firmware instead of deciding which keyboard to buy. That's what practical AI looks like. Not writing poetry. Finding you the right keyboard. --- ### Setting Up a Racing Sim on Linux to Save on Driving Lessons Date: 2026-04-30 Tags: AI, Linux, Hardware URL: https://rexford.dev/blog/sim-wheel-linux-with-ai Driving lessons in the UK are expensive. We're talking £30-40 per hour and you need a lot of them. So I had this idea, what if I could get some practice in at home with a sim rig? Not as a replacement for actual lessons obviously but for building muscle memory with pedals, steering input, that kind of thing. I already had a NixOS machine. I needed a wheel, pedals, and software that would actually work on Linux. And this is where most people would hit a wall because sim racing is very much a Windows-dominated hobby. ## The hardware I picked up a Logitech G29 second-hand. It's widely supported, force feedback works on Linux through the `hid-logitech-hidpp` kernel module, and you can find them for reasonable prices. ## The problem Plugging a racing wheel into NixOS is not plug-and-play. You need: - The right kernel modules loaded - udev rules so it's accessible without root - A sim that actually runs on Linux or through Proton - Force feedback configured properly - Pedal calibration Each one of these is its own rabbit hole. The forum posts are scattered, half of them are written for Ubuntu, and NixOS does things completely differently with its declarative config. I didn't really want to spend a whole weekend piecing it all together from different sources. ## How AI helped I described my setup to Claude. NixOS, G29 wheel, what I wanted to achieve. Instead of pointing me at forum posts it walked through the actual NixOS configuration changes I needed to make: - Which kernel modules to add to `boot.kernelModules` - The udev rules to write - How to test force feedback with `fftest` - Which sims work best on Linux, so Assetto Corsa through Proton or native options like TORCS for pure practice What would have taken a weekend of trial and error was done in an evening. The wheel had force feedback, the pedals were calibrated, and I was doing laps. ## The savings A driving instructor charges roughly £35 an hour. The G29 cost about £150 second-hand. After a few sessions the spatial awareness and pedal coordination genuinely do transfer and the wheel starts paying for itself. More importantly I'm building muscle memory for clutch control and road positioning in a zero-risk environment. ## What this shows The knowledge to set all this up existed already. It was in forum posts, wikis, kernel docs. But it was fragmented and it assumed you already knew which questions to ask. Claude's value wasn't knowing something I couldn't find. It was taking all that scattered information and assembling it into a coherent sequence specific to my exact setup. That's the difference between information and guidance. And it meant I could focus on actually practising instead of debugging config files. --- ### What Running a Business on Claude Code Actually Looks Like Date: 2026-04-30 Tags: AI, Business, Technical URL: https://rexford.dev/blog/building-agentic-business I run my entire operation through Claude Code. Not as an assistant I occasionally ask questions. As the primary interface for building, deploying, and managing everything I do. This isn't a hypothetical workflow or a demo. This is what my actual day looks like. ## The setup All my machines run NixOS with a shared declarative config that manages packages, services, secrets, SSH, MCP servers, everything. I've got Claude Code as the main terminal tool with MCP servers connected for email through Protonmail, WhatsApp messaging, Google Drive, and a bunch of custom services. Each project has its own CLAUDE.md file documenting infrastructure, deployment commands, and project context so any instance of Claude knows exactly what it's working with. I run about five Claude Code instances at the same time. Some are doing work stuff, others are handling business things like consultancy, and the rest are on personal projects. I just jump between them. ## What it actually does **Infrastructure.** When I registered rexford.dev, Claude Code hit the Cloudflare API directly. It deleted the default DNS records, added all the Protonmail records, created a Pages project, built a SvelteKit site, and deployed it with a custom domain. All through the API with my token. I didn't touch the Cloudflare dashboard once. **Development.** I describe what I want and Claude Code writes it, builds it, and deploys it. Not in a hand-wavy "AI writes code" way. In a "here's the production deployment URL" way. The site you might be reading this on was built and deployed in a single session. **Communication.** Through MCP servers Claude Code can read and send emails via Protonmail, handle WhatsApp messages, and manage files in Google Drive. Each channel has specific rules so the tone matches what's expected. **Research.** When I needed to evaluate a fellowship programme, Claude Code searched the web, fetched the actual job listings, pulled out the full application requirements, and gave me an honest assessment of my chances. Not flattery. Actual analysis of where my profile fits and where it doesn't. ## How it's all connected The key thing is that Claude Code isn't one tool doing everything. It's an orchestration layer. MCP servers give it typed tool interfaces for external services. CLAUDE.md files give it per-project context. NixOS makes the environment reproducible so every tool, every service, every secret is declaratively managed. And I've got a playbook that documents every setup pattern so I can reproduce it for new projects. ## What works and what doesn't The speed is incredible. Setting up a new domain with DNS, email, and a deployed website takes under 30 minutes. The consistency is great too because the playbook means every project follows the same patterns. And it compounds over time because each CLAUDE.md builds on the last. But you still need to know what you want. Claude Code is incredibly capable but it's not strategic. It executes really well but it doesn't decide what to build. Debugging genuinely novel problems still requires human judgement. And trust boundaries matter. I give Claude Code access to API tokens and deployment commands but I review what it does with them. ## The bigger picture This isn't about AI replacing developers. I'm a developer who uses AI as my primary interface. The code still needs to be correct. The architecture still needs to be sound. The decisions still need to be mine. But the mechanical work, the boilerplate, the API calls, the config files, the deployment pipelines, that's all handled. And that frees up mental bandwidth for the parts that actually matter. The designing, the innovating, the building of things that haven't been built before. That's what I care about. If AI can take the procedural stuff off my plate so I can focus on the creative and strategic side then that's exactly what it should be doing.