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.
A private journal and daily operating system for capturing thoughts, tasks, and insights.
ProductivityTypeScript · JavaScriptGitHub @damithchOnlineOwner 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
Thoughts is a Next.js based personal journaling app that helps you capture your thoughts and discover patterns in your thinking over time
Taken from the repository README
Loading the full README.
Read the full README ↗A private, single-user personal operating system for journaling, daily execution, structured reflection, and AI-assisted self-review.
Thoughts brings together a structured journal, task and routine management, an insight library, behavioural exercises, AI-assisted capture, semantic search, retrieval-augmented generation (RAG), and an MCP server that lets an external assistant work with the user's private data.
Thoughts is organized around four connected workflows:
The Smart Capture workflow accepts raw journal text and uses Gemini to infer:
The generated fields are placed into the journal form for review before saving. API errors, rate limits, overloaded models, token limits, and parse failures are surfaced with actionable feedback.
todo, in_progress, done, or skipped.The AI Task Control Center provides a focused interface for reviewing and changing tasks for a selected date. It can load daily and recurring tasks, create tasks, update task status or details, delete tasks, and apply recurring routines through the application's authenticated APIs.
understood, noticed, applied, and internalized.Thoughts materializes supported journal data into RAG documents and stores chunked embeddings in PostgreSQL with pgvector.
Thoughts includes a JSON-RPC MCP server at /api/mcp, secured with an API key and configured for one MCP user. Compatible assistants can use tools to read and update the personal workspace, including:
get_daily_summary, get_thoughts, and get_conversation_logscreate_thought and create_conversation_logget_tasks, create_task, update_task_status, update_task, delete_task, and roll_forward_tasksget_recurring_tasks, create_recurring_task, and apply_recurring_tasksget_behavioural_activation_entriesdelete_conversation_logsearch_journal for semantic search across the indexed archiveThe server implements MCP protocol version 2024-11-05, exposes initialize, tools/list, and tools/call, and keeps MCP data scoped to the configured user.
External assistants can save structured conversation summaries containing a date, title, topics, insights, action items, and optional mood context. These summaries remain separate from normal thought cards while still being available to RAG search.
| Area | Route |
|---|---|
| Public landing page | / |
| Authentication | /login, /register, /forgot-password, /reset-password |
| Journal dashboard | /dashboard |
| Daily execution | /dashboard/today |
| Recurring tasks | /dashboard/tasks |
| Completion analytics | /dashboard/completion |
| Insight library | /dashboard/insights |
| AI task control center | /dashboard/agent |
| Conversation archive | /dashboard/conversations |
| Behavioural Activation | /dashboard/activation |
| Worry Postponement | /dashboard/worry-postponement |
| Settings | /dashboard/settings |
POST /api/smart-capture - Convert raw text into structured thought fields with Gemini.GET /api/retrieval - Retrieve relevant indexed excerpts.POST /api/rag/generate - Answer a question using grounded retrieved context.GET|POST /api/rag/documents - Inspect, synchronize, and embed materialized RAG documents.POST /api/mcp - MCP JSON-RPC endpoint for external assistants.POST /api/conversations/create - Authenticated integration endpoint for conversation summaries.POST /api/auth/forgot-password - Request a password reset link (always returns a generic response).POST /api/auth/reset-password - Validate a reset token and set a new password.GET|POST /api/backup - Export or restore a full JSON backup.GET /api/reports/daily - Generate a daily report.GET /api/reports/monthly - Generate a monthly report.GET /api/health - Check service configuration and database health.pgpgvectorCore entities include:
pgvector extension enablednpm install
npm run dev
Open http://localhost:3000.
Create .env.local with the database, authentication, and AI settings required by your deployment:
DATABASE_URL=postgresql://user:password@localhost:5432/thoughts
AUTH_SECRET=replace-with-a-long-random-secret
GEMINI_API_KEY=your-gemini-api-key
# Optional Gemini configuration
GEMINI_EMBEDDING_MODEL=gemini-embedding-001
GEMINI_LLM_MODEL=gemini-3.6-flash
EMBEDDING_DIM=1536
# Optional RAG sync lease duration (seconds, default 600; max 3600)
RAG_SYNC_LEASE_SECONDS=600
# Required only for external MCP access
MCP_API_KEY=replace-with-a-secret-api-key
MCP_USER_ID=1
# Optional password-reset email provider (Resend)
APP_BASE_URL=http://localhost:3000
RESEND_API_KEY=your-resend-api-key
RESET_EMAIL_FROM=Thoughts <[email protected]>
# Optional: use a dedicated reset-token hashing secret
RESET_TOKEN_SECRET=replace-with-a-long-random-secret
GOOGLE_API_KEY can be used as an alternative to GEMINI_API_KEY. Never commit real credentials or expose server-only secrets in client code. If the browser-based task agent is enabled, configure its public client key according to the deployment's security model.
For local development, if RESEND_API_KEY is not set, password reset links are logged server-side in non-production mode so you can complete the reset flow without a live email provider.
npm run dev
npm run build
npm run start
npm run lint
npm test
Daily and monthly exports preserve timestamps, mood scores, task states, check-ins, day notes, linked ideas, and grouped summaries in machine-readable formats. A simplified daily report looks like:
{
"date": "2026-06-22",
"thoughts": [],
"tasks": [],
"task_progress": {
"total": 3,
"done": 2,
"completion_rate": 66.7
},
"day_note": {
"intention": "...",
"note": "..."
},
"check_ins": []
}
Thoughts is designed for one private user account. Dashboard routes require a signed session, database queries are scoped by user ID, and the MCP endpoint requires an API key plus an explicitly configured user. Use HTTPS in production, keep AUTH_SECRET, DATABASE_URL, GEMINI_API_KEY, and MCP_API_KEY server-side, and treat exported backups as sensitive personal data.
Thoughts is a private AI-assisted personal operating system that turns journaling, tasks, routines, therapeutic exercises, ideas, conversations, and semantic memory into one searchable and actionable workspace.