Software engineer · architecture & integration · technical educator
I am a software engineer with a background in mathematics and informatics education. I work where system design and implementation meet: turning fuzzy requirements, legacy constraints, and cross-system integrations into software that teams can understand, deliver, and support.
My main technical foundation is .NET and C#, with practical work across TypeScript, React, Blazor, WPF, databases, APIs, CI/CD, and industrial interfaces. The technology matters, but usually in service of a larger question: how the domain, boundaries, data flows, failure modes, and path for change fit together.
- Start with the whole problem: clarify the actors, constraints, lifecycle, and operational reality before choosing abstractions.
- Stay critical of accidental complexity and abstractions that do not earn their keep. Prefer explicit boundaries, configurable behavior, and reversible steps.
- Make architecture useful to delivery through credible roadmaps, decision records, tests, automation, and documentation people can follow.
- Move between levels when needed: explain the underlying model, align a plan, review a design, then trace an integration, migrate legacy code, fix a pipeline, tune a query, support a deployment, or do the other unglamorous work that closes the loop.
Most of my production work is proprietary, so my public repositories show only a small and unusually recent slice of it. The broader work includes technical ownership of a configurable SCADA/HMI and line-control platform spanning user interfaces, services, PLCs, devices, databases, and host systems; delivery and support across five production-line projects; a two-year modernization roadmap for a legacy banking application; and ERP modules, data models, integrations, production maintenance, and customer support.
Before and alongside software engineering, I taught mathematics and informatics and developed technical learning content, including work at Arduino. That experience still shapes how I decompose problems, test understanding, communicate across disciplines, and design systems that remain explainable to the people who inherit them.
These repositories are small, inspectable examples of how I frame problems and structure work rather than a proxy for the scale of the systems I have worked on.
-
Kamra A household stock and shopping-planning system that connects product modeling, ingestion, evidence, review workflows, and operational safeguards rather than treating crawling as the product.
-
Curvebench An educational browser application for exploring numerical models, residuals, limitations, and 3D fitting with an emphasis on making mathematical behavior inspectable.
-
Pocok A deliberately small .NET package portfolio exploring clear capability boundaries, compatibility, testing, release engineering, and the cost of turning repeated application needs into reusable components.
-
Fonat An educational system for authoring lessons, presenting material, collecting live responses, and managing assignments and assessments, organized around explicit domain and ownership boundaries.
-
Codebase Learning Flow A repository-native framework for safe agentic collaboration and deliberate codebase learning, separating delivery governance from optional teaching and knowledge capture.
Smaller repositories also include focused tests, benchmarks, workshop material, and minimal reproductions for .NET, Rider, Paket, and industrial-integration issues. I value reducing a problem enough to explain, verify, and report it clearly.



