I've spent more than 10 years in software, working across development, testing, architecture, and team leadership. Most of my work has been with Microsoft technologies, and I enjoy building practical, scalable systems.
I'm involved in a couple of community projects:
- dotnet.ge – a .NET-focused community in Georgia
I'm also a speaker at .NET Georgia, where I give talks on .NET, software engineering, and related technologies.
I actively maintain several open-source projects:
- PdfiumRaster – an open-source project for working with PDF rendering
- PdfiumRaster.Orchestrator – a companion project to PdfiumRaster
I also contribute to other open-source projects:
- Imposter – a mocking library focused on finding the right balance between performance and an intuitive API
- Brighter – contributions to the .NET command processor and messaging framework
- Aspire – PR #19958 – Fixed inherited launch profile handling for bundled AppHosts.
- Agent Framework for Go – PR #1068 – Fixed MCP tool discovery pagination so agents can discover and invoke tools across all pages returned by MCP servers.
- Agent Framework for Go – PR #1073 – Preserved native MCP content in tool results, including images, audio, resource links, and embedded resources instead of serializing them as text.
- Agent Framework for Go – PR #1077 – Fixed tool-call cancellation so cancelled requests stop subsequent provider and tool invocations instead of continuing execution.
- Agent Framework for Go – PR #1088 – Fixed tool-result compaction to preserve raw JSON as readable JSON text instead of rendering
json.RawMessagevalues as numeric byte arrays. - Agent Framework for Go – PR #1093 – Added function-invocation middleware with call identity, allowing applications to intercept individual tool calls and inspect or modify their call ID, arguments, results, and errors. The middleware also supports short-circuiting tool execution and exposes invocation identity inside tool handlers through context.
- Agent Framework for Go – PR #1112 – Preserved MCP content metadata during bidirectional MCP ↔ framework conversion, including metadata for text, images, audio, resource links, embedded resources, and JSON content.
- Agent Framework for Go – PR #1113 – Preserved MCP array output schemas and structured results by adding structured content for array and nullable-array tool results while keeping existing text output unchanged.
Outside of coding, I enjoy learning about startups, traveling, and meeting people from different cultures.
My GitHub might look like a graveyard, but it's full of half-finished ideas and hidden startup experiments.
Feel free to check out my repos or connect.



