A personal intelligence lens for your Notion second brain. Extracts tasks from voice notes, tracks project health, builds proof of identity from completed work with charts, KPI cards, task breakdowns, and insight analysis. Connects directly to your Notion workspace via the official API.
- Go to notion.so/my-integrations
- Click New integration
- Name it "Noticing Lens"
- Select your workspace
- Copy the Internal Integration Secret (starts with
ntn_)
In Notion, open each database and share it with your integration:
- Open your Notes database
- Click ... → Connections → find "Noticing Lens" → Confirm
- Repeat for your Tasks database
cp .env.example .envEdit .env and paste your integration token:
NOTION_API_KEY=ntn_your_token_here
If your database IDs differ from the defaults, add those too (you can find them in the database URL).
npm install
npm run devnpm run build
NODE_ENV=production node dist/index.cjs- Push to a GitHub repo
- Connect the repo to Railway
- Add
NOTION_API_KEYas an environment variable - Railway auto-detects Node.js and deploys
Since this has a backend, use Vercel's serverless functions or deploy as a standalone Node.js app.
git clone <your-repo>
cd voice-notes-app
npm install
npm run build
NOTION_API_KEY=ntn_xxx NODE_ENV=production node dist/index.cjsUse PM2 or systemd to keep it running:
npm install -g pm2
pm2 start dist/index.cjs --name voice-dashboard- Backend: Express.js server that queries Notion API
- Frontend: React + Recharts + Tailwind CSS + shadcn/ui
- Data: All data lives in your Notion workspace — nothing is stored locally
- Caching: 60-second in-memory cache to avoid hitting Notion rate limits
The dashboard expects two databases:
- Must have a Type property (Select) with a "Voice Note" option
- Voice notes should have content in either:
- Thomas Frank format:
# Summary,# Main Points,# Action Items,# Cleaned Transcription Text - Structured format:
## Summary,## Key Threads,## Notable Insights, etc.
- Thomas Frank format:
- Optional: Tasks relation property linking to a Tasks database
- Name (Title)
- Status (Status): To Do, Doing, Done
- P/I (Select): Process, Immersive
- Location (Select): Home, Office, Errand
- Priority (Status): Low, Medium, High
- Completed (Date)
- Notes (Relation to Notes database)
These match the Ultimate Brain template by Thomas Frank.