Cobalt
Offline-first personal archive for saving links, notes, images, audio clips, code snippets, and watchlists. Capture content via share sheet, floating overlay, or screen OCR without leaving your current app.
Cobalt is an offline-first personal archive and capture app for Android. It stores links, notes, images, audio clips, code snippets, and movie/anime watchlists in a local Room database without requiring an account.
Capture Methods:
- Android Share Target: Save text, URLs, images, and videos directly from other apps via the system share sheet.
- Floating Overlay: Access a screen-edge panel to write quick notes, capture links, or trigger OCR without leaving your current app.
- Screen Region OCR: Capture a screenshot or crop a region on screen using MediaProjection to extract text and links.
- Quick Settings Tile: Launch OCR capture directly from the system Quick Settings panel.
- Voice Notes: Record audio memos with real-time waveform display, stored locally on device.
- Home Screen Widgets: View recent captures or trigger capture actions from your home screen.
Organization & Viewing:
- Supported Item Types: Links (with metadata previews), Markdown text notes, Photos/Images, Video clips, Code snippets, Audio recordings, and Movies/Anime.
- Folders & Archive: Organize items into custom folders or archive them to remove them from the main feed while keeping them stored.
- Search & Filters: Search across titles, content, extracted OCR text, and URLs, with filter chips for each media type.
- Media Hub: Track movies and anime with watch statuses (Plan to Watch, Watching, Completed), genres, ratings, and release years.
- Storage Management: View local storage usage broken down by media type, with options to delete cached files.
Network & Privacy Disclosures: The FOSS build stores all data locally on your device. It does not include analytics, tracking SDKs, or background synchronization services. Certain optional features connect to external APIs:
- AI Screen OCR & Transcription: Sends selected image regions or voice notes to Google's Gemini API for processing. This requires you to provide your own Gemini API key in Settings.
- Movie & Anime Data: Queries The Movie Database (TMDb) and Jikan (MyAnimeList) for media details and poster images. TMDb searches require your own TMDb API key.
- Trailers: Embedded playback of YouTube trailers on media detail screens.
Summary generated by Zapstore from source.
Original description, as the developer published it.
Stacked in
Latest release
The catalog lists this app from
hanan-bhatti/cobalt
and signs its releases. The developer has not claimed it.
Are you the developer? Claim your app
Uses the microphone to record audio memos. Draws a floating overlay panel over other apps for quick note capture.
Permissions
NotificationsMicrophoneAlways runningOverlay What they allowShow less
- Notifications POST_NOTIFICATIONS Send you notifications
- Microphone RECORD_AUDIO Record audio To record voice memos.
- Always running REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Keep running in the background without limits
- Overlay SYSTEM_ALERT_WINDOW Draw over other apps To display a floating capture panel over other apps.
Release notes
Cobalt 2.3.0 combines all development since the published v2.2.2 release. The planned 2.2.3 release was never published; its changes are included here.
Release highlights
- Write Markdown with continuous editing, Find/Replace, table tools and recoverable drafts.
- Keep saved note history and Undo/Redo; manage local storage, Trash and recovery.
- Track movies, TV, anime and manga with optional Trakt sync and configurable providers.
- Personalize local fonts, smart folders, reminders and styled sharing.
- Use one local Cobalt app without a Cobalt account or retired cloud services.
- Refresh the product website, privacy disclosures and fifteen store screenshots.
Web Companion remains experimental. Its settings and server startup are disabled in release builds; development can continue through an explicit debug feature flag.
The detailed source changes follow. Historical validation and its limits are in
docs/version-comparison-v2.2.2-to-current-2026-11-09.md. Those tests used pre-release
2.2.3 builds and do not constitute validation of the final 2.3.0 APK.
Distribution and privacy
- Consolidate Foss/Play source flavors into one local Cobalt application. Remove the retired Cobalt account, Firebase/cloud deployment and upload/download services. Retain optional user-configured Gemini, media and Trakt integrations.
- Give debug builds their own package/data and label. Build one release APK and retain its R8 mapping; preserve WorkManager input-merger constructors in R8.
- Disable automatic Android backup/device transfer; restrict shared-file paths and redact application logs and throwable details.
- Store configured API/OAuth credentials with Android Keystore-backed AES-GCM. This protects credentials; it does not add biometric locking or encrypted notes.
Notes, editor and reader
- Replace inline Room note bodies with verified, recoverable storage and resumable legacy migration. Keep list/search/widget/reminder reads bounded rather than loading every complete note into a list row.
- Add immutable 64 KiB text payloads, shared persistent range trees and durable saved Undo/Redo in schema 15. Reuse unchanged text across saved generations and lazily migrate compatible file bodies after independent SHA verification.
- Commit saved content heads, metadata/search derivatives and navigation together. Reject stale metadata epochs; protect staged roots, recovery work and readers.
- Use synchronized SQLite rollback journaling for authoritative shared writes. Preserve primary write failures, recover acknowledged drafts and retain saved originals when staging/publication fails. Full-document SHA work still scales with note size; storage sharing is not an instant-save guarantee or a backup.
- Add continuous native editing with a bounded disk-backed input window, global selection, Undo/Redo, cancellable paste, source styling and recoverable journals. Preserve accepted operations under queue pressure and release editor file locks.
- Keep Edit as plain Markdown source and Preview as rendered Markdown. Continue lists/checklists on Enter; preserve escaped markers and nested fenced indentation.
- Add Markdown table creation, row/column changes, alignment and next-cell actions. Keep fenced code protected, retain table actions and serialize rapid Undo/Redo.
- Add literal Find/Replace, batched replacement and heading navigation with bounded result lists and overflow indicators. Keep search focus and highlight matched text.
- Render notes incrementally with bounded parsed-block/page caches and prefetch. Preserve long fence/table context, inline code, table alignment and typography; support ATX headings, horizontal rules and custom-tab links.
- Update checklist markers without reopening the reader or resetting scroll. Refresh detail state after explicit Save and retain/export drafts after failures.
- Keep Quick Note text/selection independent of delayed persistence echoes; fence debounced writes so newer typing is not overwritten by stale draft completion.
- Distinguish loading, loading-more and empty-note states in the reader. Expose Find in note directly from the toolbar and retain existing note actions.
Storage, Trash and recovery
- Add Storage with usage categories, history, Trash, unlinked files, recovery and cache/database maintenance pages. Distinguish saved data, protected recovery, disposable cache and database overhead with explicit accounting.
- Retain deleted items for 30 days, support reviewed restoration/permanent deletion, and keep required history/media references protected. Cancel deleted media work and retain provider identities so remote synchronization cannot reimport deletes.
- Retain/export/restore eligible saved versions and compact compatible older file versions into verified deltas. Shared history counts additional physical storage separately from the logical size of a version.
- Protect unsaved writing, current heads, active readers, Trash and unknown retained data during cleanup. Add reviewed disposable cleanup with a continuous five-second hold, cancellation and stale-review checks; keep advanced cleanup collapsed.
- Add themed skeleton loading, refreshed usage hierarchy, morphing pull-to-refresh and expressive confirmation sheets. Reuse existing recovery/settings navigation.
- Show cumulative verified/total note counts with clearer migration instructions. Label deletion as Move to Trash or Delete permanently according to the setting. Explain eligible cleanup, current-content/draft exclusions and recovery limits without absolute safety guarantees; keep the existing storage mechanics.
Capture, links, folders and Home
- Add six radial capture shortcuts and camera/gallery source sheets. Review incoming Android shares before saving; keep document import results/errors visible until dismissed. Receive supported text documents with strict decoding and size policy.
- Persist link-preview jobs beyond Capture/Dock lifetimes. Keep manual descriptions on automatic retries; explicit Refresh can replace them with race protection. Fill missing social metadata without manufacturing unavailable facts.
- Prevent internal cache paths, generated names and content/file URIs from becoming user-facing titles. Resolve original file names, sanitize at save/display boundaries and repair eligible legacy path titles (issue #21).
- Detect duplicate folders, URLs and movie identities; show inline notices and offer applicable Trash recovery rather than silently adding another item.
- Add local smart folder ranking, fuzzy search, organization settings and a 52-week capture heatmap. Persist Home filters and refine empty-state guidance.
- Reduce Home card invalidation and scrollbar drag work; skip haze capture when blur is disabled. Calculate actual media sizes for size sorting/filtering.
- Keep inline folder controls available above the keyboard (issue #24). Dismiss deletion Undo on navigation and show its remaining time with a border.
- Align Saved notes, Draft recovery, Saved history and TV shows navigation labels.
Media and providers
- Add optional Trakt OAuth PKCE/App Links, account-bound two-way synchronization, persistent outbox retries, pending-change review and safe token revocation. Guard disconnect/login races and retain unmatched IDs for later retry. Silence synchronization notifications and suppress them while Cobalt is active; remove its progress banner from the Media Hub.
- Share one movie/TV save path across Capture/Dock; reconcile TMDB/Trakt identities, preserve local choices/deletions and import remote progress without replacing notes.
- Consolidate Trakt, TMDB and Jikan into Media & Providers with source enablement and priority. Add custom Jikan v4 endpoints, cached anime/manga facts and reading labels for manga. Jikan items stay out of Trakt writes (local Jikan request #26).
- Add half-star local ratings, watch/read status, bookmarks, cached season/episode paging, progress and next-up details. Present provider/source ratings with supplied badges and playback/streaming-provider information when available.
- Add inline YouTube trailer playback, pause on background/offscreen, and retry. A missing or blocked trailer is not represented as successful playback.
Sharing, appearance and help
- Add styled Link, Image, Movie and Note share sheets with floating hero previews, connected controls, themes and image/file export. Keep sheet swipes independent of vertical drag handling; randomize attribution on sheet launch.
- Provide Document, Minimal and Compact note cards, Markdown file export and bounded clipboard copy. Restore horizontally scrolling Markdown tables with edge fades; redesign A4 document, memo and quote layouts with typography scaled to the template while retaining chosen font families. Downsample oversized image sources and bound export dimensions.
- Reduce share-card text sizes and show longer excerpts. Preserve partial Markdown fences/table headers and complete rows, mark continuation, and keep Compact prose distinct from quotations and code without splitting Unicode characters.
- Add local FOSS fonts and licenses, live text/font previews and per-role typography preferences applied to reader, editor, code and Markdown layouts.
- Add adaptive local review reminders, custom delivery time, Gemini usage/daily token history and interactive activity charts; show configured model names.
- Add public product/legal/callback pages for Trakt App Links. These pages are a website and OAuth callback, not a note-editing web companion.
- Keep the installed version's complete changelog bundled with the app. Load published history from GitHub Releases with timestamped offline caching, conditional refresh and clear retry errors; preserve opt-in update checks.
- Verify the exact uploaded APK for the selected release before opening a download. Show explicit FOSS/Play choices for older releases and label missing APKs clearly. Publish releases only after checking the signed APK and uploaded bytes; generate website download links from confirmed release assets.
- Expand the open-source library directory.
- Allow consecutive bug reports through Report Another/input reset (issue #23). Refresh reporter/version headers and share icons across feedback and survey.
- Redesign the experience survey as two short steps using existing icons and theme colors. Leave every answer optional and unselected; use 1–10 reaction and recommendation sliders with Clear actions. Open the existing feedback email directly with plain-text answers, without requiring local saving or marking an email-app launch as successful delivery. Include preview/copy fallback.
- Fix missing storage experimental-API opt-in and replace deprecated bottom-sheet and Locale construction APIs.
Verification and remaining scope
- Add host/device regression coverage for note migration, recovery, publication, shared storage, metadata, selection, media identity/sync, sharing and typography. Test additions and historical report commits are indexed in the full commit ledger.
- Published v2.2.2 emulator testing reproduced stale reader state after Save, exercised exact 100k-character note recovery and saved/opened a 400k-character fixture. Performance readings are emulator snapshots, not hardware guarantees.
- Verify a real signed v2.2.2 → current in-place upgrade with 500 mixed legacy records. Startup migration and interruption/resume retained all records, 320 exact note bodies, 70 exact local media files, folders, archived items and the configured TMDB key. Detailed evidence and limits are linked in the comparison.
- Verify the subsequent survey/polish revision with 77 targeted tests, including
slider interaction and light/dark renders. Device checks and email-delivery
limits are recorded in
docs/app-polish-verification-2026-11-10.md. - Complete app backup/restore, encrypted notes, biometric app lock and per-note image galleries are outside this release. The experimental Web Companion is disabled in release builds and is not a published user feature. Media/account/network features, large-file budgets and every supported Android version require their own verified results; untested work is not marked passed.
Comments
Loading comments…
More bookmark apps
See more-
S
Super Productivity To-do list, time tracker & daily planner. Private, offline, open source.
-
L
Linkora Local-first multiplatform link organizer with optional self-hosted sync.
-
L
LinkDroid for Linkwarden Companion App for Linkwarden on Android - Quickly access your Linkwarden instanc
-
W
WebStack Visual bookmark manager for Android with offline snapshot saving.
-
N
Nori Save and find links with rich previews, lists, tags, and notes.
-
K
Karabau Native Android client for Karakeep to save, organize, and manage bookmarks.
Get Cobalt the private way
Updates checked on your device, and every release verified before it installs.