# Prajwal HD > AI engineer based in California building AI agents and the developer tools around them, with three years of backend and full-stack engineering at Opslyft and peer-reviewed Android malware detection research at Purdue. Open to AI engineer, backend, and full-stack roles. ## Projects - [emberd](https://hdprajwal.dev/projects/emberd.md): Run untrusted AI-agent code in isolated microVMs you host yourself, inside your own network. - [QuackCode](https://hdprajwal.dev/projects/quackcode.md): Run coding agents on your real repos on Linux, with safe isolation and full history. - [Gitwise](https://hdprajwal.dev/projects/gitwise.md): Name commits and branches in seconds, without leaking secrets to the model. - [Multimodal Malware Detection](https://hdprajwal.dev/projects): Peer-reviewed thesis on whether vision and fusion models are worth their cost for malware detection. - [Guardscribe](https://hdprajwal.dev/projects): Catch and mask toxic speech in live audio before listeners ever hear it. - [DevAssist AI](https://hdprajwal.dev/projects): Get LLM code suggestions inline, without leaving your editor. - [NetworkPowerMonitor](https://hdprajwal.dev/projects): See how much battery your phone really burns switching between WiFi and cellular. - [Podcast Creator](https://hdprajwal.dev/projects): Turn articles and papers into a podcast you'd actually want to listen to. ## Writing - [When prompts replace code](https://hdprajwal.dev/blog/when-prompts-replace-code.md): Software 3.0 landing in a production codebase. Cursor deleted a feature and rewrote it as a prompt. Here's where that pattern holds and where it quietly breaks. - [GuardScribe: Real-time speech-to-text with toxicity filtering](https://hdprajwal.dev/blog/guardscribe-stt-filtering.md): A simple pipeline that turns live audio into text, spots toxic language, and masks it before anyone sees it. You can pick speed or accuracy depending on your use case. ## Today I Learned - [v0 exports images as base64 text, not binary](https://hdprajwal.dev/tils/v0-images-exported-as-base64.md): v0 doesn't export public/ assets. Moving images to another folder exports them, but as base64-encoded text. Decode with base64 -d to get actual binary images. ## Resume and contact - [Resume](https://hdprajwal.dev/resume): experience, education, publications - [Resume PDF](https://assets.hdprajwal.dev/resume.pdf) - [Full site content in one file](https://hdprajwal.dev/llms-full.txt) - Email: hdprajwal01@gmail.com - GitHub: https://github.com/hdprajwal