Skip to content

semework/ConnectionSensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ConnectionSensor logo

ConnectionSensor

Objective, explainable analytics for 1:1 conversations — with charts, a stick-figure infographic, and a polished PDF report. No attraction/personality inference. Only observable, defensible metrics.

The process is as shown in the image below.

ConnectionSensor overview

A one figure sample result looks like the image below.

ConnectionSensor overview

Live Demos: Try ConnectionSensor here — and share feedback via our LinkedIn pages below!

Developed by:
LinkedIn
LinkedIn

Features

  • Inputs: Transcript/Turns CSVs (+ optional Nonverbal & Prosody).
  • Metrics: Talk-time %, turn lengths (avg/median/P90), overlaps/min, latency, open-question ratio, hedge density.
  • Visuals: Talk-time bar, turn-length histogram, overlap trend, nonverbal rates, stick-figure infographic.
  • Reports: One-page Executive Snapshot + strengths/opportunities + 3 suggestions, exported as PDF + TXT.
  • Fake-data chatbox: Generate synthetic interactions → “Analyze Generated Data”.
  • Style learning: Bootstraps from local folders to match your look:
    • interaction_starter_kit/* (sample CSVs)
    • sample_results/* (sample PDF, charts)

Quickstart (Docker – dev)

git clone git@github.com:semework/ConnectionSensor.git
cd ConnectionSensor
cp .env.example .env  # fill any keys if using Spaces/Redis, else leave local defaults
docker compose up --build
# API → http://localhost:8000/docs
# Web → http://localhost:5173

Folder bootstrap

On startup (or POST /bootstrap/from-folders) the app:

  1. Loads ./interaction_starter_kit/*.csv and computes baseline metrics.
  2. Reads ./sample_results/* to learn phrasing and visual style.
  3. Caches {starter_metrics, style_profile} used to render charts/reports.

API (core)

  • POST /analyze – multipart CSVs → returns metrics + signed links to charts, infographic, PDF, TXT.
  • POST /render/infographic – analysis JSON → PNG/SVG infographic.
  • POST /generate/fake-data – create synthetic CSVs; optional auto-analyze.
  • POST /bootstrap/from-folders – (re)learn from the local folders.
  • GET /download/:id – zip of results (PDF/TXT/PNGs/SVG).

Tech

  • Backend: FastAPI, Pandas/Numpy, Matplotlib, ReportLab.
  • Frontend: React + Vite (Chart.js/Recharts).
  • Storage: Local ./output in dev, S3/Spaces in prod (signed URLs + TTL cleanup).
  • Queue: RQ/Redis for heavy jobs (PDF/images).

Ethics & Safety

  • Requires explicit consent.
  • Neutral language: “observed”, “in this sample”.
  • “What we do not infer” statement on every report.
  • Redaction tools for names/locations.

Deploy (DigitalOcean App Platform)

  • 3 components (api, worker, web) + Spaces + Redis add-on.
  • Or a single Droplet with Docker Compose + Nginx TLS.
  • Health check /healthz warms up plotting backends to avoid first-request lag.

Contributing

PRs welcome. Please add unit tests for new metrics and snapshot tests for charts/infographic.

License

Your preferred license here.

Acknowledgments

ConnectionSensor was conceived and built during the DigitalOcean NYC Hackathon.
Huge thanks to the organizers and community for the energy, mentorship, and feedback:

👉 DigitalOcean NYC Hackathon – Meetup Event

We’re grateful to the volunteers, mentors, and fellow hackers who helped shape the project!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published