petur@sofia — zsh

~ $ ls work/


jest.com

senior full-stack engineer · 2025 – present

A consumer platform for mobile web games. I turn designs into the living product — everything you see and tap there, plus the backend behind it: the real-time chat system (tRPC subscriptions over SSE, cursor pagination, presence), unified Stripe checkout on a credit-balance model, passkey auth, and the PWA layer that makes a web app feel native. 213 production PRs in the first 8 months, working agent-first with Claude Code, kept honest with end-to-end types and tests.

react 19ssrfastifytrpcpostgresqlposthogstripepwa

powertime.org

founding product engineer · 2025

Real-time collaboration and group-governance platform — web app plus an Electron desktop app for three OSes, built as the sole frontend engineer. Typed WebSocket layer generated from OpenAPI schemas; CI boots the real Clojure/Datomic backend on every PR to typecheck the frontend against the live API contract.

vue 3typescriptpiniaelectronwebsocketsopenapi

v7 go & v7 darwin

staff frontend engineer, v7 · 2022 – 2024

On V7 Go, built the heart of the product: a Google-Sheets-like table where every cell is computed by AI — kept responsive on huge datasets by forking and customizing a virtual scroller. Also the Entity View, a markdown editor with mention autocomplete, and the signup/growth tooling. On Darwin, built the consensus-review UI for multi-annotator quality control and carried a large share of the Vue 2 → Vue 3 migration.

vue 3typescriptvirtualizationtailwindplaywright

hyperscience

staff software engineer · 2021 – 2022

An enterprise ML platform that turns documents into structured data. I built the human-in-the-loop annotation tooling in React and TypeScript — labeling rows and cells directly over scanned documents, with live model predictions fed into the flow so annotators corrected the machine instead of labeling from zero. Faster and more accurate at the same time. Also grew the component library shared across product teams and mentored the people building on it.

reacttypescriptdjangoml tooling

leanplum (clevertap)

staff engineer / frontend lead · 2015 – 2021

Mobile marketing-automation platform for enterprise customers like Tinder, Tesco, and Lyft. Joined as the first frontend-focused engineer and owned the web dashboard for six years: drove two complete migrations (jQuery/Backbone → Angular → Vue + TSX + TypeScript) without pausing feature delivery, laid the foundation of the next-generation dashboard, and crossed the stack to rewrite the analytics module as a Spring Boot service speaking Protocol Buffers over custom RPC. Onboarded and mentored engineers as the frontend team formed around me.

vue + tsxangulartypescriptvuexspring bootprotobuf

where it started: kendo ui

software developer, telerik · 2011 – 2015

Owning components end to end in one of the most widely used JavaScript UI suites on the web — research, design, implementation, tests, maintenance — plus their ASP.NET MVC server-side wrappers. I wrote the public docs and answered developers by ticket and phone, which is also the origin of a 20k-reputation Stack Overflow profile. Thousands of .NET developers shipped on those components.

javascriptjquerykendo uiasp.net mvc

~ $ ls projects/


pdf2audio

side project · open source · demo videos in the README

A personal audiobook library you live in, running fully offline on Apple Silicon. PDFs in → chapter-marked M4B audiobooks out, via local TTS (Kokoro and friends) with AI chapter detection and OCR cleanup. Then the fun part: chat with your whole library — an agentic assistant over hybrid full-text + semantic search (local embeddings, ask in English, find the Bulgarian passage) that streams answers with verified citations linking straight to the page. Per-chapter translations and AI rewrites (ELI5, summaries, custom prompts) stream in token by token and get their own audio, and synced EPUBs give you read-along with sentence-level highlighting on your phone.

typescriptlocal llmsragpgvectorkokoro ttsepub media overlays

# why i built it

My time at a desk is limited and I'm on the go a lot, so I keep educating myself by listening. The catch: the things I actually want in my ears — a dense PDF, a paper, a Bulgarian book — have no audiobook and never will. Building an entire TTS studio to avoid reading a 400-page PDF is, of course, far more work than reading it — which is precisely the trade I keep making, except now every PDF I own is an audiobook, narrated overnight, offline and free. The same pipeline also gives me a daily Hacker News podcast: a script pulls the day's top stories, extracts the articles, keeps the comment-section drama to a strict 20% of the airtime, and it's on my phone by the time I'm out the door.

sibling-jump.nvim

side project · listed in awesome-neovim

A Neovim plugin for tree-sitter-aware code navigation: one keystroke to hop between siblings at the same nesting level — statements, object properties, array elements, function arguments, JSX attributes, links in a method chain, branches of an if/else — instead of hunting with search. A second keybinding cycles a block's structural boundaries and selects it in visual mode. Written in Lua, tested, and works across TypeScript, JSX, Lua, Python, C# and more.

luaneovimtree-sitter

# why i built it

Fifteen years in, I still haven't managed to quit vim — and not for lack of trying. The evidence is a dotfiles repo I've been committing to since 2013: ~270 commits, 6k lines of Lua, and a test suite, because at some point a config gets big enough to have bugs of its own. Agentic coding didn't get me out either; if anything it made the editor matter more. Something still has to be read, and reading code is mostly navigating it — so this exists, and so does my fork of difftastic.nvim, which shows structural diffs side by side instead of line noise. Two of those patches are merged upstream. Difftastic itself is genuinely awesome, by the way — go use it.

awesome-stars

side project · live

Curated awesome lists enriched with live GitHub star counts and trend history — see which neovim plugins, node libraries, or macOS apps are actually gaining traction. Fully static: a GitHub Actions cron refetches thousands of repos weekly, commits the snapshots to git, and prerenders the whole site onto GitHub Pages — no server, no database.

react router 7static prerendergithub actionsgithub pages

# why i built it

I browse GitHub the way other people browse a bookshop, and awesome lists are the best possible entry point — right up until you open one. A thousand links in alphabetical order, every single one of them "awesome", a good share abandoned years ago, and nothing to tell you which ones the community actually converged on. So this one re-hydrates any awesome list with live star counts and star history: point it at a list and it comes back ranked by traction, with trends showing what's climbing and what quietly stopped.

~ $ ls community/


20k+ stack overflow reputation (top answerer for kendo ui) · 5.0★ codementor mentor since 2014