Portfolio
Hi, I’m Kaan — a software engineer who likes building things end-to-end, from backend services to the UIs on top of them. Outside of my day job I tinker on side projects: open source libraries, tools I wish existed, and the occasional full product like Willet.
This page is a sample of that personal work. It intentionally excludes my professional experience, which lives on my CV.
Featured Project
Willet
Willet is a task tracker built for AI coding agents, operated entirely through MCP tools. It supports the full task lifecycle with subtasks, dependency linking, and semantic search backed by a local embedding model. I released the core as open source, and I also built a hosted version for people who’d rather not run it themselves.
Built with TypeScript, React, Express, Drizzle ORM, and PostgreSQL, deployed on Docker via GitHub Actions. Integrates Stripe for billing, OAuth (GitHub, Discord) for auth, Sentry for error monitoring, Honeycomb (via OpenTelemetry) for observability, and Mixpanel for product analytics.
Open Source Libraries
Smaller libraries and tools I’ve published for other developers to use.
Rust Embed for Web and Responder for Actix Web

Rust Embed for Web simplifies web asset management by enabling direct embedding of HTML, CSS, and JavaScript into Rust executables. This ensures deployment consistency and includes performance optimizations like pre-computed headers and compression. The companion project, Rust Embed Responder for Actix Web, is tailored to efficiently serve embedded assets with intelligent caching and content negotiation, with a focus on high-performance web delivery.
Cuttlestore

Cuttlestore provides a versatile abstraction layer for interacting with popular key-value stores like Redis and SQLite (with support for CouchDB and DynamoDB planned). This streamlines development, facilitates switching between storage backends, and promotes adaptable application design.
live limit

A TypeScript library for managing the number of concurrent asynchronous operations. It helps prevent server overload by ensuring only a set number of network requests, database queries, or other async tasks are in flight simultaneously. This library minifies under 1kb and has zero dependencies, helping minimize your bundle size.
Method Middleware for Actix Web

Middleware for the Actix Web framework that allows HTML forms to be submitted using HTTP methods beyond ‘GET’ or ‘POST’. This provides greater flexibility in designing web forms and RESTful APIs, allowing lightweight pages to interact with rich APIs.
