Experience

2024 - Present

Self-Employed & Parental Leave

Currently working on an agent-based app family for making recipes easier to manage.

Some core problems I want to solve:

  • Super easy recipe collation from multiple sources (images, websites, pdfs, or videos)
  • Agent-assisted meal planning
  • Smart shopping list creation from meal plans -> using agents to combine ingredients and quantities and organize them by grocery section (e.g. produce, dairy...)

I want to make a platform that will allow anyone to save recipes from anywhere, will put them into a simple but structured data model.

The possibilities are endless and I'm motivated by solving real problems that I face as a father and home cook.

How I'm doing it (so far)

  • .NET for the core data model and related MCP tools (e.g. creating recipes, getting ingredients, etc.)
  • Next.js for a web app to rapidly prototype real features and flow.
  • Mastra.ai for agent orchestration and workflows
  • k3s for production-ready (but not overkill) infrastructure and platform.
  • Github and Actions for source control and CI/CD
  • Postgres as my DB

However things are changing rapidly.

After the core functionality and user management are solid I will focus on an ios app and package the web app as a PWA and/or an installable desktop app.

I'll be blogging about my progress and learnings as I'm learning a lot about how to make actually valuable and cost-effective agent-powered software.

Relevant skills:

  • MCP
  • Mastra.ai
  • python
  • .NET
  • Cursor
  • Claude Code
  • Codex
  • Next.js
  • React
  • Swift / Swift UI
  • k3s

Jan 2022 – Oct 2024

Tech Lead

Global building materials company, 2nd largest cement producer worldwide. Worked in a digital division internal product startup organization.

During my time as as a Tech Lead I led the Planner team in the Digital division. This product focused on the use case of cement production planning and identified a key gap in the planning process -> electricity is now dynamic and pricing is real-time.

By pulling this intelligently into the production planning process, we were able to save millions of euros while improving the user experience by creating an award-winning modern responsive UI used by production planners, operators, plant directors, and more roles.

We had a cross-fuctional team setup of 8 engineers, with some optimization specialists, data scientists, a dedicated product owner, a BE and FE team, a UX team, and myself as a Lead. We existed in a suite of internal products that served different use cases in the company's operations.

Our app was cloud-native, ran on Azure, and was built using .NET, React, and Python.

Some highlights during my time there:

  • Leading the product from POC to production-ready by re-architecting a monolithic Python BE into a domain-driven (DDD) set of .NET services on Azure that used RabbitMQ as a message broker.
  • Expanding the product to have materials replenishment integration. This was a huge expansion of the original product scope and made it much more valuable for plants to plan not only production but also replenishment.
  • Driving GenAI tool adoption across the digital division by organising hands-on training sessions, and co-leading a research initiative that identified time savings of up to 90% for some tasks — this resulted in a successful rollout across the teams.
  • DevEx improvements — notably shared .NET service templates, common packages for RabbitMQ, logging, API configuration, as well as a new way to share gRPC contracts through per-service NuGet packages.
  • Alignment with other teams to create a medallion data architecture that would serve the entire organization.
  • Building up mine, and other teams by interviewing candidates for multiple roles (Tech Leads, full-stack, backend, frontend)
  • Focusing on team and cross-team devops topics, including setting up the common FE CI/CD pipeline, reusable IAC modules (Terraform) for serverless functions, and setting up automatic formatting and extra linting for BE codebases.

Relevant skills:

  • React
  • TypeScript
  • .NET/C#
  • Azure
  • CI/CD
  • gRPC
  • RabbitMQ
  • Databricks
  • Medallion Architecture
  • Domain-driven Design (DDD)
  • Entity Framework
  • Serverless
  • Kubernetes
  • Docker
  • IaC / Terraform

Nov 2020 – Jan 2022

Full-Stack Engineer (FE focus)

Global building materials company, 2nd largest cement producer worldwide. Worked in a digital division internal product startup organization.

In 2020 I moved to Germany and joined the Planner team at Heidelberg Materials. Check my Tech Lead experience for more details, but Planner filled a gap in the cement planning process - namely factoring in electricity price volatility. By doing so we were able to generate massive savings for the company.

Keep in mind this was mid-covid so I really got a chance to learn about remote work with an international team and didn't see most of my colleagues for over a year.

The work we were doing was unique and really valuable. We didn't just save money, but we aligned the production of cement to use renewables as much as possible. At the scale of Heidelberg Materials any optimization is a huge saving in CO2 emissions worldwide.

At this point it was at the POC phase and I was primarily responsible for the UI.

Some notable personal contributions:

  • Refactoring state handling to minimize FE, removed all use of Redux and refactored to use react-query
  • Built a lightweight UI logging library that was used across all FE products
  • Migrated logging and event tracking from Sentry to Application Insights for all FE products
  • Refactored CI for all FE products to use a new unified CI scheme in gitlab ci
  • Offloaded heavy calculations and functions to web workers to improve performance by unblocking the main thread.
  • Worked on high-performance charts - often by writing svg code directly.
  • Introduced modern UI practices like skeleton loaders, bundle splitting, prefetching on link hover, and optimistic updates.

I also touched some backend code during the time, and worked on implementing a new scheduling API for the product that would enable multiplayer planning and scheduling of production slots.

I was pretty proud of setting up the FE for long-term maintainability and scalability - especially when it comes to performance.

The only thing I wish I had pushed for earlier was moving away from Material UI. It's a pretty heavy framework and I've grown to greatly dislike component libraries like this.

Relevant skills:

  • React
  • Typescript
  • React Query
  • Storybook
  • Design System
  • Material UI
  • Redux
  • Jest
  • Cypress
  • Nx / Monorepo
  • Gitlab CI
  • D3
  • SVG
  • Web Workers

2019 – 2020

Project Lead

International center of the Bahá’í Community, coordinating global service initiatives and publications.

In my final time at the BWC I got a chance to work with an exciting project in a very dynamic, startup-like small team that managed a family of websites and related apps.

I worked specifically on building a new app that was focused on being a research tool for a large body of text.

Some notable personal contributions:

  • Built a cross-platform desktop app with Electron, React and Typescript; implemented offline worker processes that used Elasticsearch for local search of a large corpus of text.
  • Created a live news website powered by a CMS that supported multilingual simultaneous publishing in 8 languages and was heavily used worldwide. Use static-site rendering triggered by CMS changes to ensure high performance across low-powered devices.
  • Created a custom multilingual document CMS that managed content in a custom AST format for representing texts in multiple languages defined with the unist spec.
  • Worked with Trend Micro and Berkeley researchers on threat modeling and pen-testing.
  • Built an elasticsearch configuration and indexer project that ran as a worker process and a CI script for both local and cloud configuration.
  • Set up the tooling for managing a worldwide team of developers and designers that would work with the office.

It was during my time here that I started my deep dive into React, Typescript, GraphQL and Node.js as well as starting to contribute back to open source. You should see a very active heat map of my contributions on github during this time.

Relevant skills:

  • React
  • DevOps
  • CI/CD
  • Typescript
  • Node.js
  • CMS
  • Jest

2018 - 2019

Team Lead

International center of the Bahá’í Community, coordinating global service initiatives and publications.

I then led the team that supported the ERP (Enterprise Resource Planning) and EAM (Enterprise Asset Management) systems for the organization.

This involved supporting and developing for seven different departments, each with a laundry list of requirements and needs.

One of the most important things I learned during this time was about how important solving things together with stakeholders and communicating expectations well is.

I helped set up a working group around these two massive systems so that the departments and organization could understand and prioritize work together but also by bringing internal developer needs that would allow us to deliver faster.

This involved helping them understand internal timelines and projects like

  • Internal upgrades
  • Investing in tooling and automated deploys
  • Setting up test and staging environments
  • Hardening the systems and VMs to high security standards

And then combining them with the priorities of the departments to solve their pain points.

The overall result was not only less fire fighting for the team, but much faster delivery of features and fixes after we were able to clear up our technical and process debt.

Another huge development was setting up training documentation with the different departments to deal with turnover. This involved writing hundreds of pages of documentation and setting up processes to keep it up to date with the corresponding departments.

Relevant skills:

  • Project management
  • Stakeholder Communication
  • Jira
  • Confluence
  • Documentation frameworks
  • Systems admin

2015 - 2018

Full Stack Engineer

International center of the Bahá’í Community, coordinating global service initiatives and publications.

At the BWC I got to join an extremely international team and wore more hats than I have ever worn in my life.

Some of my responsibilities included:

  • Supporting internal platform tools for the IT and engineering departments
  • Building intranet apps in multiple languages and platforms
  • Running security hardening on vms and servers using different CIS standards
  • Setting up CI/CD pipelines

Some notable achievements:

  • Creating event management software that was used by hundreds of employees
  • Implementing a help desk service portal
  • Designing and implementing integrations between enterprise systems
  • Creating custom migrators and deprecating old mediawiki systems into a new wiki solution

I also worked on creating new training plans for onboarding new engineers, as we had a very challenging turnover situation due to the transient nature of a volunteer organization. After this initiative we were able to reduce onboarding time from several months to a several weeks.

Relevant skills:

  • Confluence
  • .NET
  • Java
  • Jira