A live, crowd-sourced confidence gauge for Seattle Seahawks quarterback Sam Darnold. Inspired by the famous NYT election needle.
- Live Trust Meter: A beautiful half-moon gauge with a jittering needle
- Crowd-sourced: The needle position reflects the last 100 votes
- 5-Minute Cooldown: Prevents spam voting
- Trust History: A chart showing how confidence has changed over time
- Node.js version 18 or higher
-
Open Terminal (on Mac: press
Cmd + Space, type "Terminal", press Enter) -
Navigate to the project folder:
cd /Users/seth.walder/Documents/darnold-trust-meter -
Install dependencies:
npm install
-
Start the server:
npm start
-
Open your browser and go to:
http://localhost:3000
I recommend Render.com - it's free and beginner-friendly.
- Go to github.com
- Click "Sign up" and follow the prompts
- Verify your email
- Go to desktop.github.com
- Download and install it
- Sign in with your GitHub account
- Open GitHub Desktop
- Click "Add" → "Add Existing Repository"
- Navigate to
/Users/seth.walder/Documents/darnold-trust-meter - If it says "This directory is not a Git repository", click "Create a Repository"
- Fill in:
- Name:
darnold-trust-meter - Description:
How Much Do You Trust Sam Darnold Right Now?
- Name:
- Click "Create Repository"
- Click "Publish Repository" (top right)
- Uncheck "Keep this code private" if you want it public
- Click "Publish Repository"
- Go to render.com
- Click "Get Started for Free"
- Sign up with your GitHub account
- Click "New +" → "Web Service"
- Connect your GitHub repository (
darnold-trust-meter) - Configure the service:
- Name:
darnold-trust-meter - Region: Choose closest to you
- Branch:
main - Runtime:
Node - Build Command:
npm install - Start Command:
npm start
- Name:
- Click "Create Web Service"
- Wait a few minutes for it to deploy
Once deployed, Render will give you a URL like:
https://darnold-trust-meter.onrender.com
Share this URL and anyone can use your trust meter!
Database Persistence: The free tier of Render resets the filesystem periodically. For persistent data, you'd want to:
- Use Render's PostgreSQL database (free tier available)
- Or use a service like Supabase (free tier)
I've kept it simple with SQLite for now, but if you want the votes to persist long-term, let me know and I can help you set up a proper database.
- Change "Sam Darnold" to any player/topic
- Modify the color scheme in
public/styles.css - Change the meter labels (YIKES/MEH/ELITE) in
public/index.html - Adjust the cooldown period in
server.js(search forfiveMinutes)
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js with Express
- Database: SQLite (via better-sqlite3)
- Charts: Chart.js
darnold-trust-meter/
├── server.js # Backend server & API
├── package.json # Dependencies
├── public/
│ ├── index.html # Main page with meter
│ ├── styles.css # All styling
│ ├── app.js # Frontend JavaScript
│ └── history.html # Trust history chart page
└── README.md # This file
If you run into any issues, common problems include:
- "npm not found": Make sure Node.js is installed
- Port already in use: Change the PORT in server.js or stop other servers
- Database errors: Delete
trustmeter.dband restart the server
Enjoy your trust meter! 🏈