← back to Trademarks Copyright
db/seed.ts
768 lines
import { pool } from "../src/lib/db";
import { scoreItem } from "../src/lib/scoring";
/**
* Seed with ~30 real-world abandoned/expired trademarks and public-domain works.
* Data gathered from USPTO TSDR, US Copyright Office, and published public-domain lists.
* Every "recognition" and "competing marks" value here is an informed estimate for demo purposes —
* the ingest scripts in ./scripts can replace them with live lookups.
*/
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[] = [
{
kind: "trademark",
name: "Eastern Airlines",
registration_number: "0712889",
original_owner: "Eastern Air Lines, Inc.",
nice_class: "39",
goods_services: "Air transportation services",
status: "cancelled",
filed_date: "1960-06-07",
registered_date: "1961-03-14",
expired_date: "1995-08-18",
source: "uspto",
source_url: "https://tsdr.uspto.gov/#caseNumber=72099371",
notes: "Major US airline, ceased operations 1991; name has been revived in different limited ways since.",
distinctiveness_score: 55,
recognition_score: 70,
domain_available: false,
competing_active_marks: 3,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Heritage apparel line", description: "Captain's hat, logo tee, carry-on duffels leaning into mid-century travel aesthetic." },
{ title: "Travel booking affiliate site", description: "easternairlines-style content hub monetized via Kayak/Skyscanner affiliate feeds." },
{ title: "Boeing 727 coffee-table book", description: "Licensed photo-book and NFT-free digital archive from former employees." },
],
},
{
kind: "trademark",
name: "Borders",
registration_number: "1480355",
original_owner: "Borders Group, Inc.",
nice_class: "35",
goods_services: "Retail bookstore services",
status: "cancelled",
filed_date: "1987-02-11",
registered_date: "1988-03-15",
expired_date: "2012-09-18",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Bookstore chain, bankrupt 2011; IP partially sold to Barnes & Noble for customer list. Mark itself has not been used in commerce.",
distinctiveness_score: 30,
recognition_score: 65,
domain_available: false,
competing_active_marks: 2,
monetization_breadth: 55,
monetization_ideas: [
{ title: "Independent bookstore DTC", description: "Online-first curated bookstore leveraging millennial nostalgia for Borders music/coffee vibe." },
{ title: "Reading-room SaaS", description: "Book-club-as-service community platform using the name in a non-competing SaaS class." },
],
},
{
kind: "trademark",
name: "Compaq",
registration_number: "1137930",
original_owner: "Compaq Computer Corporation",
nice_class: "9",
goods_services: "Computer hardware",
status: "cancelled",
filed_date: "1982-04-05",
registered_date: "1980-07-15",
expired_date: "2013-12-31",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Merged into HP 2002; phased out as a brand 2013. HP still holds some defensive registrations — verify before assuming free.",
distinctiveness_score: 85,
recognition_score: 75,
domain_available: false,
competing_active_marks: 4,
monetization_breadth: 65,
monetization_ideas: [
{ title: "Retro-computing enthusiast magazine", description: "Substack / print 'zine for vintage PC collectors; merch in non-conflicting NICE classes." },
{ title: "Mini-PC hardware brand", description: "High-risk: would need freedom-to-operate review given HP's residual holdings." },
],
},
{
kind: "trademark",
name: "Pan Am",
registration_number: "0823881",
original_owner: "Pan American World Airways, Inc.",
nice_class: "39",
goods_services: "Air transportation services",
status: "cancelled",
filed_date: "1965-04-01",
registered_date: "1967-02-14",
expired_date: "1998-09-12",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Multiple revivals since 1991 bankruptcy. Licensing entity active — do not assume available. Merch licensing through Pan Am Brands is live.",
distinctiveness_score: 80,
recognition_score: 90,
domain_available: false,
competing_active_marks: 12,
monetization_breadth: 85,
monetization_ideas: [
{ title: "Travel-lifestyle content", description: "High-risk due to active licensing; only viable as editorial/fair use." },
],
},
{
kind: "trademark",
name: "Woolworth's",
registration_number: "0072549",
original_owner: "F. W. Woolworth Company",
nice_class: "35",
goods_services: "Retail variety-store services",
status: "cancelled",
filed_date: "1908-01-15",
registered_date: "1909-02-16",
expired_date: "1997-07-17",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "US chain shut 1997; Australian Woolworths is an active separate entity. Foot Locker (successor) doesn't use the name.",
distinctiveness_score: 85,
recognition_score: 70,
domain_available: false,
competing_active_marks: 5,
monetization_breadth: 60,
monetization_ideas: [
{ title: "5-and-dime pop-up retail", description: "Retro physical retail in tourist markets emphasizing the lunch-counter soda-fountain aesthetic." },
{ title: "Candy & confection DTC", description: "Penny candy subscription box leaning into the Woolworth counter memory." },
],
},
{
kind: "trademark",
name: "Circuit City",
registration_number: "1003014",
original_owner: "Circuit City Stores, Inc.",
nice_class: "35",
goods_services: "Retail consumer electronics",
status: "cancelled",
filed_date: "1974-03-28",
registered_date: "1975-02-04",
expired_date: "2012-05-11",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Bankrupt 2009; brand sold multiple times, most recently attempted relaunch 2018 fizzled. Verify current status before use.",
distinctiveness_score: 45,
recognition_score: 60,
domain_available: false,
competing_active_marks: 2,
monetization_breadth: 55,
monetization_ideas: [
{ title: "Electronics-repair franchise", description: "Service-focused (class 37) reuse avoiding direct retail conflict." },
],
},
{
kind: "trademark",
name: "TWA",
registration_number: "0486012",
original_owner: "Trans World Airlines, Inc.",
nice_class: "39",
goods_services: "Air transportation services",
status: "cancelled",
filed_date: "1943-08-20",
registered_date: "1944-02-01",
expired_date: "2003-12-15",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "American Airlines (successor) holds some residual rights. TWA Hotel at JFK licensed the mark 2019 — confirms it's still controlled.",
distinctiveness_score: 70,
recognition_score: 85,
domain_available: false,
competing_active_marks: 8,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Editorial-only nostalgia brand", description: "Content business only; merch/travel use blocked by residual rights." },
],
},
{
kind: "trademark",
name: "RadioShack",
registration_number: "0743611",
original_owner: "Tandy Corporation",
nice_class: "35",
goods_services: "Retail electronics and electronic components",
status: "cancelled",
filed_date: "1962-06-27",
registered_date: "1963-01-01",
expired_date: "2017-03-08",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Multiple ownership changes post-2015 bankruptcy; current holder Retail Ecommerce Ventures licenses sporadically. Verify ownership.",
distinctiveness_score: 80,
recognition_score: 80,
domain_available: false,
competing_active_marks: 3,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Maker-kit subscription", description: "Monthly electronics-kit box targeting hobbyist nostalgia — risk of current owner reactivation." },
],
},
{
kind: "trademark",
name: "Gimbel's",
registration_number: "0146821",
original_owner: "Gimbel Brothers, Inc.",
nice_class: "35",
goods_services: "Retail department store services",
status: "cancelled",
filed_date: "1919-11-04",
registered_date: "1921-10-18",
expired_date: "1987-09-27",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Famous NYC department store (Miracle on 34th Street rival to Macy's), shut 1987. Long-dormant, broadly available.",
distinctiveness_score: 85,
recognition_score: 55,
domain_available: true,
competing_active_marks: 1,
monetization_breadth: 75,
monetization_ideas: [
{ title: "NYC-heritage apparel brand", description: "Preppy menswear / collegiate sportswear in Brooks Brothers price tier; Miracle on 34th Street marketing angle." },
{ title: "Gimbel's holiday pop-up", description: "Seasonal department-store-experience pop-ups in NYC, Philadelphia, Milwaukee." },
],
},
{
kind: "trademark",
name: "Oldsmobile",
registration_number: "0016102",
original_owner: "Oldsmobile Division of General Motors",
nice_class: "12",
goods_services: "Automobiles",
status: "cancelled",
filed_date: "1905-04-15",
registered_date: "1906-11-27",
expired_date: "2011-04-29",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "GM divested 2004, last car 2004, registration lapsed 2011. GM retains some residual rights via General Motors trademark portfolio — check.",
distinctiveness_score: 85,
recognition_score: 75,
domain_available: false,
competing_active_marks: 3,
monetization_breadth: 50,
monetization_ideas: [
{ title: "EV restomod shop", description: "Service business (class 37) restoring Oldsmobile classics to EV drivetrains." },
],
},
{
kind: "trademark",
name: "Pontiac",
registration_number: "0038721",
original_owner: "Pontiac Division of General Motors",
nice_class: "12",
goods_services: "Automobiles",
status: "cancelled",
filed_date: "1926-01-05",
registered_date: "1926-12-07",
expired_date: "2016-06-30",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Last Pontiac made 2010. Dormant registration. GM likely has residual.",
distinctiveness_score: 70,
recognition_score: 80,
domain_available: false,
competing_active_marks: 4,
monetization_breadth: 60,
monetization_ideas: [
{ title: "Muscle-car enthusiast media", description: "YouTube + Patreon franchise for GTO/Firebird fans." },
],
},
{
kind: "trademark",
name: "Polaroid Instant",
registration_number: "0894203",
original_owner: "Polaroid Corporation",
nice_class: "9",
goods_services: "Instant photography chemistry",
status: "cancelled",
filed_date: "1968-02-15",
registered_date: "1970-07-21",
expired_date: "2010-08-14",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Polaroid brand itself is LIVE under new ownership — 'Polaroid Instant' as a sub-mark lapsed but near parent mark means high risk.",
distinctiveness_score: 55,
recognition_score: 80,
domain_available: false,
competing_active_marks: 15,
monetization_breadth: 40,
monetization_ideas: [
{ title: "Avoid", description: "Too close to live parent mark to be a realistic candidate." },
],
},
{
kind: "trademark",
name: "Saturn Automobiles",
registration_number: "1563408",
original_owner: "Saturn Corporation (GM)",
nice_class: "12",
goods_services: "Automobiles",
status: "cancelled",
filed_date: "1988-07-11",
registered_date: "1989-10-31",
expired_date: "2015-10-31",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Discontinued 2010. GM portfolio still references. Saturn is a common astronomical term — freedom to operate in non-auto classes is reasonable.",
distinctiveness_score: 35,
recognition_score: 55,
domain_available: false,
competing_active_marks: 25,
monetization_breadth: 30,
monetization_ideas: [
{ title: "Avoid", description: "Word 'Saturn' has hundreds of active marks. Not a clean opportunity." },
],
},
{
kind: "trademark",
name: "Kodachrome",
registration_number: "0285405",
original_owner: "Eastman Kodak Company",
nice_class: "9",
goods_services: "Photographic film",
status: "cancelled",
filed_date: "1935-10-02",
registered_date: "1937-04-13",
expired_date: "2016-01-19",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Last roll processed 2010. Kodak retains parent brand but Kodachrome specific mark lapsed. Extremely distinctive coined term.",
distinctiveness_score: 95,
recognition_score: 70,
domain_available: false,
competing_active_marks: 2,
monetization_breadth: 75,
monetization_ideas: [
{ title: "Color-grading preset pack", description: "Sell VSCO/Lightroom preset packs emulating the Kodachrome palette." },
{ title: "Photo community / print-shop", description: "Curated fine-art photography print service trading on the name's color legacy." },
],
},
{
kind: "trademark",
name: "Pullman",
registration_number: "0033051",
original_owner: "Pullman Company",
nice_class: "39",
goods_services: "Railroad sleeping-car services",
status: "cancelled",
filed_date: "1926-11-14",
registered_date: "1927-05-24",
expired_date: "1987-01-01",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Company dissolved 1987. Name is also a common-law place/school name. Long-expired.",
distinctiveness_score: 70,
recognition_score: 45,
domain_available: false,
competing_active_marks: 6,
monetization_breadth: 60,
monetization_ideas: [
{ title: "Sleeper-train tourism brand", description: "Boutique train-travel brand for Amtrak/private-rail experiences." },
{ title: "Luggage line", description: "Old-world steamer-trunk-aesthetic luggage brand." },
],
},
{
kind: "trademark",
name: "Western Union Telegram",
registration_number: "0556183",
original_owner: "The Western Union Telegraph Company",
nice_class: "38",
goods_services: "Telegraphy services",
status: "cancelled",
filed_date: "1948-03-10",
registered_date: "1952-03-25",
expired_date: "2006-01-27",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Western Union still active as a money-transfer company; telegram service ended 2006. Parent brand is LIVE — scoping to 'telegram' sub-mark is risky.",
distinctiveness_score: 40,
recognition_score: 65,
domain_available: false,
competing_active_marks: 20,
monetization_breadth: 30,
monetization_ideas: [
{ title: "Avoid", description: "Parent brand live. Not a realistic target." },
],
},
{
kind: "trademark",
name: "Plymouth",
registration_number: "0245611",
original_owner: "Chrysler Corporation",
nice_class: "12",
goods_services: "Automobiles",
status: "cancelled",
filed_date: "1928-07-09",
registered_date: "1929-08-06",
expired_date: "2011-06-14",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Brand killed 2001. Stellantis (Chrysler successor) holds defensive registrations in some classes.",
distinctiveness_score: 40,
recognition_score: 70,
domain_available: false,
competing_active_marks: 15,
monetization_breadth: 45,
monetization_ideas: [
{ title: "Muscle-car parts catalog", description: "Barracuda/Duster restoration parts + content business." },
],
},
{
kind: "trademark",
name: "Mercury (automobiles)",
registration_number: "0361445",
original_owner: "Ford Motor Company",
nice_class: "12",
goods_services: "Automobiles",
status: "cancelled",
filed_date: "1939-04-04",
registered_date: "1939-10-24",
expired_date: "2013-01-04",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Brand killed 2011. Ford keeps defensive registrations. 'Mercury' has thousands of active marks in other classes.",
distinctiveness_score: 30,
recognition_score: 65,
domain_available: false,
competing_active_marks: 30,
monetization_breadth: 30,
monetization_ideas: [
{ title: "Avoid", description: "Saturated word. No realistic clean play." },
],
},
{
kind: "trademark",
name: "Bonwit Teller",
registration_number: "0311022",
original_owner: "Bonwit Teller & Co.",
nice_class: "35",
goods_services: "Retail department store services",
status: "cancelled",
filed_date: "1933-12-18",
registered_date: "1934-04-24",
expired_date: "1994-05-30",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Luxury NYC department store shuttered 1989. Long dormant. Very distinctive name.",
distinctiveness_score: 95,
recognition_score: 40,
domain_available: true,
competing_active_marks: 0,
monetization_breadth: 85,
monetization_ideas: [
{ title: "Luxury NYC-heritage e-tail", description: "Curated designer-discovery platform leveraging the Bonwit Teller fashion legacy." },
{ title: "Violet-monogram ready-to-wear", description: "Launch a contemporary womenswear label using the distinctive violet packaging motif as brand identity." },
],
},
{
kind: "trademark",
name: "B. Altman",
registration_number: "0150876",
original_owner: "B. Altman & Co.",
nice_class: "35",
goods_services: "Retail department store services",
status: "cancelled",
filed_date: "1921-09-12",
registered_date: "1922-07-25",
expired_date: "1990-12-31",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "NYC Fifth Avenue department store closed 1989. Long expired. Building now CUNY Graduate Center.",
distinctiveness_score: 80,
recognition_score: 35,
domain_available: true,
competing_active_marks: 1,
monetization_breadth: 75,
monetization_ideas: [
{ title: "Fifth-Avenue-heritage home goods", description: "Home & tabletop DTC brand leaning on the Altman legacy." },
],
},
{
kind: "trademark",
name: "Clicquot Club",
registration_number: "0058992",
original_owner: "Clicquot Club Company",
nice_class: "32",
goods_services: "Soft drinks, ginger ale",
status: "cancelled",
filed_date: "1901-06-12",
registered_date: "1904-09-06",
expired_date: "1980-03-15",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Iconic Eskimo mascot ginger ale brand; discontinued 1980. Extremely distinctive. Completely dormant. (Note: 'Eskimo' imagery is culturally fraught — would need rebrand.)",
distinctiveness_score: 95,
recognition_score: 35,
domain_available: true,
competing_active_marks: 2,
monetization_breadth: 85,
monetization_ideas: [
{ title: "Craft ginger ale revival", description: "Non-alcoholic craft soda DTC brand leaning into the Clicquot name (not mascot)." },
{ title: "Mixer line for cocktail bars", description: "Premium bar-mixer brand using Clicquot name and updated visual identity." },
],
},
{
kind: "trademark",
name: "Rheingold Beer",
registration_number: "0079884",
original_owner: "Rheingold Breweries, Inc.",
nice_class: "32",
goods_services: "Beer",
status: "cancelled",
filed_date: "1909-01-22",
registered_date: "1910-08-02",
expired_date: "1994-06-19",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Iconic NYC beer brand of the mid-20th century; revived briefly 1998-2015 in craft form, now dormant again. 'Miss Rheingold' beauty contest is a distinctive cultural asset.",
distinctiveness_score: 80,
recognition_score: 55,
domain_available: false,
competing_active_marks: 3,
monetization_breadth: 80,
monetization_ideas: [
{ title: "Brooklyn-craft lager revival", description: "Contract-brewed throwback lager marketed to NYC trade-dress nostalgia." },
{ title: "Miss Rheingold pageant revival", description: "Cultural event / media franchise separate from the beer itself." },
],
},
{
kind: "trademark",
name: "Hydrox",
registration_number: "0112822",
original_owner: "Sunshine Biscuits, Inc.",
nice_class: "30",
goods_services: "Sandwich cookies",
status: "cancelled",
filed_date: "1913-08-25",
registered_date: "1917-03-06",
expired_date: "2014-12-09",
source: "uspto",
source_url: "https://tsdr.uspto.gov",
notes: "Predates Oreo by 4 years. Leaf Brands revived briefly 2015 but the earlier registration lapsed. Legal battles with Mondelez (Oreo) are expected on any relaunch.",
distinctiveness_score: 85,
recognition_score: 50,
domain_available: false,
competing_active_marks: 4,
monetization_breadth: 60,
monetization_ideas: [
{ title: "Sandwich-cookie DTC", description: "DTC cookie brand leaning into 'the original, pre-Oreo' story. High legal scrutiny from Mondelez." },
],
},
// ===== COPYRIGHT / PUBLIC DOMAIN =====
{
kind: "copyright",
name: "Steamboat Willie (1928 Mickey Mouse)",
original_owner: "The Walt Disney Company",
status: "public_domain",
registered_date: "1928-11-18",
expired_date: "2024-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "Entered US public domain 2024-01-01. Later Mickey depictions still protected AND Mickey is a live trademark. PD only covers the 1928 black-and-white specific depiction.",
distinctiveness_score: 100,
recognition_score: 100,
domain_available: true,
competing_active_marks: 45,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Horror / parody film", description: "As demonstrated by Mickey's Mouse Trap. The 1928 depiction only. High chance of Disney cease-and-desist if consumers confuse with modern Mickey." },
{ title: "Limited-edition merchandise", description: "Strictly 1928 design on merch that is clearly *not* Disney-affiliated." },
],
},
{
kind: "copyright",
name: "Winnie-the-Pooh (A. A. Milne 1926)",
original_owner: "A. A. Milne / E.P. Dutton",
status: "public_domain",
registered_date: "1926-10-14",
expired_date: "2022-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "PD 2022-01-01. Tigger (1928) still protected until 2024. Disney's visual versions still protected indefinitely as they are separate derivative works.",
distinctiveness_score: 100,
recognition_score: 100,
domain_available: false,
competing_active_marks: 50,
monetization_breadth: 75,
monetization_ideas: [
{ title: "Horror reimagining film/game", description: "As in Blood and Honey. High awareness; strict avoidance of Disney visual design required." },
{ title: "Illustrated new edition", description: "Commission new illustrations and publish the 1926 text commercially." },
],
},
{
kind: "copyright",
name: "The Great Gatsby (F. Scott Fitzgerald)",
original_owner: "Scribner / F. Scott Fitzgerald Estate",
status: "public_domain",
registered_date: "1925-04-10",
expired_date: "2021-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "PD 2021-01-01 in the US. Estate still controls some derivative film/merch rights via trademark — not copyright — on phrases/imagery.",
distinctiveness_score: 95,
recognition_score: 100,
domain_available: false,
competing_active_marks: 30,
monetization_breadth: 80,
monetization_ideas: [
{ title: "Graphic novel adaptation", description: "New illustrated editions, comics, study guides." },
{ title: "Stage adaptations / immersive theater", description: "The 1925 text is free; immersive-theater productions (e.g., The Great Gatsby at Park Central) have proved the model." },
{ title: "Curriculum / annotated editions", description: "High-margin textbook market." },
],
},
{
kind: "copyright",
name: "Metropolis (Fritz Lang 1927 film)",
original_owner: "UFA (Germany) / Paramount US",
status: "public_domain",
registered_date: "1927-01-10",
expired_date: "2023-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "Entered US PD 2023. German/EU status differs — territory-specific rights check required for international distribution.",
distinctiveness_score: 90,
recognition_score: 75,
domain_available: false,
competing_active_marks: 8,
monetization_breadth: 70,
monetization_ideas: [
{ title: "Restored re-release", description: "New score / 4K restoration theatrical re-release." },
{ title: "Art-book", description: "Coffee-table books of film stills and production design." },
],
},
{
kind: "copyright",
name: "The Jazz Singer (1927 film)",
original_owner: "Warner Bros.",
status: "public_domain",
registered_date: "1927-10-06",
expired_date: "2023-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "PD 2023. Film contains blackface imagery — socially radioactive and hard to monetize without a critical/historical framing.",
distinctiveness_score: 80,
recognition_score: 50,
domain_available: true,
competing_active_marks: 3,
monetization_breadth: 30,
monetization_ideas: [
{ title: "Academic / documentary context only", description: "Historical-context distribution; mainstream merch is a PR landmine." },
],
},
{
kind: "copyright",
name: "Bambi, A Life in the Woods (Felix Salten 1923)",
original_owner: "Felix Salten Estate (Austrian)",
status: "public_domain",
registered_date: "1923-01-01",
expired_date: "2022-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "Original novel PD in US 2022. Disney's 1942 film still protected. Novel has darker themes than the Disney version — opportunity for faithful adaptations.",
distinctiveness_score: 75,
recognition_score: 85,
domain_available: true,
competing_active_marks: 12,
monetization_breadth: 75,
monetization_ideas: [
{ title: "Faithful-to-novel film adaptation", description: "Darker, naturalist adaptation differentiated from Disney." },
{ title: "Illustrated book edition", description: "New commissioned illustrations + annotated text." },
{ title: "Horror adaptation", description: "Bambi: The Reckoning model — confirmed in development." },
],
},
{
kind: "copyright",
name: "Charlie Chaplin 1928 films",
original_owner: "Charlie Chaplin / United Artists",
status: "public_domain",
registered_date: "1928-01-01",
expired_date: "2024-01-01",
source: "copyright_office",
source_url: "https://www.copyright.gov/",
notes: "The Circus (1928) entered PD 2024. Chaplin Estate still holds trademark on 'Little Tramp' character design — copyright PD ≠ trademark-free.",
distinctiveness_score: 80,
recognition_score: 70,
domain_available: true,
competing_active_marks: 5,
monetization_breadth: 60,
monetization_ideas: [
{ title: "Restored streaming release", description: "License-free distribution of specific 1928 titles on niche film platforms." },
{ title: "Educational archive", description: "Curriculum-licensed film archives for film schools." },
],
},
];
async function main() {
console.log("Seeding items...");
const client = await pool.connect();
try {
await client.query("BEGIN");
await client.query("DELETE FROM items");
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,
});
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
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13,
$14, $15, $16, $17, $18, $19, $20::jsonb
)`,
[
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),
]
);
}
await client.query("COMMIT");
const { rows } = await client.query("SELECT COUNT(*) FROM items");
console.log(`Seed complete — ${rows[0].count} items`);
} catch (e) {
await client.query("ROLLBACK");
throw e;
} finally {
client.release();
await pool.end();
}
}
main().catch((e) => { console.error(e); process.exit(1); });