Skip to content

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

Packages

Contributors