android-telemetry-pipeline

Implement an offline-first Android telemetry pipeline with Room metadata and CSV sensor storage.

8|1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/drewid74/ai_skills --skill android-telemetry-pipeline
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-telemetry-pipeline
Source: https://github.com/drewid74/ai_skills/tree/main/android-telemetry-pipeline
Command: npx skills add https://github.com/drewid74/ai_skills --skill android-telemetry-pipeline

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you design an Android telemetry system that reliably captures 10–100Hz sensor data without overwhelming SQLite, while still streaming live updates to the UI and preserving session structure for later analysis.

Core Features & Use Cases

  • Hybrid storage design: Stores session metadata (Room) while writing raw telemetry samples to append-only CSV files on disk to avoid WAL/query churn.
  • Session lifecycle management: Supports atomic session creation, clean finalization (end time + sample count), and post-session analysis status updates in Room.
  • Telemetry normalization & streaming: Unifies BLE and phone sensor inputs into a single TelemetryFrame model, then uses StateFlow-backed UI state such as active source and recorded sample count.
  • Buffered file writes: Flushes buffered samples periodically (e.g., every N frames) to reduce disk I/O per sample and prevent write contention.
  • Post-session analysis pipeline: Parses the CSV after finalization on a background dispatcher and writes analysis results back to Room.

Quick Start

Use the android-telemetry-pipeline skill to implement a 25Hz BLE-to-UI telemetry recorder that creates a session, buffers and flushes samples to session_*.csv files, streams StateFlow updates to a Compose UI, and runs summary analysis when recording ends.

Frequently Asked Questions about android-telemetry-pipeline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I record high-frequency Android sensor data without overwhelming Room?

To record high-frequency Android sensor data without overwhelming Room, use a hybrid storage design that saves session metadata in Room while writing raw telemetry samples to append-only CSV files on disk, preventing WAL query churn.

What is the best way to stream live telemetry data to a Compose UI while saving to CSV?

The best way to stream live telemetry data to a Compose UI while saving to CSV is unifying BLE and phone sensor inputs into a single TelemetryFrame model and emitting live updates via StateFlow.

How does buffered file writing work for 10-100Hz telemetry pipelines?

Buffered file writing for 10-100Hz telemetry pipelines works by accumulating raw sensor frames in memory and flushing them periodically to session CSV files, which reduces disk I/O per sample and prevents write contention.

Can I use this telemetry pipeline architecture for both BLE devices and phone GPS or IMU sensors?

Yes, you can use this telemetry pipeline architecture for both BLE devices and phone GPS or IMU sensors by normalizing different source inputs into a unified TelemetryFrame model before streaming or storage.

How do I run post-session analysis on recorded Android telemetry data?

To run post-session analysis on recorded Android telemetry data, parse the finalized CSV file on a background dispatcher and write the resulting summary analysis back into the Room database.

Why does my SQLite database lock up when recording continuous high-frequency sensor streams?

SQLite databases lock up when recording continuous high-frequency sensor streams because direct per-sample database writes cause WAL query churn and write contention, which is avoided by using a hybrid Room and CSV file schema.