Graham Zemel

FULL-STACK ENGINEER AI & SECURITY CS @ CU BOULDER

Right now I'm shipping FratDoor (event ops used by 42 fraternities), TextCloaker (AI text cloaking, 7,000+ users), and writing daily for The Gray Area.

Scroll

About Me

I build full-stack systems with a backend focus and a growing front-end practice. I write daily for The Gray Area and serve as Director of Technology for IFC on the Hill at CU Boulder.

IFC on the Hill

As Director of Technology, I built CU EventHub from the ground up to standardize event registration and safety workflows, and I also built the Student Living Advocacy Group (SLAG) platform to make housing issues easier to document, aggregate, and act on.

  • Structured event submissions and notifications
  • Emergency contact visibility and compliance support
  • Neighborhood-focused reporting and advocacy

Startup Founder

I’m rolling out FratDoor across 42 fraternities, processing 300,000+ check-ins across 1,500+ events to replace paper lists with a fast, structured door-check system.

FratDoor is my most promising startup so far, and I’m actively searching for new prospects to adopt it and pioneer deployments at additional schools.

I’m also building TextCloaker , a web app that cloaks AI-generated text to reduce AI-detector flags while keeping it readable.

Tech Stack

HTML5 logo
HTML5
JavaScript logo
JavaScript
CSS3 logo
CSS3
Svelte logo
Svelte
Tailwind CSS logo
Tailwind CSS
npm logo
npm
Node.js logo
Node.js
VS Code logo
VS Code

Focus Areas

Web Development

I have extensive experience in web development, primarily focusing on back-end systems. Recently I’ve been exploring front-end work and experimenting with modern UI frameworks. I also publish SEO tips and step-by-step portfolio guides on The Gray Area . This site was a trial run with cutting-edge front-end tools — the source is on GitHub if you want to explore.

Cybersecurity

When I’m not writing or building web apps, I dive into cybersecurity. There’s nothing like discovering a P1 vulnerability after days of bug hunting. I’ve built scripts that automate penetration tests and surface vulnerabilities faster. For a deeper take, read my satirical piece on hacking and online safety.

Writing

I publish my best work through The Gray Area with over half a million readers, and share daily articles on my personal profile. I stay active across platforms for readers who want more.

Papers & Writing

My papers and long-form writing live on thegrayarea.tech alongside daily posts and curated publications.

Featured Projects

Resume

Builder at heart

Full-stack engineer building SaaS, AI tools, and security software.

CS student at CU Boulder and Director of Technology for IFC on the Hill. My work spans event platforms, AI products, security research, and data-heavy web apps — usually whichever problem is worth solving next.

42 Fraternities using FratDoor
300,000+ Check-ins processed
7,000+ TextCloaker users
3.7 CU Boulder GPA
  • I move fast, but I care about getting the details right.
  • I like owning the process from rough concept to finished product.
  • I’m usually building the next tool, system, or experiment.
Graham Zemel resume — first page preview
Resume Download PDF

The Gray Area


I initially created The Gray Area to provide an educational resource for beginner programmers or cybersecurity enthusiasts, but it's since become so much more.


30+
Writers
2,000,000+
Readers
250+
Posts



30+
Writers
2,000,000+
Readers
250+
Posts

Projects

21 projects
FratDoor

FratDoor

The check-in operating system I built and deployed as Director of Technology for IFC on the Hill at CU Boulder. 42 chapters use it for ID/QR scanning, blacklist enforcement, ticketing, capacity gates, and live attendance analytics — backed by my own offline-first sync layer that keeps scanners working through venue WiFi blackouts. 150,000+ swipes processed across 300+ events.

WebInternetIFCWebsite
Text Cloaker

Text Cloaker

AI text protection tool I started after watching students and writers get falsely flagged by brittle AI detectors. Rewrites AI-generated text just enough to clear detection without changing meaning — running as a Chrome extension that hooks into Google Docs, or via the web app for one-off cloaks. 7,000+ users across 40+ countries have cloaked over 3.3 million characters with it.

AIWebInternetWebsite
NPM Library: Offline Sync Engine

NPM Library: Offline Sync Engine

Keeps your check-in scanner working when the venue's WiFi dies. A tiny offline-first mutation queue + idempotent server primitives I built for FratDoor and open-sourced — ~900 lines, zero runtime deps, on NPM. ULID idempotency keys + IndexedDB persistence give exactly-once delivery even through ack-loss, browser refreshes, and server restarts. Optional SSE-based realtime + catch-up replay (same pattern as Linear's sync engine) lets multiple scanners coordinate at the door.

Apartment Availability Tracker

Apartment Availability Tracker

A lightweight GitHub Actions cron I built while apartment hunting in Boulder. Every 24 hours it scrapes my target building's listings, scores each 2BR unit by floor plan + Flatirons view, and emails me a diff summary so I can pounce the day a good unit opens. Runs free on Actions minutes — beats refreshing the page 50 times a day.

AutomationInternet
Nick Lathrop Photography

Nick Lathrop Photography

Photography portfolio I designed and built for Nick Lathrop, a senior-portrait and sideline shooter based in Golden, CO. Astro 5 + Svelte islands + Tailwind v4, with GSAP ScrollTrigger smoothness and a PhotoSwipe lightbox. A Playwright stealth scraper running on a 24-hour GitHub Actions cron pulls fresh Instagram posts (bypassing API restrictions), pushes full-res images to Cloudflare R2, and triggers a Netlify rebuild — so the portfolio updates itself whenever Nick shoots.

CU EventHub

CU EventHub

Centralized event registration and safety workflow hub I built for IFC on the Hill chapters at CU Boulder. Chapters submit parties, surface emergency contacts, coordinate with risk managers, and standardize event compliance — all from a single dashboard that pairs with FratDoor at the door itself.

WebInternetIFCWebsite
Student Living Advocacy Group

Student Living Advocacy Group

Reporting hub I built so off-campus students on the Hill in Boulder can document housing problems — predatory leases, maintenance neglect, neighbor disputes — and feed them into a structured advocacy pipeline for IFC and local stakeholders.

The Vault Collection

The Vault Collection

Unity + C# mobile collection bundling Flappy Bird, Stacker, Pong, and Brick Breaker into a single App Store release — my first commercial mobile product, complete with in-app payments and rewarded ads. The project that taught me the full ship-to-store pipeline end to end.

AppGame
Graham Zemel (.com)

Graham Zemel (.com)

Version 4.0 of my personal site, hand-built in SvelteKit + Tailwind. Doubles as my front-end playground — every iteration ships some new pattern I want to try (parallax scrolls, glassmorphic cards, observer-driven animations) without breaking the SEO and performance gains from prior versions. Source is on GitHub if you want to poke around.

Game Bank

Game Bank

Online arcade I'm building with a friend — a single hub where friends drop in to play classic browser games together or solo. Live preview is up; still iterating on the lobby + matchmaking layer.

QuantumChat

QuantumChat

Experimental chat room that wires the BB84 quantum-key-distribution protocol up to a live messaging UI. Two browsers negotiate a shared key over a simulated quantum channel, detect eavesdropping via QBER, and symmetric-encrypt every message — basically QKD as a teaching toy you can play with in your browser.

Powerschool GPA Calculator

Powerschool GPA Calculator

Chrome extension I built in high school that auto-calculates weighted and unweighted GPAs directly inside the PowerSchool gradebook — no scraping, no logins, just a clean overlay on top of the page. Still pulling installs from the Chrome Web Store years later.

InternetExtensionWebsite
Medium Twitter Bot

Medium Twitter Bot

Automation that watches @TGAonMedium's Medium feed and posts each new Gray Area article to Twitter the moment it goes live. Runs on Heroku off the Medium RSS feed + the Twitter API — zero manual work between drafting and audience.

PythonTelegramWebsite
Web Heck Scanner

Web Heck Scanner

Bash-driven recon and vulnerability scanning toolkit that wires together Nikto, Nuclei, SQLMap, gau/gauplus, anew, httpx, and waybackurls behind a single command. My opening move in bug-hunting engagements: pick a target, run one script, walk away with a structured set of leads.

ShellInternetBash
Hecker Bot

Hecker Bot

Telegram bot I built as a front-end for my bug-bounty workflow — DM it a target and it kicks off recon, subdomain enumeration, vulnerability scans, and reporting steps that I'd otherwise chain by hand in the terminal.

AutomationTelegramWebsite
Bash Bunny

Bash Bunny

Hotplug attack payloads I wrote for the Hak5 Bash Bunny — the small USB device that emulates HID, ethernet, and storage to drop into a locked machine in seconds. Covers credential grabs, network reconnaissance, and quick-touch persistence checks during physical pen tests.

AutomationBash
IDOR Automation

IDOR Automation

Python scripts I wrote during a P1 bug-bounty engagement to enumerate IDOR (Insecure Direct Object Reference) endpoints — base64-encoding then URL-encoding values to bypass weak access controls. The full disclosure write-up lives on my Medium.

PythonAutomation
Aesculapius

Aesculapius

Healthcare-accessibility chatbot that won the MetroHacks 2022 healthcare track. Built in 24 hours with Svelte + Tailwind + TypeScript on the front-end and a Python + Cohere-powered intent classifier on the back-end, plus Twilio for emergency SMS escalation. The bot interprets free-text health questions and returns mapped/graphed information — or routes the user to emergency services when intent warrants it.

Template Project

Template Project

Reusable starter template I cut from my actual project boilerplate — Svelte + Bulma on the front, Python on the back. Saves me roughly an hour of yak-shaving every time I start a new prototype.

WebInternet
Crypto Token Template

Crypto Token Template

Beginner-friendly template for spinning up your own ERC-20 token in REMIX. Ships three Solidity contracts at escalating complexity, deploy scripts using web3.js + ethers.js, and Solidity unit tests — meant as a learning scaffold (and absolutely not a rug-pull starter kit, despite what the dropdown might suggest).

InternetCrypto
Discrete Mathematics

Discrete Mathematics

Working notes, code, and Python explorations from my Discrete Math class at CU Boulder. Set theory, graph algorithms, combinatorics, and a handful of fractal visualizations that ended up being the most fun part of the semester.

Python

Get in touch

Send a message

Or email me directly: me@grahamzemel.com

Built with Svelte & Tailwind - See inside!

© Graham Zemel 2026. All rights reserved.