u/LegitimateDelivery82

Hey everyone,

I wanted to share an open-source native Android app I just wrapped up called bDoci. It’s a developer-focused pocket knowledge base built entirely in Kotlin.

The main problem I wanted to solve was context switching. If I'm watching a tech talk or coding tutorial on my phone, leaving the video to check a code snippet is incredibly frustrating.

To fix this, I used Android's WindowManager to build a Picture-in-Picture (PiP) floating bubble service. You can tap the bubble to open a transparent panel right over your current app, search your offline Room database, scale the font with a precision zoom slider, copy what you need, and dismiss it.

A few other architectural features I built in:

  • Zero-Network P2P Sharing: You can serialize any doc into a Base64 JSON payload and generate a custom `bdoci://share` QR code. A teammate scans it, Android’s Intent system catches the deep link, and injects it straight into their local Room DB.
  • FCM Event-Driven Push: Wired up a Node.js backend so the exact millisecond a new snippet is uploaded, the app gets a silent `data` payload to notify the user. Zero battery-draining polling.
  • UI: Everything is wrapped in a custom Gruvbox Dark aesthetic because standard white Material Design gets blinding at 2 AM.

I’d love for you guys to tear apart the architecture or let me know what you think of the Room DB/FCM implementation.

📱 Direct APK Download: https://github.com/Bimbok/bDoci-app/releases/tag/v3.7.5

💻 Source Code: https://github.com/Bimbok/bDoci-app.git

u/LegitimateDelivery82 — 23 days ago