Currently, it uses the following tech-stack for multiple operations:
1. Apache POI and iTextPDF for parsing DOCX and PDF documents
2. ObjectBox for on-device vector-store and NoSQL database
3. Mediapipe Text Embedding for generating on-device text/sentence embeddings
4. Gemini Android SDK (Cloud based API) as a hosted large-language model
With such an app, coupled with an on-device LLM (not the case currently, but can be added easily), users can get personalized answers from documents they choose. It eliminates LLM hallucination to some degree, enables faster inference with on-device vector-db/LLM, along with keeping the user's data secure on their device.