Rust · TypeScript · Backend architecture · Product engineering
I’m a software developer in Nairobi, Kenya. I take products from the data model and API through to the interface, testing, and deployment. I enjoy the parts of software that need careful engineering: authentication, permissions, background work, resilient workflows, and relationships that are more complex than a simple CRUD screen.
- Backend systems in Rust with Axum, Tokio, SQLx, PostgreSQL, Redis, JWT, tracing, and OpenAPI.
- Operational products for commerce and data-heavy workflows, designed around clear roles, reliable state, and practical interfaces.
- Native developer and media tools with Rust, Iced, GPUI, Ratatui, asynchronous I/O, and FFmpeg.
- Full-stack web applications with TypeScript, React, TanStack, Next.js, SvelteKit, Astro, and Tailwind CSS.
| Project | Focus |
|---|---|
| Silk | Fashion commerce platform with a Rust/Axum API, React admin application, PostgreSQL, Redis workers, cookie-based authentication, permissions, and catalogue management. |
| Rusty Editor | Focused native code editor with multi-document sessions, workspaces, syntax highlighting, search and replace, async file I/O, and a polished desktop shell. |
| Cadence | Local-first Rust and GPUI desktop timetable with SQLite storage, recurring schedules, drag and resize interactions, scoped edits, undo and redo, backups, and recovery. |
| Demux | Native Rust app for extracting audio from video with FFmpeg, queue management, media probing, live progress, cancellation, pause and resume, and safe output handling. |
| Elektronika | Cloud-native electronics commerce system covering storefront, administration, inventory, authentication, testing, and observability. |
| Rust Auth | Stateless authentication service using Axum, PostgreSQL, SQLx migrations, RS256 access and refresh tokens, environment configuration, and structured tracing. |
| JSON Parser | Hand-built lexer and recursive-descent JSON parser with Unicode escape handling, library APIs, and integration tests. |
| Area | Tools |
|---|---|
| Systems and services | Rust, Axum, Tokio, Hono, SQLx, Drizzle ORM |
| Data and messaging | PostgreSQL, Redis, SurrealDB, Kafka, Serde |
| Security and APIs | JWT, Argon2, RBAC, OpenAPI, Scalar, Utoipa, Zod |
| Native and terminal | Iced, GPUI, Ratatui, Crossterm, Tauri, Clap, FFmpeg, wgpu |
| Web | TypeScript, React, TanStack, Next.js, SvelteKit, Astro, Tailwind CSS |
| Quality and operations | Docker, Cloudflare, GitHub Actions, Playwright, Vitest, Prometheus, Grafana |
- Own the path from architecture through product experience.
- Define explicit boundaries for tenants, permissions, sessions, jobs, and recovery.
- Prefer small, testable components with documentation for decisions that matter.
- Build interfaces that make complex workflows easier to understand and operate.
- Polaris: multi-organization livestock management with roles, production records, and a Rust/Axum backend.
- Tasks Auth: authenticated TypeScript task API using Hono, Drizzle, PostgreSQL, validation, structured logging, and OpenAPI.
- Rusty Kafka: async Rust messaging experiments with Kafka, Axum, PostgreSQL, and containerized integration testing.
I’m open to collaborations around Rust, backend systems, developer tooling, and modern web products.

