TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Live pitch timer and team queue for hackX semi finals
ProductivityTypeScript · CSSGitHub @jtharindudhanushkaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Real-time pitch competition timer and queue system built with Next.js, Firebase Realtime Database, and Tailwind CSS.
1. Go to Firebase Console
2. Create a new project (or use existing)
3. Go to Build → Realtime Database → Create Database
• Start in test mode for MVP (or set rules to allow read/write)
4. Go to Project Settings → General → Your apps
5. Click Add app → Web → Register app
6. Copy the config object shown
Open .env.local and fill in your Firebase config values:Read the full README ↗Real-time pitch competition timer and queue system built with Next.js, Firebase Realtime Database, and Tailwind CSS.
| Route | Purpose |
|---|---|
/control | MC Control Panel — manage teams, control timer |
/pitch | Pitching Room Display — large countdown for projector |
/waiting | Waiting Room Display — queue + mirrored timer for waiting area |
cd pitch-timer
npm install
cp .env.local.example .env.local
Open .env.local and fill in your Firebase config values:
NEXT_PUBLIC_FIREBASE_API_KEY=...
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=...
NEXT_PUBLIC_FIREBASE_DATABASE_URL=https://YOUR_PROJECT-default-rtdb.firebaseio.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=...
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=...
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=...
NEXT_PUBLIC_FIREBASE_APP_ID=...
⚠️ NEXT_PUBLIC_FIREBASE_DATABASE_URL is required — it's the Realtime Database URL,
not the Firestore URL. Format:https://YOUR_PROJECT-default-rtdb.firebaseio.com
In Firebase Console → Realtime Database → Rules, use:
{
"rules": {
".read": true,
".write": true
}
}
For production, restrict
.writeto authenticated users only.
npm run dev
Open:
NEXT_PUBLIC_FIREBASE_* variables in Vercel → Settings → Environment Variables/session/control drives the countdown — it runs a 1-second setInterval that decrements timeRemaining in Firebase when the timer is running/pitch and /waiting are read-only — they subscribe to Firebase via onValue() and reflect any change instantly, with no page refresh neededThe /pitch page plays audio beeps using the Web Audio API:
Important: Click anywhere on /pitch before the event starts to initialize the AudioContext (browser security requires a user gesture first).