ASP.NET Core is an open-source web framework for .NET. While on this project I have been a regular contributor to various parts of the stack, including Kestrel HTTP Server, dotnet-watch, and .NET Core in general.

I switched to this team full-time in August 2016. For the first 5 months I primarily helped convert the entire build system and tools (like dotnet-watch) from project.json to MSBuild. I then moved on to runtime components of the web stack.

Entity Framework Core

A data-access framework for .NET. Entity Framework Core is a lightweight and extensible version of the popular Entity Framework data access technology. This makes it easy for developers to create and access databases as well as manage changing database schemas.

I first interned on this project in 2014 (when it was called EF 7) and prototyped using EF 7 for Azure Table Storage. I joined the project as a full-time software engineer in Spring 2015.

SQLite for ADO.NET (Microsoft.Data.SQLite)

This library allows interaction with SQLite databases using ADO.NET patterns and interfaces.

This library was primarily created by Brice Lambson of the Entity Framework team. When EF Core was created, System.Data.SQLite was not suitable as the lower-layer component. Brice started this project to create a cross-platform, .NET Core-compatible, lightweight implementation of System.Data.Common contracts for use with Microsoft.EntityFrameworkCore.SQLite.

Native SQLite on NuGet

NuGet packaging for the native components of SQLite. These are available at

This package provides the native libraries required to execute SQLite on any platform where .NET Core is supported. It is officially owned by the SQLite Team, but I created the package for them as they were unfamiliar with how to create a native package that works on Linux, Windows, macOS, etc.