/Omnizient

Android deep file search app with content-aware capabilities like semantic search, file previews, and remote web control. In early development with low functionality.

Primary LanguageKotlin

Logo

Omnizient: Deep File Search For the Android filesystem

Welcome to Omnizient, my pet project on trying to fix local search for Android.

P.S: Not to dissapoint you, but it doesn't run yet and has a ton of issues I'm trying to iron out. Gimme some time please.

What's This About?

Imagine you're trying to find that one pdf you downloaded off a shady site three years ago, with a random file name, buried somewhere in the digital abyss of your Android. Omnizient is here to help you locate that(or at least try really hard not to make it worse).

This app is my playground for learning Kotlin and Android development. A fancy file search engine might've been too much tbh. But yes it's based on a very real problem statment with Andorid devices.

When you have apps like Whatsapp and different browsers pooling in files from everywhere, it gets insanely hard with the average file manager to seek them out. I'm trying to fix that and build a local content aware search engine, not attached to any file manager.

Objectives:

  1. Search Like a Pro: Find files faster than you can say "Where did I put that?"
  2. Deep Dive: Eventually implement advanced semantic search.
  3. Web UI Magic: Control your searches from a web browser.
  4. Learn Stuff: Figure out Kotlin and Android dev without losing my sanity (fingers crossed).

Progress Report

So far, we've got:

  • A basic UI that has a long way to go.
  • Basic file searching that is buggy at the time of writing this.
  • A web interface that actual isn't too shabby.
  • Some cool Kotlin coroutines magic happening under the hood.

The Road Ahead (Lots of Potholes)

Here's what's in line, and it's a really long line:

  1. Semantic Search: Teaching the app to understand full context of files it's dealing with.
  2. File Preview: See what's inside files without opening them, like X-ray vision for your documents (Ideally text contents)
  3. Performance Boost: Longterm app performance optimization.

Collab?

I have no idea why you would want to work on this at this stage. But if you do, suit youself. Just remember, this is a learning project, my ego is still fragile

Closing remarks

Building Omnizient has taught me a lot about Kotlin, the Android system, Gradle, SQLite, MVC, DAO Design Pattern and the importance of caffeine in software development. Idk if this app will ever be fully functional as I intended, but if nothing maybe we'll just have a good laugh along the way.

Now, if you'll excuse me, I have some more code to wr... I mean, bugs to create.