YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

SixthSense πŸ‘οΈ

Live Demo GitHub Repo

πŸ‘‰ Click here to try the Live Interactive Demo on Hugging Face Spaces

Privacy-conscious, on-device activity & productivity tracker that uses computer vision, audio classification, and LLM summarization to understand your work patterns β€” without streaming or cloud storage of raw data.

Architecture

Webcam Frame
    β”‚
    β”œβ”€β–Ί YOLOv8 + ByteTrack ──► Object detection & persistent tracking
    β”œβ”€β–Ί MediaPipe Pose ────────► 33-landmark skeleton estimation
    β”œβ”€β–Ί Depth Anything V2 ─────► Monocular relative depth (foreground vs background)
    β”‚
    └─► Rule-based State Machine ──► Activity label
              β”‚                        (WORKING / USING PHONE / THINKING / PRESENT / AWAY)
              β–Ό
        SQLite + JSONL ──► Analytics Engine ──► Groq LLM Recap
Module Role
periodic_logger.py Main loop β€” captures snapshots, runs vision + audio pipeline, logs events
database.py Dual-write storage (SQLite sixthsense.db + log.jsonl)
analytics.py State smoothing, session segmentation, aggregate statistics
depth_estimator.py Monocular depth estimation & desk-presence refinement
vlm_recapper.py Groq Llama 3.3 daily natural-language recap generation

Setup

# 1. Clone & install dependencies
git clone https://github.com/avneetsingh7102/SixthSense.git && cd SixthSense
pip install -r requirements.txt

# 2. Download model weights (auto-downloaded on first run)
#    - yolov8n.pt            (YOLOv8 nano)
#    - pose_landmarker_full.task  (MediaPipe pose)

# 3. Configure Groq API key
cp .env.example .env
# Edit .env and set GROQ_API_KEY=your_key_here

Usage

# Run the main activity logger (opens webcam)
python periodic_logger.py

# Controls:
#   'c' β†’ force an immediate snapshot
#   'q' β†’ quit

# Run temporal analytics on logged data
python analytics.py

# Generate a daily LLM recap
python vlm_recapper.py

# Preview depth estimation standalone
python depth_estimator.py

Privacy

  • No cloud streaming β€” all processing happens on-device.
  • Periodic sampling β€” captures discrete snapshots at configurable intervals (default: 60s), not continuous video.
  • Local storage only β€” all data stays in sixthsense.db and snapshots/.
  • API key in .env β€” never committed to version control (.gitignore).

Technical Highlights

Decision Rationale
ByteTrack over DeepSORT Built into Ultralytics, lower latency, sufficient for single-user desk tracking
Monocular depth (relative, not metric) No stereo camera needed; relative depth is sufficient to distinguish foreground user from background passerby
Rule-based state machine over LSTM Deterministic, debuggable, and honest β€” labeled as "state smoothing" not "deep temporal modeling"
Groq (Llama 3.3 70B) for recaps Fast inference, free tier available, avoids vendor lock-in
SQLite + JSONL dual-write SQLite for structured queries; JSONL for easy streaming export and portability

License

MIT

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support