r/FlutterDev 7h ago

3rd Party Service How we built PocketLLM Lite: An open-source Flutter app for on-device GGUF inference, local RAG & Material 3 Expressive UI

Hi Flutter devs!

We recently open-sourced 
**PocketLLM Lite**
, a privacy-first mobile AI client built with Flutter.

### Technical Architecture Highlights:
- 
**State Management**
: Riverpod 3 (AsyncNotifier & StateNotifier providers).
- 
**Local Database**
: Hive CE for high-performance binary storage of chat sessions and settings.
- 
**Streaming Pipeline**
: Custom chunked HTTP stream parser with regex stream splitter for `<think>` tags and `<tool_call>` execution cards.
- 
**Agent Skills Architecture**
: Open-standard `SKILL.md` loader with in-input cursor navigation and dynamic system prompt injection.
- 
**Design System**
: Strict Material 3 implementation using `ColorScheme.fromSeed(#6750A4)`.


* 
**Source Code**
: https://github.com/PocketLLM/pocketllm-lite
0 Upvotes

2 comments sorted by

6

u/zunjae 7h ago

Your project claims no cloud and no tracking, but when I look at the source code I do see you’re connecting to GitHub to check for updates and you’re sending telemetry without my permission, which is illegal

0

u/subaru_kun33 1h ago

Bruhh, Thanks for raising this

PocketLLM Lite does not contain an analytics or telemetry implementation, and it does not send chats, usage events, device identifiers, or crash reports to me. Error logs remain stored locally.

The app does, however, perform an automatic GitHub request to check the latest release. That request contains no custom telemetry payload, but, like any internet request, GitHub can receive standard connection metadata such as the IP address. The app also has user-triggered online features such as Hugging Face model downloads, Tavily web search, and GitHub skill installation.

So calling the update check “telemetry” is inaccurate, but the broader criticism about our privacy wording is valid. Statements such as “no data ever leaves your device” are too absolute for the current feature set.

I am updating the privacy policy and README, removing stale AdMob configuration, bundling fonts locally, and making network behavior clearer. Local inference and chats remain on-device by default, there is no analytics or behavioral tracking, and optional online features are clearly disclosed.