Services that need their own app
A third-party client scares users with settings. You need an app under your own name with one button and self-updates.
Case: OshaVPN: VPN client for Android, Windows 10/11 and Windows 7 →Desktop and mobile development for the task at hand
Application development for Windows (including Windows 7 — for clients with an older fleet) and Android. One codebase of logic for all platforms, a native UI for each, over-the-air self-updates and crash reports to the developer — so we learn about a problem before the user does.
Done so far: a VPN client with a swappable engine for three platforms and an audio player with direct sound output to a USB DAC, bypassing the system mixer.
Typical situations and what we do about them.
We hide the complexity behind one button and sensible defaults: the subscription is entered once, and the app picks a working entry point and updates itself. Our VPN client works this way.
We build a separate client on .NET Framework 4.8 that runs on the old Windows and shares the logic with the main version.
We build in over-the-air updates with signature checks and crash reports sent to your own server. The developer sees the crash and the log before a user writes to support.
Types of clients we have already built this for.
A third-party client scares users with settings. You need an app under your own name with one button and self-updates.
Case: OshaVPN: VPN client for Android, Windows 10/11 and Windows 7 →Some machines still run Windows 7 and modern software will not install. You need a separate client for the old system.
Case: OshaVPN: VPN client for Android, Windows 10/11 and Windows 7 →Types of work in this area. Each links to a case where it is already done.
A player for a personal library that talks to a USB DAC directly over USB Audio Class, bypassing the Android system mixer, and delivers the track bit-perfect. It has its own resampler, a Hi-Res fake check based on the spectrum, playlists, search across four sources and an audiobook section. It ends with an APK that then updates itself.
An app with one 'Connect' button: the subscription is entered once, the entry point is chosen by a race, the client switches by itself when the connection drops, and Russian sites go direct. The Xray or sing-box engine is plugged in through a thin layer, so it can be replaced. The client is currently in testing with users.
A separate build on .NET Framework 4.8 and WinForms that shares its logic with the main client. Windows 7 has no TUN, so it works through the system proxy, with sing-box as the engine. It was built and run on Windows 11 and has not yet been tested on a real Windows 7.
The release list is signed with a key, and the public key is built into the app: a forged list is rejected. Android downloads the APK for its own architecture, Windows downloads only changed files and rolls the replacement back on failure. There is a tester channel and a regular one.
A small Python service in Docker on your server, where the app sends the log, version, network state and crash reason with a token. Secrets are masked on the device before sending, and if the connection is lost the report waits in a queue on disk. It ends with a script the developer uses to read the reports.
What stays with the client after handover.
From the first request to handover: at every step it is clear what happens next.
You describe the task: platforms, devices, what already exists. We go through it and state the scope of work.
We decide which logic is shared and what is separate on each platform, and which constraints apply, for example an old Windows or a specific DAC.
We build the app and check it beyond the emulator. Test builds and logs come from real phones and computers.
Test builds are installed from a file. Tester mode sends crash and anomaly reports, and we fix bugs from them.
We prepare the APK and the Windows installer, sign the release list and turn on self-update.
We hand over the code, documentation and access to the report receiver. The first month of support is free, after that maintenance is by agreement.
Ballpark figures to understand the order of magnitude. Exact estimates come after the audit.
A native Kotlin app: hardware access, offline data, custom design.
The price depends on requirements: server-driven updates, statistics, a Windows 7 client.
RuStore and Google Play: signing, build, store page, moderation replies.
The audit and the proposal are free. No hourly billing: the price is fixed for the result, the exact figure comes in the proposal after the audit. Support after delivery starts at $100 a month, the first month is free. Timelines are individual and set once the specification is approved.
3 projects — with the task, the solution and the numbers
our own app to replace NekoBox, Hiddify and v2rayNG, now in testing with users
bit-perfect USB DAC output and audiobooks, our own product at version 0.10.0
OshaPlay and the VPN client send crashes and logs to servers we run ourselves
A short review is free: we'll look at the task and tell you what's worth doing and roughly for how much.