Welcome to my digital garden.
Applications
🌐 pressmark — Self-hosted RSS reader with a community feed
A full-stack RSS aggregator combining personal subscriptions with a public community layer. Users subscribe to any RSS source, track read/unread state, and upvote articles — top-liked items surface on a shared community page. Includes daily email digests, 18 locales, and an admin panel for site configuration.
🌐 mise — Self-hosted recipe manager
A self-hosted recipe platform you fully own. Create recipes with ingredients, step-by-step instructions, and per-step photos. Discover recipes by tags and categories, import from any URL, bookmark favorites, and share publicly. Supports multiple users with role management and invite links. 33 languages · dark/light theme · print-optimized layouts.
🌐 translate — Local-first translation and speech API
A self-hosted gRPC service for text translation, language detection, and speech-to-text — all models run locally with no cloud dependencies. Multiple translation models can be configured by name and selected per request. Translation: M2M-100, NLLB-200 · Speech-to-Text: Whisper.net · Language detection: FastText LID-176, GlotLID.
🌐 pdf-concatenator — PDF merge tool for Windows
A Windows desktop utility for merging multiple PDF files into a single document. Manage a numbered file list, reorder and remove entries, set the output path and filename, then generate the merged PDF in one click.
ovms-continue — Local AI code assistant via OpenVINO
Configuration and setup for running local AI code completion and chat in VS Code using the Continue extension backed by OpenVINO Model Server. Supports Qwen2.5-Coder models from 0.5B to 14B — choose the size that fits your hardware. Optimized for Intel Arc GPUs, also works on CPU/NPU.
npm Packages
🌐 rollup-plugin-uglify
Rollup plugin for minifying JavaScript bundles with Terser. Zero-config for basic use; fully configurable for compression level, variable name mangling, source maps, and ES target version. Supports both renderChunk and transform Rollup hooks.
🌐 express-reverse-proxy
Lightweight Node.js CLI for serving static files and reverse-proxying API requests — zero-config start with a --init wizard, virtual hosting, HTTPS/SSL, hot reload, rate limiting, Basic Auth, round-robin load balancing, PM2 cluster mode, and Docker support.
🌐 browser-tab-ipc
Cross-tab messaging with automatic transport selection: BroadcastChannel → SharedWorker → SessionStorage fallback. EventEmitter-based API, fully typed, supports ESM, CommonJS, and UMD. Works in all browsers via SessionStorage fallback.
worker-from-string
Create Web Workers from inline strings at runtime — no separate script files needed. Uses Blob API and URL.createObjectURL under the hood; works in any browser that supports Web Workers.
🌐 jsToString
Serialize any JavaScript value — including functions, circular references, cross-references, Maps, Sets, TypedArrays, generators, and Date objects — back to evaluable source code.
🌐 make-iterable
Transform plain objects, functions, and class prototypes into iterable, array-like entities. Implements Symbol.iterator and attaches all Array.prototype methods — works with for...of and spread operators out of the box.
🌐 join
SQL-style join operations for JavaScript objects: left, right, inner, full, and 5 more — controlled via a 4-bit flag system. Supports deep merging of nested structures and a curried API for composition.
🌐 callable
Abstract base class for creating class instances that are directly callable as functions. Four implementation strategies (Bind, Callee, Closure, Proxy) to suit different runtime environments and strict mode requirements.
🌐 get-internal-type
Reliably detect the internal JavaScript [[Class]] of any value at runtime — primitives, functions, collections, generators, typed arrays, weak references, and more. Works consistently across browsers and Node.js.
🌐 namespace
Modular namespace ecosystem for structured JavaScript applications. Dot-path navigation for nested values, event subscriptions that bubble to root, integrated SPA routing with lazy-loading, and serialization/cloning. Tree-shakeable, zero dependencies.
🌐 translate-mcp
MCP server that exposes the Lopatnov.Translate service as AI tools — speech-to-text, text translation, and language detection via gRPC, all running locally without cloud dependencies.
Planned / Work in Progress
| Project | Description | Stack |
|---|---|---|
| translate-angular | Angular client for the Translate gRPC API | Angular · TypeScript |
| conduit | Experimental project | Rust |
| tereveni | Experimental project | .NET |
AI Tools & Services
A heartfelt thank-you to the researchers and engineers behind these tools — they have fundamentally changed what a solo developer can build. From architecture brainstorming to code review, bug detection, and quality enforcement, these services make open source development faster, safer, and more ambitious. Thank you for investing in tools that give independent developers the leverage of an entire team.