← back to Trademarks Copyright
PLAN.md
71 lines
# Trademarks & Copyright — Opportunity Finder
**Port:** 9770
**Local URL:** http://localhost:9770
**DB:** `trademarks_copyright` (Postgres, local)
## Legal disclaimer (surfaced in UI)
No trademark or copyright is "legally safe" to pick up just because a record is abandoned/cancelled.
This tool surfaces **low-apparent-risk candidates** ranked by a composite score. It is **not legal advice**.
Before using any mark or reviving any work, consult a USPTO-registered trademark attorney.
- Trademarks can carry **common-law rights** from residual use even after abandonment.
- Some abandoned marks have been revived by original owners.
- "Public domain" works can still have **derivative-work copyrights** (translations, illustrations, film adaptations).
- Trade dress, right of publicity, and unfair competition claims survive trademark abandonment.
## Data sources
1. **USPTO TSDR / Open Data Portal** — abandoned and cancelled trademark records.
2. **US Copyright Office** — public-domain and expired registrations.
3. **Project Gutenberg / Wikipedia** — curated public-domain works.
4. **Google News RSS** — per-item news feed.
V1 ships with ~30 real seeded items; ingest scripts in `scripts/` can expand the corpus.
## Scoring (0–100, composite)
| Factor | Weight |
|---|---|
| Distinctiveness (fanciful > arbitrary > suggestive > descriptive > generic) | 25 |
| Years since abandonment / expiration (sweet-spot 3–15 yrs) | 20 |
| Search volume / brand recognition proxy | 15 |
| Domain availability (.com first) | 15 |
| Competing active marks (lower is better) | 15 |
| Monetization breadth (merch / content / licensing) | 10 |
Score is computed server-side in `src/lib/scoring.ts`; stored on each row so the table can sort by it.
## SWOT agents
`POST /api/swot` spawns **4 parallel Claude calls**, one per quadrant (S/W/O/T). Each gets:
- Item metadata (name, type, class, expired date, last owner, original use)
- Its quadrant-specific system prompt (e.g., the Strength agent is told to find what made this mark valuable)
- A `web_search` tool so it can pull live context
Results stream back per-quadrant; UI renders a 4-card SWOT grid.
## Canvas (node mode)
`/canvas` renders selected items as React Flow nodes you can drag, cluster, and connect to plan a portfolio.
Node positions persist per user in `portfolio_layout` table.
## Pages
- `/` — main searchable/sortable table with multi-select and SWOT button
- `/item/[id]` — detail view with news feed, SWOT panel, monetization ideas
- `/canvas` — React Flow board for the selected subset
## Run
```bash
cd ~/Projects/trademarks-copyright
cp .env.example .env.local # then add ANTHROPIC_API_KEY
npm install
npm run db:init
npm run db:seed
npm run dev # → http://localhost:9770
```