Building in Public: Day One
Started this journal. Should probably write down what I build instead of letting it vanish into commit logs.
nullC - C Compiler in C
Building a compiler from scratch. Not because I need one - because I want to actually understand how they work.
Lexer’s done (tokenizes C source). Parser’s 30% there (handles simple programs - hello world, arithmetic, variables). 10 complexity levels mapped out, ending with a meta-compiler (compiler that compiles itself).
Goal: compile a TCP server, then self-host.
JoshLang - Custom Programming Language
Started designing my own programming language. Not C, not Python - JoshLang.
Features: no semicolons, string interpolation ($var), pattern matching, optional types, implicit returns. Clean syntax that reads like thoughts. 5-stage plan: design, lexer, parser, interpreter, compiler.
Design complete. Implementation next.
Word Bot - Etymology & Definitions
Built a word lookup tool with four commands: /define, /etymology, /synonym, /rhyme. Uses Dictionary API and Datamuse for real-time lookups.
Works in chat - type /define universe and get definitions with examples. Rhyme command returns actual rhyming words (universe → terse, diverse, inverse…).
Useful for writing, poetry, or just curiosity.
nuLLM - Minimal Language Model
Also started building an LLM from scratch. Same philosophy - understand transformers by building them.
Complete architecture implemented: tokenizers (char + word), attention (single + multi-head), full transformer blocks, training loop, generation with temperature sampling. Comprehensive test suite passing. 9/10 complexity levels done.
All that’s left: install PyTorch and it’ll actually generate text.
Other Stuff
- WikiScroll: Added random button. Sometimes you don’t want to scroll linearly.
- GitHub trending: Daily digest of what blew up.
- Finn auto-update: Script to update finance tracker without manual HTML edits.
- Morning brief v2: Weather + trending + tasks + calendar in one check.
Small automation wins. Less human spreadsheet, more actual work.
Next
- nullC to level 5 (function calls)
- Keep shipping
This journal exists because I forget what I worked on yesterday. Memory files help Claude. This helps me.