Novosibirsk, --:--, around

Hi, I’m Alexander.I build Android apps

I’m 19 and live in Novosibirsk. I’ve built my own browser, music player and file manager, all in Kotlin and Jetpack Compose.

About me

I’ve been writing code for four years. Started with Discord bots, then moved to Android and stayed there. I like things finished properly, from a button’s spring animation to how the app behaves without internet.

  • Age19
  • CityNovosibirsk
  • Coding for4 years
  • PlatformAndroid
  • Write inKotlin
  • LearningRust

Projects

Three Android apps of my own. The big one is the browser, and I use it myself.

01

hrips browser

My own Android browser

KotlinJetpack ComposeGeckoViewMaterial 3 Expressive

Highlights

  • Own password manager

    Passwords are encrypted with AES-256-GCM via Android Keystore, and you can only view them with a fingerprint or PIN. There’s a generator and import from Chrome, Firefox and Bitwarden.

  • Push even when closed

    Site notifications arrive even if the browser isn’t running. Through built-in FCM like Chrome, or UnifiedPush if you’d rather not depend on Google.

  • Firefox-grade protection

    Strict blocking of trackers, cryptominers and fingerprinting, built-in uBlock Origin, HTTPS-only and secure DNS of your choice. utm_ and fbclid get stripped from links.

  • Nothing gets lost

    Closed a tab by mistake? It comes back with its history. Downloads resume after the network drops, and if the system kills the browser, it shows the last snapshot of the page.

  • Firefox catalog extensions
  • Reader mode
  • Hold to preview video
  • Picture-in-picture
  • Passkeys
  • PDFs via pdf.js
  • Android 12 and up
02

Tembr

Music player for local files and online

KotlinJetpack ComposeMedia3Material 3 Expressive

Highlights

  • Beat pulse

    Rhythm is detected right from the audio: FFT, spectral flux, tempo estimation. A halo flashes around the cover on every beat, brighter on drops.

  • Crossfade

    A second hidden player finishes the track and fades it out while the next one fades in on equal-power curves. 1 to 12 seconds.

  • Word-by-word lyrics

    The current line fills word by word, one visual line at a time. Translations under the original, breathing dots in pauses.

  • Online, no accounts

    Search YouTube Music and SoundCloud, import tracks, albums and playlists by link or via Share. Played audio is cached.

  • Hold to seek ×2…×16
  • Speed 0.5–2× and pitch
  • Sleep timer
  • Tag editor
  • Drag-to-reorder queue
  • Tablet layout
  • Android 10 and up
03

Files

File manager with no internet and no ads

KotlinJetpack ComposeMedia3Material 3 Expressive

Highlights

  • Not a byte online

    The app has no internet permission at all. No ads, no analytics, your files never leave the phone.

  • Opens everything itself

    Photos, video, music, text and zip, 7z, rar, tar archives open in built-in viewers. Each one can be turned off.

  • Part of the system

    Open with and Share → Save to Files from any app, a file picker for other apps, launcher shortcuts.

  • Safe duplicate finder

    Finds identical files by size, then by MD5, and marks the extra copies, keeping the oldest. You delete them yourself, and it all goes to the trash first.

  • Password ZIP, AES-256
  • Batch rename
  • Search inside files
  • SD cards and USB
  • Trash with undo
  • Root access
  • Tablet layout
  • Android 8.0 and up

Stack

What I use all the time. I’m only learning Rust, so it’s not here.

Android

  • Kotlin
  • Jetpack Compose
  • Material 3 Expressive
  • Coroutines and Flow
  • Media3
  • GeckoView

Testing and builds

  • Robolectric
  • Roborazzi
  • Gradle Kotlin DSL
  • R8
  • GitHub Actions

Also

  • TypeScript
  • Node.js
  • React
  • SQLite
  • Figma

What people ask in DMs

Will you make me an app?

Depends on the app. Tell me what you need and I’ll say honestly whether I’ll take it. I build for Android with Kotlin and Jetpack Compose.

How much does it cost?

Depends on the task. Tell me what you need first, and I’ll name the price before I start.

Why Compose and not XML?

Animation and state live in one place, so springs, morphing buttons and colors from album art don’t need hacks. All three of my apps are fully Compose.

How do you check layouts on different screens?

With screenshot tests. Robolectric and Roborazzi capture phone and tablet screens in light and dark themes right during the build, no emulator, so I see if anything breaks.

Do you even sleep?

Like everyone. The top of the page shows my local time, and if it’s the middle of the night there, I’ll reply in the morning.

Are you really learning Rust?

Yep. So far I’ve read the book and thrown together a couple of utilities, so I’m not listing it in the stack.

Got an idea?

Tell me what you want to build: an Android app, improvements to an existing one or an API integration. I usually reply within a day.