Skip to content
ParagDongrePublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SnapTrack

A quiet, Notion-inspired work journal. Log what you worked on in a sentence; SnapTrack reconstructs it into a daily timeline, a focus score, and a set of plain-language insights — without anyone else ever seeing your data.

This is the public web app: multi-user, Supabase-backed, ready for anyone in an office to sign up and start using immediately. It's designed to work alongside (and later, in sync with) the SimplyTrack browser extension.

Stack

  • Next.js 16 (App Router, Turbopack)
  • Supabase — auth + Postgres with row-level security (every user only ever sees their own entries)
  • Tailwind CSS v4 — CSS-first theme, tokens in src/app/globals.css
  • Recharts — the one chart on the Analytics page

Getting started

1. Create a Supabase project

Free tier is fine. Once it's created:

  1. Open the SQL editor and run everything in supabase/schema.sql. This creates the profiles, entries, and tags tables, all with row-level security so users can only ever read or write their own rows.
  2. Under Authentication → Providers, email/password is enabled by default — nothing else to configure for the MVP.
  3. Copy .env.local.example to .env.local and fill in your project's URL and anon key from Project Settings → API.

2. Install and run

npm install
npm run dev

Open http://localhost:3000. The landing page lets anyone sign up; confirming their email drops them straight into /dashboard.

3. Deploy

Any host that runs Next.js works (Vercel is the path of least resistance). Set the same two environment variables in your hosting provider, and set the Supabase project's Site URL / Redirect URLs to your production domain so signup confirmation emails link to the right place.

Project structure

src/
  app/
    page.js              landing page (public, marketing + signup CTA)
    (auth)/login          login
    (auth)/signup         signup
    (app)/dashboard       today's log + quick stats
    (app)/timeline        full history, grouped by day
    (app)/analytics       charts + behavior insights
    (app)/settings        workspace name, extension info
  components/              Sidebar, EntryComposer, EntryRow, StatCard, …
  lib/
    supabase/              browser + server clients, session refresh
    entries.js             all reads/writes to the entries & tags tables
    analytics.js            pure, framework-free scoring functions
supabase/
  schema.sql               tables, indexes, and RLS policies

Design system

Tokens live in src/app/globals.css under @theme (Tailwind v4's CSS-first config) — a warm paper/ink palette with a single indigo accent reserved for "this is live right now" (today, the active nav item, the focus score). The recurring visual signature is the rail: a thin ruled line with small ticks, reused in the sidebar nav, the timeline gutter, and stat cards, as a quiet reference to time passing.

What's next

The natural next steps, in rough order:

  1. Extension sync — point the existing SimplyTrack extension's storage.js at the same Supabase tables (it already has a near-identical data shape) so entries logged from the browser popup land in the same timeline instantly.
  2. Team workspaces — the schema is already scoped per-user; adding a workspace_id and shared-workspace policies is the main lift for a real team plan.
  3. Weekly digest email — a scheduled Supabase Edge Function that emails each user their own weekly summary.
  4. Calendar / GitHub / Slack integrations — as outlined in the original product vision, layered in once the core logging loop is solid.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages