kit·intermediate·updated 2026-07-13

PulseDash – Analytics Dashboard Kit

Every link, tool, and bookmark. One dashboard, self-hosted.

Next.jsPocketBaseTailwind CSS

A personal and team dashboard that replaces scattered browser bookmarks — organize resources into collections, arrange a widget grid, jump to anything with Ctrl+K, and pull in an RSS reader, all backed by your own PocketBase instance.

Install

~60 seconds
terminal
bash
git clone https://github.com/yashthakur1/dash.git pulsedash
cd pulsedash
npm install
~/ what's inside

Already wired, so you can skip to features.

Customizable widget dashboard

Arrange bookmarks, collections, and tools into a widget grid you rearrange to match how you actually work.

Collections & resource organization

Group links and tools into collections instead of drowning in browser bookmarks. Backed by PocketBase/SQLite.

Built-in authentication

PocketBase-backed accounts and access control, so team dashboards stay private.

Self-hosted, single PocketBase binary

No managed backend to pay for — PocketBase runs as one executable alongside the app and jobs service.

~/ the stack behind it

Every dependency has a reason.

  • Next.js
    React frontend and API routes for the dashboard UI and Ctrl+K search.
  • PocketBase
    Single-binary backend — SQLite storage, auth, and a real-time API with nothing extra to deploy.
  • Tailwind CSS
    Utility-first styling for the widget grid, collections, and theming/wallpapers.
  • Node.js jobs service
    Separate background process that fetches RSS feeds and runs scheduled monitoring.
~/ environment

Here's every env var, labeled.

Copy to .env.local. The included first-run script refuses to boot if any of them are missing — you'll know immediately.

.env.example
dotenv
NEXT_PUBLIC_PB_URL=http://127.0.0.1:8090
NEXT_PUBLIC_APP_URL=http://127.0.0.1:3000
~/ walkthrough

Zero to first deploy.

This is the exact sequence we'd run from a blank directory. Steps are reproducible — if one fails, we want to know.

  1. 1. Set up PocketBase (backend)

    Download the PocketBase v0.30.4 executable for your OS into the pocketbase/ directory, then run migrations and start the server — it serves the API on http://127.0.0.1:8090.

    ./pocketbase migrate --dir ./pb_data --migrationsDir ./pocketbase/pb_migrations
    ./pocketbase serve --dir ./pb_data --migrationsDir ./pocketbase/pb_migrations
  2. 2. Start the jobs service

    In a separate terminal, install and run the background jobs service that handles RSS fetching and monitoring.

    cd jobs
    npm install
    npm run dev
  3. 3. Configure and run the Next.js app

    Back in the repo root, install dependencies, add a .env.local pointing at your PocketBase instance, and start the dev server.

    npm install
    npm run dev
~/ known gotchas

The stuff that ate our afternoons.

Things we'd have wanted a heads-up on. Logged as we hit them.

  • !All three processes — PocketBase, the jobs service, and Next.js — need to be running at once, or RSS/monitoring silently stops updating even though the dashboard still loads.
  • !Run PocketBase migrate before serve on a fresh pb_data directory, or the app fails to boot with a missing-schema error.
  • !Two-factor auth ships via speakeasy — back up your PocketBase pb_data volume before rotating secrets or enabling it for a team.
when not

If you just need one shared bookmarks list, this is more than you need — the collections, widgets, and RSS layer add real setup overhead (three processes to run). This kit is for people who want one page that replaces ten browser tabs.

license: Not specified — the source repo ships no LICENSE file. Confirm terms with the author before redistributing.·star on github →

Got stuck, or want this shipped end-to-end for you? bitroot.club builds custom products for founders. →