Skip to content
View mikhail-angelov's full-sized avatar
🍀
remote
🍀
remote

Block or report mikhail-angelov

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mikhail-angelov/README.md

Hi there, I'm Mikhail 👋

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

LinkedIn Toptal Telegram Matrix


🚀 Now

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

🧰 How I work

  • 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

✍️ Published technical writing

I write about how developer tools and web technologies work under the hood.

Toptal (English, verified expert)

Habr (Russian, 80K+ total readers)

→ Full list of published writing · writing page


🛠 Tech

  • 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

📌 Selected projects

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

🌍 Open source contributions


📊 Stats

GitHub Stats Top Langs


📫 LinkedIn · Toptal · Telegram · Matrix · 📧 mikhail.angelov@gmail.com Open for freelance & consulting work — let's talk about your project.

Pinned Loading

  1. vadic vadic Public

    Push-to-talk dictation for macOS that runs on-device: whisper.cpp on Metal, text typed into any field

    Swift

  2. mongo-unit mongo-unit Public

    In-memory MongoDB server for unit tests — a real database for your Node.js integration tests, published on npm

    JavaScript 75 42

  3. 2maps-and 2maps-and Public

    Offline Android navigator: MBTiles maps on MapLibre, on-device BRouter routing, placemarks and GPX tracks

    Kotlin 3

  4. herdr-review-loop herdr-review-loop Public

    Automated cross-review between agents in a herdr workspace — one writes, the other reviews, repeat.

    Go 3

  5. take5 take5 Public

    AI agent that explores your web app and records a polished demo video.

    Go 1

  6. beseda beseda Public

    Voice conversations with your coding agent in the terminal: wake word, local STT/TTS on macOS, English and Russian

    Python