Skip to content

aakashkavuru101/Unforgettable

Repository files navigation

Unforgettable

Your personal memory layer. Save anything. Find it when you need it.


Why I built this

I save things constantly. Articles I want to read, GitHub repos I want to explore, screenshots of things that catch my eye, links forwarded on WhatsApp that I know I'll want later. I save them everywhere — phone camera roll, browser bookmarks, Slack saved messages, WhatsApp Starred, Reddit saved posts.

And then I forget all of it.

Not because I'm forgetful. Because retrieval is broken. When I need something, I have no idea where I saved it. I open WhatsApp and scroll for five minutes. I search my camera roll with no keywords. I give up. The thing I saved is gone — not deleted, just unreachable.

I've talked to enough people to know this isn't just me. We've all built these little piles of saved content that we never go back to. The capture habit works. The retrieval habit doesn't exist — because retrieval is too hard.

Unforgettable is my attempt to fix that. One place where everything you save actually lives. When you need it, you just ask.


What it does

  • Save anything in seconds — share to Unforgettable from any app on iOS or Android. One click from any browser. No forms. No tags. No friction.
  • Find it with a query — type or speak what you're looking for. Unforgettable searches everything: titles, content, URLs, and text extracted from screenshots via OCR.
  • Mark it done — when you've used something, mark it Absorbed. One tap. It moves to your archive. The pile stays finite.

That's it. No AI summaries, no auto-organisation, no ambient resurfacing. Just a fast, private, keyword-searchable second brain that you can actually trust.


What it is not

  • Not a read-later app (Instapaper, Pocket) — those assume you'll read things linearly. You won't.
  • Not a note-taking app (Notion, Obsidian) — those require structure and effort at capture time. Unforgettable requires nothing.
  • Not an AI tool — your saved content never leaves your server. No embeddings, no external APIs, no data sent anywhere in v1.

Tech stack

Layer Technology
Web app Next.js 14 (App Router) + Tailwind
Mobile React Native (bare workflow)
Browser extension WebExtension MV3 (Chrome/Edge/Firefox/Safari)
Backend Node.js + Next.js API routes
Database PostgreSQL 15 with full-text search
Auth NextAuth.js (Google OAuth + email)
OCR Tesseract.js (server-side, Docker)
Infrastructure Docker Compose
Language TypeScript everywhere

Running locally

Prerequisites: Node.js 20+, pnpm, Docker Desktop

# 1. Clone
git clone https://github.com/YOUR_USERNAME/unforgettable.git
cd unforgettable

# 2. Install dependencies
pnpm install

# 3. Set up environment
cp .env.example .env
# Fill in: NEXTAUTH_SECRET, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET
# NEXTAUTH_SECRET: openssl rand -base64 32

# 4. Start the stack
docker-compose -f docker/docker-compose.yml -f docker/docker-compose.dev.yml up

# 5. Open
open http://localhost:3000

The first startup automatically creates all database tables and indexes.

See documentation/INFRASTRUCTURE.md for the full environment variable reference.


Project structure

unforgettable/
├── apps/
│   ├── web/          # Next.js web app
│   ├── mobile/       # React Native (iOS + Android)
│   └── extension/    # Browser extension (Chrome/Edge/Firefox)
├── packages/
│   ├── shared/       # Shared TypeScript types
│   └── search/       # Full-text search logic
├── services/
│   └── ocr-worker/   # Background OCR processing (Tesseract.js)
├── docker/           # Docker Compose + Dockerfiles + init.sql
└── documentation/    # Full design docs (PRD, system design, schema, etc.)

Documentation

All design decisions are documented in documentation/:

File What it covers
PRD.md Why this exists, what it does, success criteria
SYSTEM_DESIGN.md Architecture, data flows, API endpoints
DATABASE.md Full schema, indexes, key queries
TECH_STACK.md Technology choices and why
INFRASTRUCTURE.md Docker setup, environment variables
SECURITY.md Auth, OWASP mitigations, privacy
UI_UX.md Design principles, layouts, colour system
SCOPE_AND_DEV.md Build phases and current status

Build phases

  • Phase 1 — Backend: PostgreSQL + API + Auth + OCR worker
  • Phase 2 — Browser extension (Chrome/Edge/Firefox)
  • Phase 3 — Web app (query interface + library)
  • Phase 4 — Mobile iOS (share extension + Spotlight)
  • Phase 5 — Mobile Android (share intent + Quick Settings tile)
  • Phase 6 — Safari Web Extension

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening a PR.

If you've ever felt the frustration of losing something you know you saved — you understand exactly what we're building. That's the bar: does this change make it faster or more reliable to save and find things?


License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors