I built SHDL (Simple Hardware Description Language) as an experiment in stripping hardware description down to its absolute fundamentals.
In SHDL, there are no arithmetic operators, no implicit bit widths, and no high-level constructs. You build everything explicitly from logic gates and wires, and then compose larger components hierarchically. The goal is not synthesis or performance, but understanding: what digital systems actually look like when abstractions are removed.
SHDL is accompanied by PySHDL, a Python interface that lets you load circuits, poke inputs, step the simulation, and observe outputs. Under the hood, SHDL compiles circuits to C for fast execution, but the language itself remains intentionally small and transparent.
This is not meant to replace Verilog or VHDL. It’s aimed at:
- learning digital logic from first principles
- experimenting with HDL and language design
- teaching or visualizing how complex hardware emerges from simple gates
I would especially appreciate feedback on:
- the language design choices
- what feels unnecessarily restrictive vs. educationally valuable
- whether this kind of “anti-abstraction” HDL is useful to you
Repo: https://github.com/rafa-rrayes/SHDL
Python package: PySHDL on PyPI
Thanks for reading, and I’m very open to critique.
I'd done napkin math beforehand, so I knew it was probably a bug, but still. Turns out it was only partially a bug. The rest was me needing to rethink how I built this thing. Spent the next couple days ripping it apart. Making tweaks, testing with live data, checking results, trying again. What I found was I was sending API requests too often and not optimizing what I was sending and receiving.
Here's what moved the needle, roughly big to small (besides that bug that was costin me a buck a day alone):
- Dropped Claude Sonnet entirely - tested both models on the same data, Haiku actually performed better at a third of the cost
- Started batching everything - hourly calls were a money fire
- Filter before the AI - "lol" and "thanks" are a lot of online chatter. I was paying AI to tell me that's not feedback. That said, I still process agreements like "+1" and "me too."
- Shorter outputs - "H/M/L" instead of "high/medium/low", 40-char title recommendation
- Strip code snippets before processing - just reiterating the issue and bloating the call
End of the week: pennies a day. Same quality.
I'm not building a VC-backed app that can run at a loss for years. I'm unemployed, trying to build something that might also pay rent. The math has to work from day one.
The upside: these savings let me 3x my pricing tier limits and add intermittent quality checks. Headroom I wouldn't have had otherwise.
Happy to answer questions.
It took almost 7 years, and sometimes I lost hope that I would make it to a successful exit.
But today I am pleased to announce that I finally achieved the ultimate Hacker News karma:
31337
I'll now be pivoting away from day-to-day HN responsibilities, into more of an occasional advisory role.The maximum available points for that role is 32767, so I'll try to spend it wisely.
If anyone needs to hire a founder type, I know one who has freed up a lot of discretionary time, to spend on work.
https://i.imgur.com/HnB30Ff.png