Skip to content
View hirad121's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report hirad121

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
hirad121/README.md

Hi, I'm Hirad

CS & AI student building secure, production-shaped web apps

Background

I'm studying Computer Science & Engineering at OSU, specializing in AI, working toward finishing my degree while building things on the side. Most of what's below is what I've learned outside the classroom, but school has always been the foundation underneath it.

What I build

I build secure, production-shaped web apps — the kind with actual payments and actual auth, not just demos. I care more about a system holding up under abuse than about how many frameworks it name-drops.

Most recently I built nanomoz.com, an AI image-generation platform, end to end: a Next.js/React frontend and a FastAPI/Python backend, deployed split across a VPS and Cloudflare Workers/Containers, with Google OAuth + phone OTP sign-in, Stripe and local payment processing, Cloudflare R2 storage, and a Postgres database on Neon. Security wasn't an afterthought — the repo carries its own abuse-case checklist and a recurring scan pipeline (Semgrep, ZAP, Nuclei) alongside the usual CI.

What I care about

Systems that don't fall over when someone pokes at them wrong, code that's honest about what it actually does, and learning the boring-but-essential parts — deployment, auth, payments, security — that are easy to skip until they break.


Stack

Skills

Pinned Loading

  1. cloudflare-gauth-proxy cloudflare-gauth-proxy Public

    Edge-cached Google OIDC discovery/JWKS proxy for Cloudflare Workers, with a KV last-known-good fallback

    TypeScript