The engineering decisions behind the systems below.
I build software where reliability matters more than novelty—developer tools, AI infrastructure, and systems engineers can trust long after they're shipped. Most of my work lives where software meets physical infrastructure.
Modern AI systems shouldn't depend on a single provider. LLM Gateway keeps application code stable while models, vendors, and deployment targets change.
Repository: https://github.com/sabahattink/llm-gateway
Most code quality tools measure style. CodeDiag measures engineering risk before code reaches production through static analysis across architecture, security, dependencies, testing, and API health.
Repository: https://github.com/sabahattink/codediag
AI coding agents are fast, but speed without discipline creates technical debt. This permission-first agent stack makes planning mandatory before execution for Claude Code and Google Antigravity.
Repository: https://github.com/sabahattink/antigravity-fullstack-hq
Knowledge compounds only when it survives tomorrow. vault-os continuously organizes, summarizes, and prepares my daily engineering workflow using autonomous agents while keeping data local.
Repository: https://github.com/sabahattink/vault-os
Reliable repositories need a shared operating model. The Engineering Handbook records the principles, review standards, security practices, and maintenance rules used across my public work.
Repository: https://github.com/sabahattink/engineering-handbook
- If I repeat something three times, the fourth time becomes automation.
- Infrastructure should fail loudly, never silently.
- Document decisions, not just code.
- Every dependency becomes part of your incident response.
- If nobody owns the operational cost, the feature isn't finished.
- Done means it survives being on-call for it.
Smaller tools, built with the same engineering standards.
| Tool | Description | Tool | Description |
|---|---|---|---|
ghx |
GitHub CLI companion | dotenv-guard |
Prevent env leaks |
ai-commit |
AI commit messages | readme-forge |
README generation |
retry-fn |
Retry utilities | safe-json |
Safe JSON parsing |
git-whoami |
Git identity | kill-port |
Process cleanup |
port-finder |
Available ports | cron-explain |
Cron parser |
json-diff-cli |
JSON diff | slug-gen |
Unicode slugs |
ms-convert |
Time conversion | license-gen |
License generator |
Most projects start as private tools solving problems I actually have.
They stay private until removing them would make my own workflow worse.
Only then are they documented, hardened, and released as open source.
| Layer | Technologies |
|---|---|
| Languages | TypeScript · Rust · Python · Shell |
| Backend | NestJS · Node.js · PostgreSQL · Prisma · Redis |
| Frontend | React · Next.js · Tailwind CSS |
| Infrastructure | Docker · Linux · GitHub Actions |
| AI | Claude Code · Anthropic · OpenAI · Ollama |
- Reliable AI systems
- Local-first automation
- Agent safety and trust boundaries
- Developer infrastructure
- Software that controls real-world systems
Most repositories here started as private solutions to real engineering problems.
They become public only after removing them would make my own workflow worse than maintaining them. That keeps the focus on long-term usefulness rather than repository count, stars, or trends.
- Website: https://sabahattinkalkan.com
- Email: hello@sabahattinkalkan.com
- GitHub: https://github.com/sabahattink
Eventually, software has to speak for itself.
