Point your laptop camera at anything and see its lifecycle CO₂ cost, computed entirely on the Snapdragon X Elite NPU. Zero network calls.
Snapdragon: AI Unplugged Hackathon at UL (Qualcomm × Lero × University of Limerick, April 2026). Wanted to see how much of the pipeline you could run on the Snapdragon X Elite's NPU without any frames leaving the laptop.
Four-person team: Raghib Haque, Tom Tully, Arnav Kothari, Liang Chen Yu. Built in a weekend.
Streamlit UI in app.py grabs webcam frames through a camera_capture.py singleton, since Streamlit's rerun loop tends to hold the camera open otherwise. vision_engine.py runs MobileNetV3-Large ONNX through the QNN Execution Provider on the NPU, with the usual 224x224 preprocess and ImageNet mean/std normalisation.
The top-5 labels feed lookup.py, which does exact-then-fuzzy substring match against an offline 40+ item carbon database (data/carbon_db.json, sourced from DEFRA 2023, EU JRC LCA, EPA Ireland 2023). llm_engine.py then runs TinyLlama-1.1B-Chat, also on the NPU, to turn the match into a three-sentence plain-English recommendation, with a hardcoded fallback table when the model doesn't answer.
verify_npu.py gates any CPU fallback so we never quietly downgrade. Session gets logged and is exportable as CSV or JSON through exporter.py.
Working end-to-end. Average vision inference around 12ms per frame on the NPU. MIT licensed. Total model download ~750MB.