██████╗██╗ ██╗ █████╗ ███████╗███████╗ ██████╗██████╗ █████╗ ██╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ██████╗ ███████╗██╗ ██╗
██╔════╝██║ ██║██╔══██╗██╔════╝██╔════╝██╔════╝██╔══██╗██╔══██╗██║ ██║██╔════╝██╔═══██╗██╔══██╗██╔══██╗ ██╔══██╗██╔════╝██║ ██║
██║ ███████║███████║███████╗█████╗ ██║ ██████╔╝███████║██║ █╗ ██║█████╗ ██║ ██║██████╔╝██║ ██║ ██║ ██║█████╗ ██║ ██║
██║ ██╔══██║██╔══██║╚════██║██╔══╝ ██║ ██╔══██╗██╔══██║██║███╗██║██╔══╝ ██║ ██║██╔══██╗██║ ██║ ██║ ██║██╔══╝ ╚██╗ ██╔╝
╚██████╗██║ ██║██║ ██║███████║███████╗╚██████╗██║ ██║██║ ██║╚███╔███╔╝██║ ╚██████╔╝██║ ██║██████╔╝ ██████╔╝███████╗ ╚████╔╝
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚══════╝ ╚═══╝
██████╗██╗ ██╗ █████╗ ███████╗███████╗
██╔════╝██║ ██║██╔══██╗██╔════╝██╔════╝
██║ ███████║███████║███████╗█████╗
██║ ██╔══██║██╔══██║╚════██║██╔══╝
╚██████╗██║ ██║██║ ██║███████║███████╗
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝
// personal site v3.0 — lead backend developer @ hatfield media, louisville ky
chase @ louisville : ~
❯
whoami --verbose
name
Chase Crawford
role
Lead Backend Developer
employer
location
Louisville, Kentucky
timezone
EST · UTC-5
uptime
—
skills
PHP LARAVEL VUE
MYSQL POSTGRES AWS
NGINX APACHE
status
● employed full-time
pronouns
he/him
chase @louisville :~
❯
8ball
magic 8-ball · 20 answers
// the 8 is up — shake to flip the ball and consult the oracle
Shake
● ready
chase @ louisville : ~/projects
❯
ls --long --featured
total 3 · 2 open source · 1 in closed beta
001 OSS
bot-trader →
Two-sleeve systematic momentum trader for Alpaca paper trading. Dual Momentum (Antonacci GEM) on broad ETFs alongside an EMA trend-state strategy across a curated 234-name equity universe. Documented for educational use.
PYTHON REST API SQLITE ALPACA YFINANCE
paper-api.alpaca.markets
github.com/chasecrawford/bot-trader
Goal
Beat SPY total-return over full market cycles, not in any single year. 19‑year backtest:
+768% vs SPY's
+615% , drawdown
34% vs SPY's
56% .
Paper Trading Trial No. 2 7D 30D 60D
EMA trend-state strategy
Strategy
SPY benchmark
Holding
002 OSS
feeds-by-chase →
Self-hosted Bluesky keyword feed generator. Streams the network firehose via Jetstream, matches posts against per-feed include/exclude rules in SQLite, and serves them through getFeedSkeleton — a self-owned replacement for SkyFeed-style builders.
TYPESCRIPT AT PROTOCOL JETSTREAM SQLITE CADDY
feeds.chasecrawford.dev
github.com/chasecrawford/feeds-by-chase
Goal
Own the feed-building stack end‑to‑end — keyword feeds keep running on my own domain and hardware, independent of any third‑party builder's uptime or roadmap.
Live on Bluesky 3 FEEDS
→
→
→
003 ANDROID · TWA
blackjack-coach →
Blackjack trainer that grades you while you play. Deal real hands at a 6‑deck Vegas table, then a coach reviews every decision against basic strategy and names the correct play — "you hit; basic strategy says stand 14 vs dealer 5." Ships with a generated strategy chart, accuracy stats, and a hand log. Play money only, no ads, works offline.
REACT VITE PWA BUBBLEWRAP TWA CLOUDFLARE PAGES
blackjack.chasecrawford.dev
dev.chasecrawford.blackjack.twa
Goal
Turn basic strategy into muscle memory — hands get graded in the moment instead of at the table. One engine call,
getCorrectPlay(), feeds the coach, the chart, and your stats, so the app can never grade you against a rule it doesn't also show you.
Closed Beta ANDROID
recruiting testers
Needs 12 testers
Google Play won't let a new app go public until 12 people have been opted into the beta for 14 straight days. Android phone + two minutes and you're one of them.
01 Join the testers group
02 Opt in on Google Play
03 Install it, play it now and then
How to join the beta →
Not on Android? Play it in any browser: blackjack.chasecrawford.dev
chase @ louisville : ~
❯
cat experience.log | sort -r
DATES ROLE NOTES STATUS
2022 — now
Lead Backend Developer Hatfield Media
Same responsibilities as before with the addition of eCommerce, dev ops, and infrastructure management.
● CURRENT
2019 — 2022
Backend Developer Hatfield Media
Backend development for client deliverables — Laravel, custom PHP, database work, third-party integrations.
CLOSED
2015 — 2019
Digital Application Developer PriceWeber Advertising
Full-stack agency work. Responsive WordPress themes from Photoshop/XD. Laravel & custom PHP/MySQL apps. Third-party API integrations (XML/JSON). LAMP server management. HTML emails compliant across mail clients.
CLOSED
2013 — 2015
Web Developer CustomWeb
Fast-paced full-stack on responsive WordPress & eCommerce builds (WooCommerce, OpenCart) from Photoshop comps. cPanel reseller admin. Maintained hundreds of client sites.
CLOSED
2011 — 2013
Web Developer DBS>Interactive
Custom, responsive WordPress and Drupal themes. Heavy PHP and JavaScript work. LAMP hosting server management.
CLOSED
2008 — 2009
Frontend Web Developer DBS>Interactive
First dev role out of high school. Frontend work at a digital agency working with WordPress & Drupal.
CLOSED
chase @ louisville : ~/photos
❯
open --grid=4 *.jpg
4 frames
chase @ louisville : ~
❯
contact --all
7 endpoints · 1 asset · reply time ~24h
chase @ louisville : ~
❯
contact --provider=bs
NORMAL · UTF-8 · LF · READY
© 2026 CHASE CRAWFORD
LOUISVILLE, KY · 00:00:00