TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Automated hub that links to your calendar, messages, socials, etc. to bring your day to the front, with no distractions.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A tile-first household dashboard: one glanceable screen for your calendars,
messages, Facebook Page activity, Spotify, notes, and stickers — built as a
real, live web app on Next.js 16 + Prisma/Postgres, with a Material 3
Expressive UI (Google Sans, Material Symbols, tonal color surfaces).
The app runs fully with no integrations connected — you'll just see empty
tiles and "not yet configured" badges until you wire up accounts from
Settings. Nothing is mocked: every tile calls a real provider API once
you connect it. It does need a real Postgres database, though — see below.README 전문 보기 ↗A tile-first household dashboard: one glanceable screen for your calendars, messages, Facebook Page activity, Spotify, notes, and stickers — built as a real, live web app on Next.js 16 + Prisma/Postgres, with a Material 3 Expressive UI (Google Sans, Material Symbols, tonal color surfaces).
The app runs fully with no integrations connected — you'll just see empty tiles and "not yet configured" badges until you wire up accounts from Settings. Nothing is mocked: every tile calls a real provider API once you connect it. It does need a real Postgres database, though — see below.
You need a Postgres database — any Postgres works (local, Neon, Supabase, Railway, Vercel Postgres). SQLite deliberately isn't supported: it doesn't survive on serverless hosts like Vercel (no persistent disk between invocations), which is exactly the bug that made this app's own Settings page hang forever until this got fixed.
npm install
cp .env.example .env
# generate a real key and paste it into ENCRYPTION_KEY in .env:
openssl rand -base64 32
# paste a Postgres connection string into DATABASE_URL in .env, then:
npx prisma migrate deploy
npm run dev
Open http://localhost:3000. You'll land on the setup wizard on first run; after that the splash screen routes straight to the dashboard.
DATABASE_URL, since that's what Prisma reads.ENCRYPTION_KEY and APP_URL (your deployed domain) in Project →
Settings → Environment Variables.DATABASE_URL pointed at it:
DATABASE_URL="<paste the connection string>" npm run migrate:prod
This is deliberately not run as part of the Vercel build. Vercel
env vars default to "Sensitive," which are only decrypted for the app at
runtime — the build container never sees them — so a build step that
needs DATABASE_URL (like prisma migrate deploy) fails with
Connection url is empty even though the variable is set correctly.
Run npm run migrate:prod again any time prisma/schema.prisma changes.npm run vercel-build just generates the Prisma client and runs
next build — no database access needed at build time at all).Everything works with zero integrations connected — you're just wiring up
"data lines" as you get to them. Each provider needs its own OAuth app
credentials except Apple, which connects with an app-specific password.
.env.example has copy-paste setup steps for every provider (Google
Cloud Console, Azure App registrations, Slack app, Meta developer app). In
short:
| Provider | What it needs | Where to get it |
|---|---|---|
| Google Calendar | GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET | Google Cloud Console → OAuth client |
| Microsoft 365 (Outlook + Teams) | MICROSOFT_CLIENT_ID / MICROSOFT_CLIENT_SECRET | Azure Entra ID → App registration |
| Slack | SLACK_CLIENT_ID / SLACK_CLIENT_SECRET | api.slack.com/apps |
| Facebook Page | FACEBOOK_CLIENT_ID / FACEBOOK_CLIENT_SECRET | developers.facebook.com/apps |
| Spotify | SPOTIFY_CLIENT_ID (PKCE, no secret) | developer.spotify.com/dashboard |
| Apple Calendar (iCloud) | Apple ID + app-specific password | Entered directly in Settings — no env vars |
| Home Status (lights/locks/climate) | Bridge URL + bearer token | Run the homebridge-homehub plugin (see below), enter its URL/token directly in Settings — no env vars |
Add the ones you have to .env, restart npm run dev, then go to
Settings → Connected accounts and click Connect. Every redirect URI is
{APP_URL}/api/integrations/{provider}/callback.
The calendar tile has four views (Agenda / Week / Month / Year) sharing one fetch — switching views is instant, client-side filtering rather than a refetch, with a spring-animated crossfade between them. Month/Year cells are clickable to drill into that day or month.
The + button creates an event on whichever connected calendar account
you pick (Google, Microsoft, or Apple), and clicking any event opens a detail
sheet with a Delete button. This needed write scopes — calendar.events
for Google, Calendars.ReadWrite for Microsoft — broader than the
read-only scopes this app originally requested. If you connected Google
or Microsoft Calendar before this feature shipped, disconnect and reconnect
it in Settings — a stored OAuth token only carries the scopes it was
granted at the time, so an old connection can display events but will fail
to create/delete them until you reconnect. Apple Calendar's CalDAV
credentials already had write access, so no reconnect is needed there.
A known simplification: events are grouped by their start day only, so a multi-day event shows on the day it starts, not on every day it spans.
A couple of honest platform limits, so the tiles don't over-promise:
Chat.Read
scope, which many organizational tenants gate behind admin consent. The
Messages tile degrades gracefully (just shows nothing from that source)
rather than erroring if it isn't granted.Playing music directly on the dashboard (rather than just showing what's
playing) needs the streaming and user-modify-playback-state scopes,
added on top of the original read-only ones, plus the Web Playback SDK
enabled for your app (Settings → APIs used, in the Spotify Developer
Dashboard). If you connected Spotify before this shipped, disconnect and
reconnect it in Settings — same reason as the calendar scopes above, a
stored token only carries what it was granted at connect time.
Once reconnected, a Play here pill appears under the track info whenever Spotify is connected; tapping it transfers active playback to this browser tab and shows a small transport (progress bar, previous/play-pause/next). It stays in sync with real Spotify Connect state — switching devices from your phone or another app hands control back automatically, since the widget just reflects whatever the Web Playback SDK reports for this device.
Unlike every other tile, this one doesn't talk to a vendor's cloud API
directly — there isn't one unified API across lock/light/thermostat brands.
Instead it talks to homebridge-homehub, a
Homebridge plugin that ships in this repo as its own self-contained package.
You run that plugin (as part of a Homebridge instance) on your own network,
point it at your actual devices — Kasa/Tapo lights, an Ecobee thermostat, an
August lock, see its own README for setup — and it exposes a small local
HTTP API that this tile polls and controls through. Paste that plugin's URL
and bearer token into Settings → Connected accounts → Home Status.
Control is one tap, no confirmation step — toggling a light, lock, or
thermostat target from the dashboard takes effect immediately, the same as
tapping it in Homebridge's own UI. Because Home Status needs a plugin
running on your own network rather than a public OAuth flow, it's the one
integration that can't be wired up from .env — the connection lives
entirely in Settings, same as Apple Calendar's app-specific password.
Next.js 16 (App Router, Turbopack) · React 19 · TypeScript · Tailwind CSS v4 ·
Prisma 7 + pg driver adapter (Postgres) · framer-motion · SWR for live
polling. Material 3 Expressive design system: Google Sans (via next/font),
a self-hosted Material Symbols Rounded icon font (public/fonts, ligature
glyphs rendered through src/components/Icon.tsx), and M3 tonal color
roles/elevation in src/app/globals.css.
src/app — pages (/, /setup, /dashboard, /settings) and API routes
under src/app/api.src/lib/integrations — the provider registry, OAuth exchange/refresh
logic, and the live data fetchers for each service.src/lib/crypto.ts — token encryption at rest.src/components — UI, including the shared IntegrationsPanel used by
both the setup wizard and Settings, and dashboard/calendar/ for the
Agenda/Week/Month/Year views plus the new/delete-event UI.prisma/schema.prisma — data model (Household, Integration, Note, Sticker,
TilePreference).homebridge-homehub/ — the companion Homebridge plugin for the Home Status
tile. A separate self-contained package (own package.json/build/lint/
test), not part of the Next.js app — see its own README.