Oleg Koval
10+ years shipping fintech APIs, AI features & OSS Lead engineer · open: full-time, fractional, freelance, OSS Explicit contracts, observable failures, automation you can audit. Ten plus years across fintech, ecom, mobility, automation, and AI. Happy to lead a team, partner on open source, or ship a focused engagement.
9
Launches
29
Followers
96
Upvotes
🔥 4
Day streak
Achievements 11
All badgesBadge Bearer
First Launch
Upvote Pioneer
Serial Maker
Hot Streak
First Follower
Complete Profile
First Review
Influential Maker
Launch Machine
Week Warrior
Products by Oleg
9 total
mac-dev-station
Command-line-tools
Setting up a development environment on a fresh Mac can be a tedious task, involving the manual installation and configuration of multiple tools and apps. mac-dev-station addresses this problem by providing a streamlined solution that allows developers to set up a complete productivity stack with just one command. This tool is particularly useful for developers who frequently switch between machines or need to configure multiple devices. What stands out about mac-dev-station is its comprehensive approach to setting up a development environment. It not only installs a wide range of CLI tools and GUI apps via Homebrew, but also configures them to work together seamlessly. The tool covers everything from setting up a tiling window manager and terminal configuration to installing fonts and configuring shell aliases. The level of automation and customization is impressive, with 13 idempotent phases that ensure a consistent and reliable setup process. The key features of mac-dev-station include its ability to install and configure a wide range of development tools, including git, gh, fzf, and neovim, as well as GUI apps like kitty, Raycast, and Karabiner-Elements. It also sets up a hotkey map with a hyper key ( Caps Lock) that provides quick access to various apps and functions. The tool also includes shell aliases that simplify common tasks, such as switching between projects and triggering display layout changes. The fact that mac-dev-station is available for installation via Homebrew or a simple curl command makes it easily accessible to developers. While the business model is not explicitly stated, the fact that it is hosted on a personal website and GitHub repository suggests that it is an open-source project, available for use at no cost. Overall, mac-dev-station is a valuable resource for developers looking to simplify their workflow and boost productivity on their Macs.
Trembita - a lightweight TypeScript HTTP client
Command-line-tools
When building applications that rely on third-party JSON APIs, developers often face challenges with error handling and legacy dependencies. A new lightweight TypeScript HTTP client addresses these issues by providing a robust and maintainable solution. Developers of backend services written in TypeScript or JavaScript, particularly those targeting Node environments or browsers, are the primary beneficiaries of this client. It simplifies the process of consuming REST APIs from third-party services such as payment providers, CRM systems, or shipping integrations. Notably, this client's design prioritizes type safety, particularly in error handling. It achieves this through a tagged discriminated union approach, allowing for more precise error handling and narrowing by TypeScript. The absence of runtime dependencies, leveraging instead the platform's fetch and URL APIs, contributes to its lightweight nature. It is compatible with Node versions 20.10 and above, as well as browsers when used with a bundler. The client's API surface is intentionally minimal, consisting primarily of the createTrembita function, which returns an object with request and client capabilities. This simplicity, combined with its testable design that allows for the injection of a custom fetch implementation, makes it an attractive option for developers seeking a straightforward and maintainable HTTP client. The documentation provides a comprehensive learning path, ranging from a super quick start guide to a complete learning guide and system design overview. Real-world examples, including interactions with the GitHub API, payments, and microservices, further enhance its utility. The client is available for installation via npm, with optional OpenAPI helpers available in a separate package. No explicit pricing or business model details are provided, suggesting an open-source approach. Overall, this lightweight TypeScript HTTP client offers a compelling solution for developers seeking a robust, type-safe, and dependency-free way to interact with third-party JSON APIs.
starters
Command-line-tools
Production-ready project scaffolding is a crucial step in the development process, and tedious setup can be a significant hindrance to getting started. Starters tackle this problem head-on by providing pre-configured templates for TypeScript, Python, and Go projects. The target audience is clearly developers looking to kickstart their projects with a robust foundation, eliminating the need for manual setup and reducing the likelihood of errors. What stands out about Starters is its commitment to consistency across templates, ensuring that users don't have to spend time figuring out different conventions. The templates are packed with industry-standard features, including GitHub Actions CI, Dependabot for dependency updates, and conventional commits for semantic versioning. The inclusion of hand-written instructions for popular AI coding tools is also a thoughtful touch, highlighting the project's focus on developer experience. The templates themselves are feature-rich, with the TypeScript template, for instance, coming with tsup, vitest, and TypeDoc, making it ready for publishing npm packages. Similarly, the Python template uses modern tools like uv, ruff, and pytest. The Go template follows the standard layout and includes golangci-lint and Makefile targets. The saas-init template takes it a step further by scaffolding out a full-fledged SaaS application with Next.js, authentication, payments, and more. Notably, Starters ships with a permissive MIT License, allowing users to utilize the templates without restrictive licensing. While pricing details are not explicitly mentioned, the fact that the templates are available for use under an open standard license suggests that the project is geared towards supporting developer productivity rather than generating revenue through licensing fees. Overall, Starters provides a valuable resource for developers seeking to rapidly establish a solid foundation for their projects.
semantic-release-npm-github-publish
Git-clients
Release automation for Node.js developers typically demands orchestrating numerous plugins and configurations—a process that becomes tedious when repeated across multiple projects. This semantic-release preset consolidates the most common components of an automated release workflow into a single, reusable configuration that handles commit analysis, changelog generation, version bumping, npm publishing, and GitHub release management without requiring developers to wire them together manually. The target audience is JavaScript developers who maintain open-source projects or applications that need reliable, standards-based release automation. The preset implements conventional commit semantics out of the box, mapping commit types (feat, fix, refactor, docs, etc.) to semver version increments automatically. Breaking changes trigger major version bumps, while feature commits produce minor increments and patch fixes advance patch versions—eliminating manual version management entirely. What distinguishes this preset is its comprehensiveness. Rather than asking developers to select, install, and configure five to ten separate semantic-release plugins independently, it presents a single drop-in configuration that orchestrates the full pipeline. The setup is straightforward—installing a few npm packages and writing a minimal .releaserc file—and the release logic follows conventions that most JavaScript developers already understand. This reduction in configuration friction directly addresses a genuine pain point for open-source maintainers repeating this setup across projects. The preset covers the essential release operations: analyzing commits to determine version increments, generating release notes and changelogs, publishing packages to npm, pushing release commits back to git, and creating GitHub releases. The workflow operates on the main branch by default and supports dry-run and debug modes during development. The configuration is opinionated but functional, reducing decision-making without restricting typical use cases. Built from the founder's own maintenance workflow, the preset reflects practical priorities—eliminating repetitive scaffolding so developers focus on writing code rather than managing release infrastructure. The project is open-source and free to use, making it accessible to teams of any size. For Node.js projects adopting conventional commits and needing automated releases, this preset removes a significant setup burden and operational complexity from the development lifecycle.
mac-onboarding
Command-line-tools
Configuring a fresh Mac is a repetitive slog. Every new machine means reinstalling Homebrew packages, copying dotfiles, adjusting system preferences, syncing hotkeys, and reconfiguring shell environments. For developers juggling multiple machines—whether freelancers working across client infrastructure or IT teams managing MDM-enrolled fleets—this overhead drains productivity and invites consistency errors. Mac-onboarding solves this by capturing an entire configuration state from one machine and replaying it on another with a single command. The export step archives 21 distinct configuration modules, spanning Homebrew packages, shell configs, system settings, application preferences, hotkeys, and dozens of specialized tools. The install step unpacks everything onto a fresh target Mac, automating what would otherwise require manual recreation. What distinguishes this tool from simpler dotfile repos or conventional configuration management approaches is its explicit respect for the constraints of managed environments. Organizations using Mobile Device Management to enforce security policies risk breaking enrollment if configuration tooling overwrites protected system defaults. Mac-onboarding acknowledges this friction—it explicitly refuses to touch settings that MDM controls, and it avoids migrating SSH keys that require careful per-environment handling. This pragmatism signals the tool was built by someone who has actually operated within corporate infrastructure, not just imagined it. Privacy is similarly foregrounded as a first-class concern rather than an afterthought. The entire workflow runs offline and locally. Secrets—API keys, git credentials, and other sensitive material extracted from shell configuration files—are automatically redacted before archiving, preventing accidental leakage. The archive is inspectable via standard tar utilities, giving users genuine transparency about what gets captured and stored. The product supports 21 modules covering major development tools (Kitty, Claude, Tailscale, OrbStack), utilities (Alfred, Synology, 1Password), and system-level preferences. A bridge mode allows pulling configuration directly from a source machine via Tailscale SSH, bypassing the archive step entirely for environments with direct network access. The tool is open source under the MIT license, available via Homebrew or direct download, and built as a single compiled binary with no runtime dependencies. There is no mention of pricing or proprietary licensing, confirming this is a free utility maintained by its creator for the developer community.
dcli - docker and git workflows, stremlined
Command-line-tools
Micro-service teams waste untold hours sweeping up stale containers, juggling Git resets, and hunting down “it works on my machine” gremlins; dcli compresses that busywork into three verb-heavy commands. The utility targets any developer who juggles Docker Compose stacks and multiple source repositories on a daily basis—essentially anyone who has cursed at a half-dead dev environment five minutes before stand-up. What elevates dcli above a dusty binder full of shell aliases is its ruthless focus on single-shot outcomes. Resetting state means one shot, one story: ask for “docker clean api web” and it tears down the listed containers, purges volumes, rebuilds images, and restarts only the services you name, while keeping persistent volumes intact. Repeat the same mindset on the Git side when you tell it to “git reset develop”; the CLI fetches upstream and snaps each configured repository onto the exact branch without you ever having to open another window. It reports successes and failures in terse, colored lines, sparing you the Kubernetes-grade prose dump. The binary is delivered via Homebrew on macOS and Linux, with direct executables for Windows, so onboarding is literally two shell commands and a version check. No setup dance, no cloud service to register—just fetch, drop in your PATH, and start pruning noise from local dev. Because the entire surface area is nine sub-commands wrapped in a Go binary, updates are equally light; a new tag shows up in the tap, you pull, done. No pricing information is surfaced on the landing page, nor are there reference to paid tiers or enterprise licensing; the code lives in a public GitHub repository and binaries are distributed free of charge today. That leaves room for future monetization, but right now the pitch is simple: dcli trades ceremony for speed, and if you live in Docker and Git all day, that trade is convincingly one-sided.
queryd - slow query detection for Node.js
Databases-and-backend-frameworks
Catching database performance regressions before they reach users requires both visibility into query execution and the discipline to enforce latency budgets. Queryd addresses this gap by instrumenting SQL queries in Node.js applications with measurable performance guardrails. The tool wraps database clients at multiple levels—supporting postgres.js tagged templates, raw query functions, or Prisma—to intercept queries and measure their execution time against configurable thresholds. The product solves a real pain point for teams building latency-sensitive applications. Query performance degrades gradually, and without systematic detection, slow queries often go unnoticed until they cause visible impact. Queryd brings three mechanisms to prevent this: per-query latency thresholds that flag individual slow queries, per-request query budgets that set cumulative limits on database work within a single user request, and sampling controls that keep observability costs minimal in production. What distinguishes queryd is its pragmatic design philosophy. Rather than requiring a complete database abstraction or architectural restructuring, it integrates at the query execution layer across multiple driver APIs. The sampling-first approach acknowledges that continuous monitoring of all queries in high-traffic applications becomes prohibitively expensive; instead, teams can set sampling rates to stay within their observability budget while still surfacing meaningful regressions. Optional EXPLAIN ANALYZE integration allows deeper investigation of offending queries when needed, shifting between cheap signal and expensive detail. The implementation provides useful context awareness through request-scoped budgets—tracking not just individual query times but also cumulative query volume and duration within a single request. This catches a different class of performance issues: endpoints that perform many quick queries instead of fewer optimized ones. The configurable sink architecture suggests thoughtful extensibility, allowing teams to route alerts to their existing monitoring systems rather than forcing a new workflow. As an early-stage open-source project, queryd makes a modest but useful contribution to the Node.js observability ecosystem. It fills a specific niche—SQL query latency monitoring with minimal overhead—without attempting to be a comprehensive database performance platform. Teams already running SQL databases in production and concerned with query regressions will find the tool immediately applicable to their latency budgeting workflow.
SaaS scaffold
Ai-workflow-automation
Indie developers encounter a recurring trap: after shipping the third or fourth SaaS product, they find themselves rebuilding authentication flows, subscription billing logic, database migrations, and CI/CD pipelines from scratch. Paid boilerplates promise to solve this by offering pre-built scaffolds, but they often lock developers into black-box abstractions that require archaeological investigation to customize. Free open-source starters suffer the opposite problem—abandoned projects with outdated dependencies and incomplete implementations that skip the genuinely difficult parts like webhook handling and billing lifecycle management. This scaffolding tool addresses that friction by automating the entire foundational setup in a single command. Rather than selling a templated solution, it generates a production-ready Next.js application with authentication, payments processing, transactional email, database schema, and CI/CD configuration already integrated and tested. The process completes in approximately 4.5 minutes. What distinguishes this approach is its breadth. Most boilerplates stop after providing a login page and a basic database schema. This offering includes the components that developers typically find most tedious to wire together: Stripe webhook handling for subscription lifecycle events, multi-provider flexibility (Clerk or NextAuth for authentication, Postgres, SQLite, or Supabase for data storage, Stripe or Lemon Squeezy for payments), and a testing suite of over 250 tests covering core flows. The generated code runs on Next.js 14 with the App Router, includes Tailwind and shadcn/ui components pre-configured, and packages production infrastructure as a Docker container with GitHub Actions workflows. The tool operates as an interactive CLI that prompts developers to select their preferred provider for each major component at initialization time, then generates a fully functional codebase based on those choices. Rather than forcing abstraction layers, the generated code is intended to be readable and modifiable—on the explicit premise that developers should understand and customize their own foundation rather than fight against prescribed patterns. Financially, the product is offered free under an MIT license with no account requirement and no commercial upsell. This positioning directly opposes the typical paid-boilerplate model and targets developers who prioritize speed to first deployment and transparency over premium support. For teams shipping consumer or B2B SaaS applications, the time savings from bootstrapping infrastructure are substantial. The real limitation is whether generated code remains maintainable through real-world scaling scenarios and customization demands beyond the initialization phase.
prompt-ctl.com
Ai-workflow-automation
Developers working with large language models face a persistent cost problem: unstructured prompts generate bloated responses that demand multiple rounds of refinement, inflating API bills unnecessarily. Promptctl targets this friction with a command-line tool that converts rough natural language intent into optimized, structured prompts through a rule-based engine. The core insight is straightforward—most prompt failures stem from ambiguity, not capability. Rather than relying on an LLM to fix poorly articulated requests, Promptctl applies established prompting best practices (personas, constraints, structured output formats) automatically, locally, with no API calls required. The tool classifies user input against eleven task categories, automatically assigns expert personas and output structures, and formats everything into XML-tagged, decomposed instructions ready to execute. What distinguishes Promptctl from generic prompt-improvement services is its emphasis on cost visibility and developer workflow integration. The tool supports direct comparison across ten major models including Claude Sonnet, GPT-5 variants, Llama, DeepSeek, and Groq, showing which delivers the best value before any request executes. Cost tracking happens natively; users can send prompts directly through Promptctl, pipe them to the Claude CLI, or copy them for independent use. The engineering is cleanly executed. Promptctl ships as a single compiled binary with no dependencies—no Node.js, Python, or Docker overhead. Homebrew installation works across macOS (Intel and Apple Silicon), Linux, and Windows. Prompt generation happens instantly, deterministically, without external API calls or latency. The product claims that well-structured prompts cost roughly one-third as much as unstructured alternatives per call, with potential total savings of 55 to 71 percent depending on model selection and workload. These benchmarks are stated as validated across ten models. The tool targets developers and teams that use LLMs as production infrastructure and have direct visibility into API spending. Promptctl occupies a narrow but defensible position: it solves a genuine cost problem for a specific audience without feature sprawl. The focus remains laser-focused on three core capabilities—structure prompts efficiently, compare model costs transparently, and reduce token waste through better composition. No pricing or business model details are disclosed.