Freelance Full-Stack TypeScript / Node.js Engineer — remote, EU/UK/US timezone overlap.
I help startups and small teams ship products fast: from MVP to production, with clean architecture and pragmatic tech choices. These days most of my work is AI agents, voice interfaces and developer tooling — and I keep building them in the open.
💼 Available for new projects — 📧 mikhail.angelov@gmail.com · Telegram
| Project | What it is |
|---|---|
| vadic | Push-to-talk voice dictation for macOS — speech recognized locally (whisper.cpp on Metal), text typed into any field · brew install mikhail-angelov/tap/vadic |
| beseda | Voice dialogs with coding agents in the terminal — wake word, local STT/TTS, pluggable agent backends · uv tool install beseda |
| EasyCAD | LLM chat that builds simple 3D-printable CAD models — text2part.bconf.com |
- Engagement: short sprints, ongoing part-time, or full project ownership
- Availability: 40 hrs/week, remote, async-friendly
- Sweet spot: full-stack web apps, MVPs, developer tooling, API integrations, AI-assisted features
I write about how developer tools and web technologies work under the hood.
Toptal (English, verified expert)
- Gulp Under the Hood — building a Gulp-compatible task automation tool with Node.js streams
- Integration and E2E Tests with Node.js and MongoDB — practical testing with mongo-unit
Habr (Russian, 80K+ total readers)
- UI framework за 5 минут — a tiny React-like virtual DOM implementation (24K readers)
- Реализуем 3D картинку в браузере — WebGL/3D experiments (21K readers)
- Стерео плеер из VLC — VLC/OpenGL stereo rendering (42K readers)
→ Full list of published writing · writing page
- Languages: TypeScript, JavaScript, Go, Python, Kotlin, Swift
- Frontend: React, Preact, Web Components, Tailwind CSS, shadcn/ui, Vanilla JS
- Backend: Node.js, NestJS, Express
- Data: PostgreSQL, MongoDB, SQLite
- AI: LLM agents & tool calling, OpenAI API, MCP, local speech (whisper.cpp, GigaAM), RAG
- Infra: Docker, GitHub Actions, Nginx
| Project | Description |
|---|---|
| mongo-unit | ⭐ 75 — In-memory MongoDB for unit tests, published on npm, used across 42 projects |
| 2maps-and | ⭐ 3 — Offline navigator for Android: MapLibre + embedded BRouter routing (Kotlin) |
| herdr-review-loop | ⭐ 3 — Automated cross-review between coding agents in a herdr workspace |
| 2FA | TOTP authenticator for Android — secrets in Android Keystore, encrypted export (Kotlin) |
| captureScreenJs | ShotMark — screenshot annotation for macOS, built on Tiny.js |
| redoproxy | Lightweight reverse proxy with automatic TLS for Docker environments |
| badge-maker | Online canvas editor for custom badges |
- dundee/gdu — two merged upstream PRs: #651 treemap for the web UI and #659 delete / reveal actions (security hardening: DNS-rebinding, TOCTOU, request limits)
- tarwin/tinyjsapp — merged #50 windowless tray agents on macOS, shipped in v0.51.0
- mongo-unit — maintainer since 2017: releases, issue triage, community PR review
📫 LinkedIn · Toptal · Telegram · Matrix · 📧 mikhail.angelov@gmail.com Open for freelance & consulting work — let's talk about your project.





