Indiana

Shawn Martin

During the day I melt and test steel in a foundry. My responsibilities include heat chemistry, heat treatment, weld parameters, product flow, and material certification. The craft is in understanding the grade’s capabilities via its ability to quench and harden to a certain depth determined by the amount of alloying constituents. The rest of the time I build small pieces of software with Claude’s help, for fun and to make information easier to digest.

Steel

The testing side is tensile and yield strength, Brinell hardness, and Jominy end-quench curves for hardenability — the numbers that decide whether a casting will do the job it was designed for.

The interesting part is how those numbers depend on one another. Ideal diameter sets how deep hardness runs once you quench. Section thickness decides whether that prediction survives contact with a real part — a thin wall and a heavy boss poured from the same ladle, through the same heat treat, do not come back with the same strength. Carbon equivalent answers a different question again: whether the casting can be weld repaired without preheat and without cracking.

Knowing how far apart those two will land before the casting is poured, rather than after it is tested, is the useful part.

Things I’ve built

8 projects
Running Python
Streamlit
SQLite

Dynasty Scout

A scouting dashboard for a twelve-team superflex dynasty league. It reads the league against NFL snap counts, so “who can start right now” gets measured by playing time rather than by how many players happen to be rostered at a position — which turns out to be a very different answer.

Running Python
Streamlit

GC-Dugout

Youth baseball statistics pulled out of GameChanger and turned into something worth reading. The app gives you a box score; this gives you a season.

stats.martins-inc.com →
Paper trading Python
IBKR API

Overnight Drift Bot

A futures strategy that holds a single micro E-mini contract overnight and flattens in the morning. Everything genuinely interesting about it is the risk control — conviction sizing, a regime filter, and a drawdown breaker whose only job is to stop the thing from trading.

Running Python
ChromaDB
Discord

Gabbie

An email secretary that reads my inbox and answers questions about it from a Discord channel. It retrieves the actual message before answering, so it quotes rather than guesses.

In progress FastAPI
Postgres
React Native

Grocery & Carb Tracker

A meal planner and carbohydrate tracker built for my wife, sitting on a two-million-item food database with barcode lookup. Recipe import and ingredient matching work; the meal calendar is what I am building now.

Seasonal Python
GroupMe

Tournament Bot

Watches a youth baseball tournament bracket and posts scores and schedule changes into a group chat, so nobody has to sit there refreshing the tournament site. That was the entire point of it.

Shipped Python
pynput
PyInstaller

Auto Clicker

A clicker I built for my kids, with an overlay for setting click rate, hotkeys and frame-rate presets. The timing comes from a Gaussian spread rather than a fixed interval so it does not click like a metronome, and the whole thing packages into one .exe so they can run it without installing Python.

Parked Python
MediaPipe

SwingCoach

Pose estimation over baseball swing video, to put numbers on what a hitting coach describes by eye. Scaffolded, and then honestly set aside in favour of the projects above.

Get in touch

Happy to talk about any of it — shawn.martin@martins-inc.com.