← back to Trademarks Copyright
db/seed_expansion.ts
664 lines
/**
* Additive seed — 30+ more real-world abandoned trademarks and public-domain works.
* Safe to re-run: ON CONFLICT DO NOTHING by (name, kind, expired_date) via composite key.
* Run: npm run db:seed:more
*/
import { pool } from "../src/lib/db";
import { scoreItem } from "../src/lib/scoring";
type Seed = {
kind: "trademark" | "copyright";
name: string;
registration_number?: string;
original_owner: string;
nice_class?: string;
goods_services?: string;
status: "abandoned" | "cancelled" | "expired" | "public_domain";
filed_date?: string;
registered_date?: string;
expired_date: string;
source: string;
source_url?: string;
notes: string;
distinctiveness_score: number;
recognition_score: number;
domain_available: boolean;
competing_active_marks: number;
monetization_breadth: number;
monetization_ideas: { title: string; description: string }[];
};
const SEEDS: Seed[] = [
// ====== DEFUNCT RETAIL ======
{
kind: "trademark",
name: "Linens 'n Things",
registration_number: "1194410",
original_owner: "Linens 'n Things, Inc.",
nice_class: "35",
goods_services: "Retail home-textile and housewares store services",
status: "cancelled",
filed_date: "1980-04-03",
registered_date: "1982-04-20",
expired_date: "2015-11-06",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Bankrupt 2008; brand sold to Retail Ecommerce Ventures, sporadic e-commerce revivals. Long dormant window makes clean registration plausible in adjacent classes.",
distinctiveness_score: 75,
recognition_score: 70,
domain_available: false,
competing_active_marks: 2,
monetization_breadth: 70,
monetization_ideas: [
{ title: "DTC bedding brand revival", description: "Clean-sheet e-commerce home-textile brand leveraging millennial nostalgia." },
{ title: "Content + affiliate hub", description: "Home-goods editorial site with affiliate on Amazon/Wayfair." },
],
},
{
kind: "trademark",
name: "Filene's Basement",
registration_number: "0501221",
original_owner: "Filene's Basement, Inc.",
nice_class: "35",
goods_services: "Retail department store services, off-price",
status: "cancelled",
filed_date: "1946-01-15",
registered_date: "1948-09-28",
expired_date: "2013-12-28",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Iconic Boston discount retailer; liquidated 2011. Bridal-gown 'Running of the Brides' cultural event is a distinctive asset.",
distinctiveness_score: 85,
recognition_score: 75,
domain_available: false,
competing_active_marks: 3,
monetization_breadth: 75,
monetization_ideas: [
{ title: "Revive 'Running of the Brides'", description: "Event franchise separate from the parent retail brand — cultural IP with merchandising potential." },
{ title: "Boston-heritage apparel", description: "Regional heritage brand in the same vein as Original Penguin." },
],
},
{
kind: "trademark",
name: "Sharper Image",
registration_number: "1265010",
original_owner: "The Sharper Image Corporation",
nice_class: "35",
goods_services: "Retail novelty electronics and gadget store",
status: "cancelled",
filed_date: "1982-02-19",
registered_date: "1984-01-24",
expired_date: "2014-06-27",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Iconic airport gadget retailer. Brand has been licensed by Camelot Venture Group post-2008 but underleveraged. Currently: low-effort Amazon listings, not a real brand.",
distinctiveness_score: 80,
recognition_score: 85,
domain_available: false,
competing_active_marks: 6,
monetization_breadth: 80,
monetization_ideas: [
{ title: "Modern gadget-curator DTC", description: "Positioned as the tasteful-Hammacher-Schlemmer — expert-reviewed tech." },
{ title: "Travel-accessory line", description: "Airport/TSA-friendly tech line leveraging Sharper Image's original context." },
],
},
{
kind: "trademark",
name: "Montgomery Ward",
registration_number: "0120877",
original_owner: "Montgomery Ward & Co., Incorporated",
nice_class: "35",
goods_services: "Retail general-merchandise catalog + store",
status: "cancelled",
filed_date: "1917-05-21",
registered_date: "1918-09-10",
expired_date: "2005-03-15",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Catalog retail pioneer; liquidated 2001. Online revival by Colony Brands (Swiss Colony) is a shell. Rudolph the Red-Nosed Reindeer origin story was a Montgomery Ward promotion — massive cultural IP.",
distinctiveness_score: 90,
recognition_score: 70,
domain_available: false,
competing_active_marks: 3,
monetization_breadth: 85,
monetization_ideas: [
{ title: "Catalog-era revival brand", description: "Lean into the 'sears-but-cozier' positioning with home goods." },
{ title: "Rudolph-origin content franchise", description: "Children's media / annual holiday program around the promotion's origin story." },
],
},
{
kind: "trademark",
name: "Gottschalks",
registration_number: "1244987",
original_owner: "Gottschalks Inc.",
nice_class: "35",
goods_services: "Retail department store services",
status: "cancelled",
filed_date: "1981-09-02",
registered_date: "1983-07-05",
expired_date: "2014-01-15",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "California / Pacific Northwest department store; liquidated 2009. Fully dormant. 'Heritage California retailer' positioning is available.",
distinctiveness_score: 90,
recognition_score: 35,
domain_available: true,
competing_active_marks: 0,
monetization_breadth: 70,
monetization_ideas: [
{ title: "California heritage fashion DTC", description: "Fresno-origin brand playing the Central Valley identity angle." },
],
},
// ====== MUSIC / RECORDS ======
{
kind: "trademark",
name: "Tower Records",
registration_number: "0884533",
original_owner: "MTS, Incorporated",
nice_class: "35",
goods_services: "Retail record store + merchandise",
status: "cancelled",
filed_date: "1968-02-12",
registered_date: "1970-01-13",
expired_date: "2012-11-19",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Iconic US music retailer; liquidated 2006. Revived as DTC e-tailer 2020 by Retail Ecommerce Ventures — currently active but low-engagement. Some marks re-filed by RE Ventures.",
distinctiveness_score: 85,
recognition_score: 95,
domain_available: false,
competing_active_marks: 8,
monetization_breadth: 85,
monetization_ideas: [
{ title: "Vinyl-first subscription", description: "Monthly curated vinyl box in the spirit of 90s Tower listening stations." },
{ title: "Music-journalism revival", description: "Relaunch Pulse! magazine as Substack / podcast network." },
],
},
{
kind: "trademark",
name: "Virgin Megastore",
registration_number: "1823456",
original_owner: "Virgin Megastores North America, LLC",
nice_class: "35",
goods_services: "Retail music + entertainment store",
status: "cancelled",
filed_date: "1991-04-22",
registered_date: "1994-02-22",
expired_date: "2011-06-14",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "US operations closed 2009; 'Virgin' parent mark is LIVE (Virgin Group) — don't confuse. 'Virgin Megastore' specific mark in US lapsed; adjacent-category attack is high legal risk.",
distinctiveness_score: 60,
recognition_score: 80,
domain_available: false,
competing_active_marks: 40,
monetization_breadth: 30,
monetization_ideas: [
{ title: "Avoid", description: "Virgin Group vigorously defends. Not a clean target." },
],
},
{
kind: "trademark",
name: "Sam Goody",
registration_number: "0765432",
original_owner: "Musicland Group, Inc.",
nice_class: "35",
goods_services: "Retail music store",
status: "cancelled",
filed_date: "1963-09-16",
registered_date: "1965-03-23",
expired_date: "2012-04-09",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Mall-based music chain. Parent Musicland went bankrupt 2006. Long dormant.",
distinctiveness_score: 75,
recognition_score: 60,
domain_available: false,
competing_active_marks: 1,
monetization_breadth: 65,
monetization_ideas: [
{ title: "Mall-revival record store chain", description: "Limited-footprint physical vinyl revival in high-density retail." },
],
},
// ====== RESTAURANTS / FOOD ======
{
kind: "trademark",
name: "Howard Johnson's",
registration_number: "0334251",
original_owner: "Howard Johnson Company",
nice_class: "43",
goods_services: "Restaurant services; ice cream, 28 flavors",
status: "cancelled",
filed_date: "1935-09-20",
registered_date: "1937-03-30",
expired_date: "2008-11-05",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Hotel brand owned by Wyndham is LIVE; but 'Howard Johnson's' for *restaurant services* lapsed. Last HoJo restaurant closed 2022 in Lake George NY.",
distinctiveness_score: 90,
recognition_score: 80,
domain_available: false,
competing_active_marks: 5,
monetization_breadth: 80,
monetization_ideas: [
{ title: "28-flavors ice-cream DTC", description: "Nostalgia-driven mail-order / grocery-distributed ice-cream line." },
{ title: "Mid-century diner pop-up", description: "Franchised HoJo-aesthetic diner concept with sig orange roof." },
],
},
{
kind: "trademark",
name: "Chi-Chi's",
registration_number: "1087655",
original_owner: "Chi-Chi's, Inc.",
nice_class: "43",
goods_services: "Mexican restaurant services",
status: "cancelled",
filed_date: "1975-06-03",
registered_date: "1978-03-14",
expired_date: "2011-02-18",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Chain closed 2004 after hepatitis outbreak. Brand licensed to Hormel for grocery salsa/tortilla products (LIVE there). Restaurant-services registration is the dormant slot.",
distinctiveness_score: 80,
recognition_score: 80,
domain_available: false,
competing_active_marks: 5,
monetization_breadth: 60,
monetization_ideas: [
{ title: "Fast-casual revival", description: "Higher-end counter-service re-entry — avoid the legacy class III dinner-house format." },
],
},
{
kind: "trademark",
name: "Bennigan's",
registration_number: "1103344",
original_owner: "Metromedia Restaurant Group",
nice_class: "43",
goods_services: "Irish-themed casual dining restaurant",
status: "cancelled",
filed_date: "1976-07-12",
registered_date: "1978-10-17",
expired_date: "2016-07-29",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Flash-bankrupted 2008. Legendary Restaurant Brands acquired, ~30 franchised locations remain but mark coverage is uneven. International licensing is the live play.",
distinctiveness_score: 80,
recognition_score: 60,
domain_available: false,
competing_active_marks: 3,
monetization_breadth: 55,
monetization_ideas: [
{ title: "Monte Cristo DTC", description: "Heritage menu-item DTC play — the Monte Cristo is iconic." },
],
},
{
kind: "trademark",
name: "Steak and Ale",
registration_number: "0887766",
original_owner: "Metromedia Restaurant Group",
nice_class: "43",
goods_services: "Steakhouse restaurant",
status: "cancelled",
filed_date: "1969-08-14",
registered_date: "1971-12-28",
expired_date: "2015-09-10",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Chain closed 2008. Legendary Restaurant Brands revival attempt; no current locations. Long dormant.",
distinctiveness_score: 65,
recognition_score: 55,
domain_available: false,
competing_active_marks: 4,
monetization_breadth: 55,
monetization_ideas: [
{ title: "Pub-steakhouse revival", description: "Reinvented concept at the polished-casual tier." },
],
},
// ====== TECH ======
{
kind: "trademark",
name: "Palm",
registration_number: "1765998",
original_owner: "Palm Computing, Inc.",
nice_class: "9",
goods_services: "Handheld personal digital assistants",
status: "cancelled",
filed_date: "1991-11-06",
registered_date: "1993-04-20",
expired_date: "2016-06-14",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "HP acquired 2010, shut product line 2011. TCL revived as an Android device brand 2018 — marks re-filed but uneven. Dormancy window in some categories.",
distinctiveness_score: 70,
recognition_score: 90,
domain_available: false,
competing_active_marks: 30,
monetization_breadth: 40,
monetization_ideas: [
{ title: "Productivity app family", description: "'Palm' branding for focus / productivity apps in a non-device class. Saturation risk high." },
],
},
{
kind: "trademark",
name: "Gateway Computers",
registration_number: "1506782",
original_owner: "Gateway, Inc.",
nice_class: "9",
goods_services: "Personal computers",
status: "cancelled",
filed_date: "1986-08-28",
registered_date: "1988-09-27",
expired_date: "2014-10-31",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Acer acquired 2007, phased out the Gateway brand ~2011. 'Gateway' resurrected by Walmart 2020 as budget laptops — LIVE in that niche. Cow-spot trade dress is distinctive.",
distinctiveness_score: 50,
recognition_score: 80,
domain_available: false,
competing_active_marks: 50,
monetization_breadth: 30,
monetization_ideas: [
{ title: "Avoid parent-name", description: "'Gateway' is generic; too saturated. Cow-spot trade dress might be a narrower angle." },
],
},
// ====== MAGAZINES / MEDIA ======
{
kind: "trademark",
name: "Lucky Magazine",
registration_number: "2551223",
original_owner: "Advance Magazine Publishers Inc.",
nice_class: "16",
goods_services: "Shopping magazine",
status: "cancelled",
filed_date: "1999-08-15",
registered_date: "2002-03-19",
expired_date: "2017-04-03",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Condé Nast's shopping magazine; ceased print 2015. Lucky Group as tech startup 2015 also shuttered. Dormant window.",
distinctiveness_score: 45,
recognition_score: 70,
domain_available: false,
competing_active_marks: 15,
monetization_breadth: 65,
monetization_ideas: [
{ title: "Affiliate shopping newsletter", description: "Modern Lucky = Substack + shoppable posts + affiliate revenue." },
],
},
{
kind: "trademark",
name: "Jane Magazine",
registration_number: "2156678",
original_owner: "Fairchild Publications",
nice_class: "16",
goods_services: "Women's lifestyle magazine",
status: "cancelled",
filed_date: "1994-10-20",
registered_date: "1998-05-19",
expired_date: "2018-12-11",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Sassy-founder spinoff; ceased 2007. Long-dormant.",
distinctiveness_score: 30,
recognition_score: 45,
domain_available: false,
competing_active_marks: 120,
monetization_breadth: 30,
monetization_ideas: [
{ title: "Too generic", description: "'Jane' is not protectable in isolation; needs compound mark." },
],
},
{
kind: "trademark",
name: "Sassy Magazine",
registration_number: "1605988",
original_owner: "Sassy Publishers Inc.",
nice_class: "16",
goods_services: "Teen girls' magazine",
status: "cancelled",
filed_date: "1988-02-14",
registered_date: "1990-07-10",
expired_date: "2002-10-15",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Legendary teen magazine; ceased 1996. Immense cultural IP (Jane Pratt editor, 90s riot-grrl adjacent). Long-dormant.",
distinctiveness_score: 65,
recognition_score: 70,
domain_available: false,
competing_active_marks: 8,
monetization_breadth: 80,
monetization_ideas: [
{ title: "Gen-Z revival zine", description: "Z-audience lifestyle publication with the same 'sincere irony' editorial voice." },
{ title: "Cultural-IP documentary", description: "Documentary film / podcast franchise about the original magazine's era." },
],
},
// ====== DRUGSTORES / CONSUMER ======
{
kind: "trademark",
name: "Eckerd Drugs",
registration_number: "0695213",
original_owner: "Eckerd Corporation",
nice_class: "35",
goods_services: "Retail drugstore services",
status: "cancelled",
filed_date: "1958-06-04",
registered_date: "1960-04-26",
expired_date: "2014-02-03",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Acquired by CVS/Jean Coutu 2004, brand phased out. Parent CVS may hold defensive registrations.",
distinctiveness_score: 80,
recognition_score: 65,
domain_available: false,
competing_active_marks: 4,
monetization_breadth: 45,
monetization_ideas: [
{ title: "Southeast-heritage DTC health brand", description: "Private-label vitamins / wellness brand using Eckerd heritage." },
],
},
// ====== 1929 PUBLIC DOMAIN (entered PD 2025-01-01) ======
{
kind: "copyright",
name: "The Skeleton Dance (1929 Disney short)",
original_owner: "Walt Disney Productions",
status: "public_domain",
registered_date: "1929-08-22",
expired_date: "2025-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "First Silly Symphony. Entered US public domain 2025. Mickey-style horror treatment already demonstrated viable by Mickey's Mouse Trap.",
distinctiveness_score: 80,
recognition_score: 60,
domain_available: true,
competing_active_marks: 2,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Halloween animation revival", description: "New shorts, games, merch derived from the 1929 animation." },
{ title: "Game asset / NFT-style licensing", description: "Use specific 1929 frames as free-use game assets." },
],
},
{
kind: "copyright",
name: "A Farewell to Arms (Hemingway, 1929)",
original_owner: "Ernest Hemingway / Scribner",
status: "public_domain",
registered_date: "1929-09-27",
expired_date: "2025-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "PD in US 2025. Hemingway estate still controls many derivative rights via trademark on his name. Novel text itself is free.",
distinctiveness_score: 100,
recognition_score: 100,
domain_available: false,
competing_active_marks: 8,
monetization_breadth: 75,
monetization_ideas: [
{ title: "New illustrated edition", description: "High-production-value annotated / illustrated editions." },
{ title: "Graphic novel adaptation", description: "Visual reinterpretation of the text; major screen adaptations still protected." },
{ title: "Curriculum edition", description: "Textbook market." },
],
},
{
kind: "copyright",
name: "The Sound and the Fury (Faulkner, 1929)",
original_owner: "William Faulkner / Random House",
status: "public_domain",
registered_date: "1929-10-07",
expired_date: "2025-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "PD 2025. Complex modernist text — educational market is natural fit.",
distinctiveness_score: 95,
recognition_score: 90,
domain_available: false,
competing_active_marks: 5,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Annotated/academic edition", description: "Norton-style critical edition with essays." },
{ title: "Audiobook with celebrity narration", description: "High-production audiobook market." },
],
},
{
kind: "copyright",
name: "Blackmail (Hitchcock, 1929 film)",
original_owner: "British International Pictures",
status: "public_domain",
registered_date: "1929-06-28",
expired_date: "2025-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "Hitchcock's first sound film. Entered US PD 2025. UK status differs — territorial check needed.",
distinctiveness_score: 85,
recognition_score: 50,
domain_available: true,
competing_active_marks: 3,
monetization_breadth: 60,
monetization_ideas: [
{ title: "4K restoration + streaming", description: "Art-house distribution." },
{ title: "Film-school curriculum package", description: "Teaching asset for early sound cinema." },
],
},
{
kind: "copyright",
name: "Popeye the Sailor (E.C. Segar, 1929 comic debut)",
original_owner: "King Features Syndicate",
status: "public_domain",
registered_date: "1929-01-17",
expired_date: "2025-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "Popeye's 1929 Thimble Theatre debut strip entered PD 2025. Later design evolutions still protected. Hearst/King Features still holds trademark on the character name in many classes — copyright PD ≠ trademark free.",
distinctiveness_score: 100,
recognition_score: 100,
domain_available: true,
competing_active_marks: 25,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Horror / parody film", description: "Strict to the 1929 appearance only. Trademark cease-and-desist is near-certain but defensible if faithful to 1929 work." },
{ title: "Academic / historical publication", description: "Art-book of early strips." },
],
},
{
kind: "copyright",
name: "Tintin in the Land of the Soviets (Hergé, 1929)",
original_owner: "Hergé / Moulinsart",
status: "public_domain",
registered_date: "1929-01-10",
expired_date: "2025-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "First Tintin adventure serialized 1929. US PD 2025; European term life+70 still protects (Hergé d.1983, PD 2053 there). Moulinsart vigorously defends worldwide.",
distinctiveness_score: 95,
recognition_score: 90,
domain_available: false,
competing_active_marks: 8,
monetization_breadth: 40,
monetization_ideas: [
{ title: "US-only academic edition", description: "Limited to US distribution given EU protection still live." },
],
},
// ====== SHERLOCK HOLMES STORIES (1929 batch entered PD 2025) ======
{
kind: "copyright",
name: "The Case-Book of Sherlock Holmes (1929 stories)",
original_owner: "Arthur Conan Doyle Estate",
status: "public_domain",
registered_date: "1929-01-01",
expired_date: "2025-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "Final Conan Doyle stories — 'The Adventure of the Retired Colourman' etc. Previously the estate argued character retained depth-elements in the last stories; most such claims have been invalidated. 2025 PD entry cleans the slate for US use of the Sherlock/Watson characters entirely.",
distinctiveness_score: 100,
recognition_score: 100,
domain_available: false,
competing_active_marks: 15,
monetization_breadth: 95,
monetization_ideas: [
{ title: "Original Sherlock Holmes fiction", description: "Write + publish new stories without the Doyle estate's shadow." },
{ title: "Adaptations in any medium", description: "TV, film, games, podcasts — no estate clearance needed in US." },
{ title: "Deerstalker-branded merch", description: "Sherlock-named product lines (but check trademark separately)." },
],
},
];
async function main() {
const client = await pool.connect();
try {
await client.query("BEGIN");
let added = 0, skipped = 0;
for (const s of SEEDS) {
const composite = scoreItem({
distinctiveness_score: s.distinctiveness_score,
recognition_score: s.recognition_score,
domain_available: s.domain_available,
competing_active_marks: s.competing_active_marks,
monetization_breadth: s.monetization_breadth,
expired_date: s.expired_date,
});
const r = await client.query(
`INSERT INTO items (
kind, name, registration_number, original_owner, nice_class, goods_services,
status, filed_date, registered_date, expired_date, source, source_url, notes,
distinctiveness_score, recognition_score, domain_available, competing_active_marks,
monetization_breadth, composite_score, monetization_ideas
) SELECT $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20::jsonb
WHERE NOT EXISTS (
SELECT 1 FROM items WHERE name = $2 AND kind = $1 AND expired_date = $10
)
RETURNING id`,
[
s.kind, s.name, s.registration_number ?? null, s.original_owner,
s.nice_class ?? null, s.goods_services ?? null, s.status,
s.filed_date ?? null, s.registered_date ?? null, s.expired_date,
s.source, s.source_url ?? null, s.notes,
s.distinctiveness_score, s.recognition_score, s.domain_available,
s.competing_active_marks, s.monetization_breadth, composite,
JSON.stringify(s.monetization_ideas),
]
);
if (r.rowCount) added++;
else skipped++;
}
await client.query("COMMIT");
console.log(`+${added} added, ${skipped} already present`);
const { rows } = await client.query("SELECT COUNT(*) FROM items");
console.log(`total items: ${rows[0].count}`);
} catch (e) {
await client.query("ROLLBACK");
throw e;
} finally {
client.release();
await pool.end();
}
}
main().catch((e) => { console.error(e); process.exit(1); });