Internal tools and DevOps tooling: backups, environments and private repositories
This page is for teams that lose hours to the same manual operations: checking which service is down, restarting instances, moving backups around, keeping shared libraries in one place. Internal tools and DevOps tooling turn those chores into a button or a scheduled job. I'm Sergey Vareyko, a software architect with 15+ years in Java and Spring, and I have built such tools for myself, for engineering teams and inside client products. Below is what I build, how I work and the projects behind it.
What I build
- Self-hosted backups. Applications publish backups through single-use links, and a coordinating server schedules delivery to private storage under retention policies. Files travel directly between the application and the storage host, with integrity verification, resumable transfers and optional AES-256-GCM encryption whose key never leaves the application. Restore is one click.
- Environment management. A desktop tool that checks the processes and ports of services on local and remote machines, shows their status and runs commands on the target system, on Windows and Linux.
- Private artifact repositories. My own Maven repository on Reposilite and npm registry on Verdaccio for my own libraries.
- Operations portals. Admin views over a running business system: search and filters, data-flow views, request and response payload viewers and per-system performance breakdowns, as on the AMS merchant onboarding platform. The admin panel of the beauty studio app shows the application's state in real time.
- Operations built into products. Encrypted secrets managed in the UI, nightly encrypted backups mirrored to an off-site server with one-click restore, and storage limits with archiving, all part of Blog Writer.
- Small automations. Single-purpose utilities that remove one recurring problem, such as the playlist and wallpaper tools below.
- Delivery pipelines. CI/CD with GitHub Actions, Jenkins, GitLab CI and Bitbucket Pipelines; Docker and Kubernetes; RPM packaging with Puppet; services under systemd behind nginx.
The same instinct applies to support work: at TouchCommerce I automated most of the ticket resolution workflow, which significantly reduced manual effort and response time.
How I work
An internal tool starts with the chore: who does it, how often, what goes wrong and what "done" looks like. From that I decide the shape — a desktop utility, a scheduled job, a web admin or a feature in an existing system — and the stack, usually Java and Spring Boot with a small web UI. A working version goes to the people who do the chore, and it changes with their feedback.
I own it end to end, including deployment, and you receive a tool that runs on your infrastructure with its data under your control. Setting up the self-hosted pieces your team depends on is part of that work. Related systems are under custom business systems and AI automation.
Projects in this domain
Smart Backups. A self-hosted backup cloud built with Java 21, Spring Boot, MongoDB and WebSocket. Applications publish their backups through secure single-use links, a coordinating server schedules delivery to private storage with configurable retention, and files bypass the cloud. Restoring takes one click in the web admin: the storage pushes the requested copy straight back to the application.
Environment Updater — Jr. Engineer. A Java Swing tool that speeds up the management of application instances in local and remote environments, on Windows and Linux. Its Component Monitor checks the processes and ports of specified services, offers quick actions for microservices and runs commands on the target system; another tab swaps application-specific skins.
Own Reposilite. My personal Maven repository, powered by Reposilite; most packages in it are publicly available but hidden.
Own Verdaccio. My personal npm registry, powered by Verdaccio, holding mostly conceptual libraries that are not meant to be used on their own.
Playlist updater — Author. A Java Swing tool that repairs playlists after music files move to another drive: it takes a playlist and a folder to search, and fixes the file paths.
Wallpaper Randomizer — Author. My displays sleep on DisplayPort disconnect, so wallpapers kept starting from the top of the folder. A small Java 17 app, run by the Windows Task Scheduler on screen lock, renames all supported files with a timestamp and a random number.
Frequently asked questions about internal tools and DevOps tooling
When is an internal tool worth building?
When the same manual check or fix keeps coming back. A good sign is that people can describe the steps precisely: then a tool can do them, the way Environment Updater checks processes and ports instead of an engineer doing it by hand.
Do our backups have to go through a third-party cloud?
No. In Smart Backups the coordinating server schedules the work, while files travel directly between your application and your storage; with encryption on, the key stays in the application.
Can you set up CI/CD and deployment for us?
Yes. I have worked with GitHub Actions, Jenkins, GitLab CI and Bitbucket Pipelines, Docker and Kubernetes, AWS, Azure and Alibaba Cloud, and RPM packaging with Puppet; Blog Writer runs under systemd behind nginx.
How long does an internal tool take?
It depends on scope. A single-purpose utility like the playlist fixer is a small job; a service with a web admin, scheduling, encryption and restore, like Smart Backups, is a project. What decides it is the number of systems the tool has to reach and whether it needs its own UI.
Need an engineer with experience in internal tools and DevOps tooling? Write to me — a few lines about the task are enough — or look through my CV.