Development of Interpreted Languages
Design and implementation of interpreted programming, scripting and markup languages, from lexing and parsing to abstract syntax trees, validation, tree-walking interpreters and virtual machines with garbage collection. Sole creator of the Markers Markup Language, the Teto Array Language and the Chesed Scripting Language, all implemented in Haskell.
Creator of Bern, an open-source, interpreted and dynamically typed programming language implemented in Haskell, blending functional ideas such as auto-currying, lazy ranges and exhaustive match checking with a lightweight imperative syntax inspired by Lua and Odin. Bern features file-level pragmas for opt-in strict typing, immutability and errors-as-values, a REPL, standalone executable builds and a VSCode extension published on the Visual Studio Marketplace.
Creator of the languages behind Semicollon's engines in Odin: Til, a Python-like scripting language with its own virtual machine, mark-and-sweep garbage collector and Scratch-style block editor, and the rules language that drives interactions and dialog in the Noue Engine. Also implemented the parser, serializer and validator for SBL, Semicollon's Markdown-inspired visual novel scripting language.
Full-Stack Web Development
Development of full-stack web applications in TypeScript, JavaScript, C#, Java and Python, using frameworks such as Astro, React, Vue, NuxtJS, .NET, ExpressJS and EJS, styled with Tailwind CSS. Design of RESTful APIs documented with Swagger, authentication and role-based permission systems, real-time dashboards and reporting for production systems such as Kortex.
Experience with relational and non-relational databases (PostgreSQL, MySQL and MongoDB), including schema migrations, indexing and transactions across various languages and libraries.
Knowledge of Agile Methodology (SCRUM and Lean) and tools like Jira.
Cross-Platform Desktop Development
Proficiency in developing cross-platform desktop applications using JavaScript and the Electron Framework along with frameworks such as ExpressJS and AlpineJS, including Miragem, an IDE and academic paper generator with real-time collaboration via CRDT.
Knowledge of developing desktop apps using Tauri for Rust and building multiplatform applications using Flutter.
Game Engine and Tools Development
Development of 2D game engines and tooling in Odin with raylib and Box2D, including in-game level, pixel art, lighting, cutscene and dialog editors, custom immediate-mode GUI toolkits, post-processing shaders, particle and weather systems, hot reload and frame-perfect input replay. Earlier game development in Python, Lua and Haskell.
Build and release tooling for Windows, including cross-compiling Windows executables from Linux with an LLVM-based toolchain and one-click game export.
AI, Automation and Document Processing
Integration of large language models such as Claude into production systems, including a hybrid chatbot/agent architecture that combines LLMs with rule-based techniques into a fully autonomous agent. Document processing pipelines combining open-source and proprietary OCR for highly sensitive document verification, and automated generation of trade documents.
Browser automation and scraping with Playwright and Selenium, and automation of operational and financial workflows that turn PDFs, spreadsheets and e-mails into structured data and controls.
Systems and Infrastructure
Design and implementation of enterprise and on-premise infrastructure for in-house applications, deployed using (or not) Docker containers on Linux servers and VPS, including domain configuration.
Low-level systems work such as a MongoDB client written from scratch in Odin, implementing the wire protocol, BSON encoding and SCRAM-SHA-256 authentication over multithreaded networking.
Business Analysis and Leadership
Business process mapping, requirements specification and IT project governance, with domain knowledge in import/export logistics (DUIMP, Bills of Lading, Packing Lists, Commercial Invoices and Certificates of Analysis), multi-currency financial reconciliation and credit brokerage operations.
Experience leading multidisciplinary and multicultural teams of 4 to 12 members, handling task delegation and time management, and training junior developers and creatives.