Denis Dementjev - Android Developer | ContraWork by Denis Dementjev
Denis Dementjev
pro

Denis Dementjev

Chaos in, working system out

New to Contra

Denis is ready for their next project!

Cover image for Safe Volume — an Android
Safe Volume — an Android app I built after my own JBL Charge 3 blasted YouTube at full volume the second I opened it. That problem is now fully solved: per-device profiles with min/max limits for every audio stream (media, ring, notification, alarm), enforced every 16 ms by a background service that survives restarts and starts on boot. Also kills media ducking — Android's habit of dropping your music for every notification, which the OS won't let you disable. Volume keys are blocked at the limit via Accessibility Service. Panic Mode handles two (or more) audio devices connected at once: volume safe for headphones would blast through a newly connected speaker, so a second A2DP device drops every stream to zero until you decide. With Tasker, MacroDroid or any broadcast intent, profiles switch by time, place or anything else — Safe Volume acts as the enforcement layer
1
107
Cover image for A full client-server product I
A full client-server product I built solo: Go server + Flutter clients for Windows and Android from one codebase. gRPC/protobuf, OAuth 2.0, TLS, works over a Cloudflare tunnel or plain port forwarding. Downloads through yt-dlp with everything it can give — all audio tracks, dubs, subtitles, video descriptions and comments — from any service yt-dlp supports, with per-account persistent cookies (YouTube, VK, ...). Private Google Drive content via rclone with Google sign-in. Windows build packed into a single self-contained exe (which Flutter doesn't do out of the box)
1
126
Cover image for My own server platform in
My own server platform in Go: a modular core where services plug in as modules over gRPC/protobuf. Built-in i18n — logs follow the system locale (Russian on screenshot) or a language flag. Structured logging with microsecond timings, themed with Material Design colors ported to the terminal (theme.json). YAML/env configuration
1
135
Cover image for Page from my research report
Page from my research report "What every country is worst at" — research a production team can shoot from as-is: — confirmed world-firsts only: fresh 2024–2026 data, verified gap to second place, no recycled trivia, no "quirks sold as flaws"; — every number verified via API (WHO, IEA, UNODC, World Bank) — down to balancing Iraq's grid to the exact GWh; — own calculations with disclosed method: e.g. ran every 5-year homicide window for every country since 1990 to prove Ecuador's rise is a trend, not a one-year spike; — "Caution" notes for the scriptwriter: what can't be simplified without becoming false, which footage is third-party and who owns the rights; — data coverage stated honestly: how many of 217 countries each source actually tracks, and who's missing; — video sourcing with cut-exact timecodes (to tenths of a second), shot length before the next splice, and why each frame matters — the editor's search time already done; — clickable glossary and anchor navigation; academic Russian, script-ready: minor polish and it's voiceover text
1
150