backend engineer / side projects

whekin

I build backend systems professionally and keep a few small side projects here.

android app / personal financewipwhfin

Privacy-first Android finance tracker: bank SMS auto-import reconciled against bank statements, all data stays on device.

  • Kotlin
  • Compose
  • Room
  • Android
  • Reconciliation engine matches pending SMS drafts against XLSX statement rows with balance-chain validation and FX-tolerant amounts.
  • Dependency-free XLSX parser written for the bank's exact format — no Apache POI.
  • Raw SMS bodies are never stored; a pre-commit scanner keeps secrets and personal data out of the public tree.
  • Own design system ("Quiet Ledger") in a separate module with screenshot tests.
side project / mtb ride trackernewdhava

Downhill-first MTB ride recorder. A single Rust sensor-fusion core shared between the phone and the server.

  • Rust
  • Kotlin
  • Go
  • PostGIS
  • Kalman fusion of 1 Hz GPS, 100–400 Hz IMU, and barometer — with honest ± uncertainty on every result.
  • The same Rust crate runs on-device via UniFFI and server-side in a Go worker, so live and canonical results never diverge.
  • Raw sensor recordings are immutable and kept forever; results are recomputed when the algorithm improves.
  • Offline-first recorder with crash recovery and raw + processed GPX export to Strava.

on the drawing board

  • Direction-aware start and finish gates — a run counts only when you cross the gate in the segment's direction, with crossing time interpolated between GPS fixes.
  • Leaderboards that reset when a trail physically changes, with old boards archived as history — so builders can make trails funnier, not just faster.
  • Combo segments: a parent segment sums its child trails and excludes the transits between them.
  • Anti-cheat via raw IMU signature — forging a GPX track is easy, forging a consistent 400 Hz sensor stream is not.
  • "Memories": past KOMs are preserved forever, not silently overwritten.
  • Race mode and friendly betting on segment times.
self-hosted / telegram radarprivatewhgram

Personal Telegram radar: smart alerts, AI digests, and Q&A over your own chat history with citations.

  • Python
  • Telethon
  • PostgreSQL
  • LLM
  • Read-aware alert inbox built on MTProto read receipts — matches coalesce into one self-editing bot message until the dialog is read.
  • Notification rule engine with semantic "about me" rules and Russian inflection-aware name matching.
  • Fully functional without an AI key: deterministic local rules, with citation-enforced answers when AI is on.
  • Private voice transcription with audio kept in memory only; per-chat opt-in and retention controls throughout.
side project / household financeactivekojori

Household finance tracking with a Telegram bot, a tool-calling agent, and a React mini app.

  • Bun
  • TypeScript
  • React
  • Telegram
  • Bot rebuilt around a tool-calling agent that also serves private DMs and schedules household notifications.
  • Settlement engine handles USD rent at cycle FX rates, per-period payment status, and atomic utility confirmations.
  • Mini app rewritten in React 19 with Tailwind v4 and TanStack Query.
side project / transit appactivekojoring time

Transit helper for Kojori to Tbilisi buses, with schedules, maps, and widgets.

  • Expo
  • React Native
  • TypeScript
  • Android
  • Live arrivals are gated by real vehicle evidence to filter out suspicious ETAs.
  • Android home-screen widget with a departure countdown and animated live bus markers on the map.
  • Ships over-the-air via Expo updates.
side project / telegram toolingactiveveloexpress bot

Telegram admin bot for a cycling community's weekend lift and carpool polls.

  • Python
  • Telegram
  • PostgreSQL
  • Bilingual RU/EN polls with per-day lift locations and times, managed from an admin flow.
  • aiogram 3 with async SQLAlchemy and Alembic migrations, deployed on Coolify.