Staff Software Engineer building web apps end to end — React and Angular on the front, NestJS and Rust on the back, PostgreSQL underneath, Docker around it.
- 🔭 Building chat-systems, a self-hosted Slack alternative in Rust + React
- 📦 Maintaining reactilities, a React hooks library on npm
- 💬 Ask me about TypeScript, React, Angular, NestJS, Rust
Self-hosted team chat: channels, threads, huddles, search inside files, SSO and a Slack importer.
Runs with one docker compose command. Web and desktop clients.
Rust Axum Tokio SQLx PostgreSQL Redis React TanStack Query Zustand Tiptap LiveKit / WebRTC Tauri Docker
React hooks for the parts you keep rewriting: storage, media queries, clicks outside, debouncing, observers, timers. Fully typed, tested, tree-shakeable.
TypeScript React tsup Vitest Testing Library
Languages
Frontend
Backend & data
Testing, DevOps & cloud
Also: Ionic, Turborepo, Drizzle ORM, NextAuth, Zod, Playwright, Vercel AI SDK, IndexedDB / Dexie (offline-first), WebSockets, LiveKit.
Most of my work lives in private repositories: production apps and client projects. They run on the same stack:
- Angular + NestJS monorepos with Turborepo, pnpm and shared Zod contracts between API and client
- Next.js apps with Prisma / Drizzle, NextAuth and Tailwind
- AI chat apps on the Vercel AI SDK, with Postgres, Redis and streaming responses
- Mobile apps with Ionic, Angular and Cordova
- React SPAs with Redux and AWS Amplify



