UG / SOFTWARE ENGINEER
Umut Güngör
I build web apps and developer tools with TypeScript, React, and Python. My open-source work includes ChronoFlow, a daily planner; CVera, a résumé matcher; and Python command-line tools.
umut@ug ~ ❯ whoami
Umut Güngör — Software engineer & systems builder
umut@ug ~ ❯ cat ~/.profile
"Building software systems, interfaces and AI tools with clarity."
umut@ug ~ ❯ portfolio --stats
umut@ug ~ ❯ tail -n1 ~/writing.log
[12 Sept 2026] Event-driven architecture: idempotency and duplicate-message tests
umut@ug ~ ❯ ls commands/
umut@ug ~ ❯
Based in Türkiye · Available for selected collaborations.
FEATURED
Featured writing
TechnologyEvent-driven architecture: idempotency and duplicate-message tests
Process one event twice with Node.js and SQLite. A runnable example of transactions, rollback, retries and identity conflicts.
12 Sept 2026 · 3 min readRead articleLATEST
Latest writing
UG / TechnologyEvent-driven architecture: idempotency and duplicate-message tests
Process one event twice with Node.js and SQLite. A runnable example of transactions, rollback, retries and identity conflicts.
Read
UG / GuidesChecking .env files with EnvDoctor: check, sync and audit
A practical guide to my Python CLI EnvDoctor: find missing environment variables, update .env.example and audit source-code references, with executed examples and limitations.
Read
UG / TechnologyRAG evaluation: separate retrieval from answer quality
A runnable Node.js example covering recall, precision, answer omissions and out-of-corpus questions. Synthetic data, actual test output and limitations.
Read
UG / ExperiencesLearning in public without performing
Publishing notes, tools and half-formed ideas accelerates learning — if you separate sharing from self-promotion.
Read
UG / GuidesRead the code before you write the code
Most refactoring mistakes come from writing before understanding. A short method for mapping a codebase's real dependencies first.
Read
UG / ExperiencesDeep work in a fragmented day
You cannot always get four uninterrupted hours. Notes on making real progress in small, interrupted blocks.
Read
UG / TechnologyInterfaces for uncertain systems
Design patterns for communicating confidence, latency, partial results and recovery without presenting uncertainty as certainty.
Read
UG / ExperiencesChoose side projects that teach
A side project is a curriculum you design for yourself. How to pick scope, constraints and a finish line that actually teach something.
Read
UG / GuidesDebugging with hypotheses: reproduce a shared-state bug
A deterministic Node.js debugging example. Compare parallel and serial execution, isolate shared state and verify the fix with regression checks.
Read
UG / ExperiencesFrom junior to mid: what actually changes
The jump is not about knowing more syntax. It is about owning outcomes, scoping work and communicating risk.
Read
UG / TechnologyPerformance is an interface decision
A product-focused method for setting performance budgets, protecting visual stability and measuring the complete user journey.
Read
UG / GuidesA portfolio that proves work
Screenshots and adjectives prove nothing. Working links, honest labels and written trade-offs do.
Read