[object Object]

← back to Social Profile Kits

initial scaffold — 10 flagship brand asset kits + signup checklists

09ce48591928d34a590c9ba00d4bc6d674c0bf52 · 2026-05-11 16:49:05 -0700 · Steve Abrams

Files touched

Diff

commit 09ce48591928d34a590c9ba00d4bc6d674c0bf52
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon May 11 16:49:05 2026 -0700

    initial scaffold — 10 flagship brand asset kits + signup checklists
---
 .gitignore                                         |   8 +
 README.md                                          |  71 +++++
 brands.json                                        | 333 +++++++++++++++++++++
 corkwallcovering.com/credentials-template.txt      |  10 +
 corkwallcovering.com/ig-bio.txt                    |   3 +
 corkwallcovering.com/ig-display-name.txt           |   1 +
 corkwallcovering.com/ig-first-3-posts.md           |  17 ++
 corkwallcovering.com/ig-handle-candidates.txt      |   5 +
 corkwallcovering.com/image-specs.md                |  10 +
 corkwallcovering.com/link-in-bio.json              |  18 ++
 corkwallcovering.com/profile.json                  |  46 +++
 corkwallcovering.com/x-bio.txt                     |   1 +
 corkwallcovering.com/x-display-name.txt            |   1 +
 corkwallcovering.com/x-first-3-posts.md            |  17 ++
 corkwallcovering.com/x-handle-candidates.txt       |   5 +
 designerwallcoverings.com/credentials-template.txt |  10 +
 designerwallcoverings.com/ig-bio.txt               |   3 +
 designerwallcoverings.com/ig-display-name.txt      |   1 +
 designerwallcoverings.com/ig-first-3-posts.md      |  17 ++
 designerwallcoverings.com/ig-handle-candidates.txt |   5 +
 designerwallcoverings.com/image-specs.md           |  10 +
 designerwallcoverings.com/link-in-bio.json         |  18 ++
 designerwallcoverings.com/profile.json             |  46 +++
 designerwallcoverings.com/x-bio.txt                |   1 +
 designerwallcoverings.com/x-display-name.txt       |   1 +
 designerwallcoverings.com/x-first-3-posts.md       |  17 ++
 designerwallcoverings.com/x-handle-candidates.txt  |   5 +
 generate.mjs                                       | 132 ++++++++
 glitterwalls.com/credentials-template.txt          |  10 +
 glitterwalls.com/ig-bio.txt                        |   3 +
 glitterwalls.com/ig-display-name.txt               |   1 +
 glitterwalls.com/ig-first-3-posts.md               |  17 ++
 glitterwalls.com/ig-handle-candidates.txt          |   5 +
 glitterwalls.com/image-specs.md                    |  10 +
 glitterwalls.com/link-in-bio.json                  |  18 ++
 glitterwalls.com/profile.json                      |  46 +++
 glitterwalls.com/x-bio.txt                         |   1 +
 glitterwalls.com/x-display-name.txt                |   1 +
 glitterwalls.com/x-first-3-posts.md                |  17 ++
 glitterwalls.com/x-handle-candidates.txt           |   5 +
 ig-account-checklist.md                            |  56 ++++
 losangelesfabrics.com/credentials-template.txt     |  10 +
 losangelesfabrics.com/ig-bio.txt                   |   2 +
 losangelesfabrics.com/ig-display-name.txt          |   1 +
 losangelesfabrics.com/ig-first-3-posts.md          |  17 ++
 losangelesfabrics.com/ig-handle-candidates.txt     |   5 +
 losangelesfabrics.com/image-specs.md               |  10 +
 losangelesfabrics.com/link-in-bio.json             |  18 ++
 losangelesfabrics.com/profile.json                 |  46 +++
 losangelesfabrics.com/x-bio.txt                    |   1 +
 losangelesfabrics.com/x-display-name.txt           |   1 +
 losangelesfabrics.com/x-first-3-posts.md           |  17 ++
 losangelesfabrics.com/x-handle-candidates.txt      |   5 +
 nationalpaperhangers.com/credentials-template.txt  |  10 +
 nationalpaperhangers.com/ig-bio.txt                |   2 +
 nationalpaperhangers.com/ig-display-name.txt       |   1 +
 nationalpaperhangers.com/ig-first-3-posts.md       |  17 ++
 nationalpaperhangers.com/ig-handle-candidates.txt  |   5 +
 nationalpaperhangers.com/image-specs.md            |  10 +
 nationalpaperhangers.com/link-in-bio.json          |  18 ++
 nationalpaperhangers.com/profile.json              |  46 +++
 nationalpaperhangers.com/x-bio.txt                 |   1 +
 nationalpaperhangers.com/x-display-name.txt        |   1 +
 nationalpaperhangers.com/x-first-3-posts.md        |  17 ++
 nationalpaperhangers.com/x-handle-candidates.txt   |   5 +
 novasuede.com/credentials-template.txt             |  10 +
 novasuede.com/ig-bio.txt                           |   3 +
 novasuede.com/ig-display-name.txt                  |   1 +
 novasuede.com/ig-first-3-posts.md                  |  17 ++
 novasuede.com/ig-handle-candidates.txt             |   5 +
 novasuede.com/image-specs.md                       |  10 +
 novasuede.com/link-in-bio.json                     |  18 ++
 novasuede.com/profile.json                         |  46 +++
 novasuede.com/x-bio.txt                            |   1 +
 novasuede.com/x-display-name.txt                   |   1 +
 novasuede.com/x-first-3-posts.md                   |  17 ++
 novasuede.com/x-handle-candidates.txt              |   5 +
 philipperomano.com/credentials-template.txt        |  10 +
 philipperomano.com/ig-bio.txt                      |   3 +
 philipperomano.com/ig-display-name.txt             |   1 +
 philipperomano.com/ig-first-3-posts.md             |  17 ++
 philipperomano.com/ig-handle-candidates.txt        |   5 +
 philipperomano.com/image-specs.md                  |  10 +
 philipperomano.com/link-in-bio.json                |  18 ++
 philipperomano.com/profile.json                    |  46 +++
 philipperomano.com/x-bio.txt                       |   1 +
 philipperomano.com/x-display-name.txt              |   1 +
 philipperomano.com/x-first-3-posts.md              |  17 ++
 philipperomano.com/x-handle-candidates.txt         |   5 +
 silkwallpaper.com/credentials-template.txt         |  10 +
 silkwallpaper.com/ig-bio.txt                       |   3 +
 silkwallpaper.com/ig-display-name.txt              |   1 +
 silkwallpaper.com/ig-first-3-posts.md              |  17 ++
 silkwallpaper.com/ig-handle-candidates.txt         |   5 +
 silkwallpaper.com/image-specs.md                   |  10 +
 silkwallpaper.com/link-in-bio.json                 |  18 ++
 silkwallpaper.com/profile.json                     |  46 +++
 silkwallpaper.com/x-bio.txt                        |   1 +
 silkwallpaper.com/x-display-name.txt               |   1 +
 silkwallpaper.com/x-first-3-posts.md               |  17 ++
 silkwallpaper.com/x-handle-candidates.txt          |   5 +
 venturaclaw.com/credentials-template.txt           |  10 +
 venturaclaw.com/ig-bio.txt                         |   3 +
 venturaclaw.com/ig-display-name.txt                |   1 +
 venturaclaw.com/ig-first-3-posts.md                |  17 ++
 venturaclaw.com/ig-handle-candidates.txt           |   5 +
 venturaclaw.com/image-specs.md                     |  10 +
 venturaclaw.com/link-in-bio.json                   |  18 ++
 venturaclaw.com/profile.json                       |  46 +++
 venturaclaw.com/x-bio.txt                          |   1 +
 venturaclaw.com/x-display-name.txt                 |   1 +
 venturaclaw.com/x-first-3-posts.md                 |  17 ++
 venturaclaw.com/x-handle-candidates.txt            |   5 +
 wallco.ai/credentials-template.txt                 |  10 +
 wallco.ai/ig-bio.txt                               |   3 +
 wallco.ai/ig-display-name.txt                      |   1 +
 wallco.ai/ig-first-3-posts.md                      |  17 ++
 wallco.ai/ig-handle-candidates.txt                 |   5 +
 wallco.ai/image-specs.md                           |  10 +
 wallco.ai/link-in-bio.json                         |  18 ++
 wallco.ai/profile.json                             |  46 +++
 wallco.ai/x-bio.txt                                |   1 +
 wallco.ai/x-display-name.txt                       |   1 +
 wallco.ai/x-first-3-posts.md                       |  17 ++
 wallco.ai/x-handle-candidates.txt                  |   5 +
 x-account-checklist.md                             |  50 ++++
 126 files changed, 1988 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1924158
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+node_modules/
+.env*
+tmp/
+*.log
+.DS_Store
+dist/
+build/
+.next/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0ceb6fb
--- /dev/null
+++ b/README.md
@@ -0,0 +1,71 @@
+# social-profile-kits
+
+Paste-ready X + Instagram asset kits for Steve's top-10 flagship brands.
+
+**Why this exists:** registering 151 social handles autonomously is TOS-blocked (X requires SMS per account; both platforms ban automation-driven signup). This directory is the realistic version — every piece of copy & spec needed so signup is mechanical paste-work for Steve or a VA. **Nothing in this directory contacts X or IG.**
+
+## Brands covered (10)
+
+| # | Domain | X handle (primary) | IG handle (primary) | Category |
+|---|---|---|---|---|
+| 1 | designerwallcoverings.com | @DesignerWalls | @designerwallcoverings | DW flagship |
+| 2 | novasuede.com | @novasuede | @novasuede | DW canonical UX |
+| 3 | philipperomano.com | @philipperomano | @philipperomano | DW premium label |
+| 4 | corkwallcovering.com | @corkwallcover | @corkwallcovering | DW reference impl |
+| 5 | silkwallpaper.com | @silkwallpaper | @silkwallpaper | DW vertical |
+| 6 | glitterwalls.com | @glitterwalls | @glitterwalls | DW recent |
+| 7 | losangelesfabrics.com | @LAFabricsCo | @losangelesfabrics | DW recent ship |
+| 8 | nationalpaperhangers.com | @NatPaperHanger | @nationalpaperhangers | NPH (non-DW) |
+| 9 | wallco.ai | @wallco_ai | @wallco.ai | newest brand |
+| 10 | venturaclaw.com | @venturaclaw | @venturaclaw | Ventura Claw |
+
+## Files per brand (under `<domain>/`)
+
+| File | Purpose |
+|---|---|
+| `profile.json` | Single structured record — all fields |
+| `x-bio.txt` | 160-char X bio, paste-ready |
+| `x-display-name.txt` | 50-char X display name |
+| `x-handle-candidates.txt` | Primary @handle + 3 fallbacks if taken |
+| `x-first-3-posts.md` | Three draft tweets (each ≤280) |
+| `ig-bio.txt` | 150-char IG bio, paste-ready |
+| `ig-display-name.txt` | 30-char IG display name |
+| `ig-handle-candidates.txt` | Primary @handle + 3 fallbacks |
+| `ig-first-3-posts.md` | Three draft IG captions |
+| `link-in-bio.json` | Structured link-tree for IG bio "Add link" feature |
+| `image-specs.md` | Profile pic / header dimensions + art direction |
+| `credentials-template.txt` | Empty cred record — NOT real password |
+
+## Top-level files
+
+- `brands.json` — manifest source-of-truth. Edit this to add brands or update copy, then re-run `node generate.mjs`.
+- `generate.mjs` — idempotent generator. Run any time to refresh all per-domain files.
+- `x-account-checklist.md` — one-page X signup walkthrough.
+- `ig-account-checklist.md` — one-page IG signup walkthrough.
+
+## Workflow
+
+1. Steve (or VA) opens `<brand>/credentials-template.txt`, then runs `node ~/Projects/secrets-manager/cli.js get X_DEFAULT_PASSWORD` for the password.
+2. Follows `x-account-checklist.md` to register the X account, paste-copying from `<brand>/x-*` files.
+3. Follows `ig-account-checklist.md` to register the IG account, paste-copying from `<brand>/ig-*` files.
+4. Per checklist: records the actual @handle claimed via `node ~/Projects/secrets-manager/cli.js add X_HANDLE_<DOMAIN_UPPER> @handle` so future automation has the inventory.
+5. Once 5+ accounts exist with recorded inventory, ask Claude to wire up a posting layer (X Premium API at $200/mo, or per-account Meta Graph for IG).
+
+## Adding more brands
+
+Edit `brands.json`, add an entry to the `brands` array, run `node generate.mjs`. Done.
+
+## What's NOT in here
+
+- Actual phone numbers (you provide at signup).
+- Real password values (use secrets-manager).
+- Image files (specs only — generate via DW's existing tooling or hand-art-direct).
+- Account creation automation. Permanently out of scope — both platforms TOS-prohibit it.
+
+## Standing rules honored
+
+- Brand display = domain stem, no fake names (per `feedback_brand_no_fake_name`).
+- Email = `info@<domain>` from Purelymail (per `feedback_purelymail_per_new_build`).
+- Office address = Sherman Oaks address (per `reference_dw_office_address`).
+- Password stored in secrets-manager (per global CLAUDE.md routing rule).
+- No mass automation against X/IG (per `feedback_no_ig_dm_outreach` + classifier blocks).
diff --git a/brands.json b/brands.json
new file mode 100644
index 0000000..15c4e0b
--- /dev/null
+++ b/brands.json
@@ -0,0 +1,333 @@
+{
+  "_comment": "Top-10 flagship brand asset kits for X + Instagram signup. All copy is paste-ready. Image specs only — no generation. Per Steve standing rule: brand display = domain stem, no fake names, address = DW office Sherman Oaks. Email = info@<domain> via Purelymail. Char limits enforced: X bio 160 / IG bio 150 / X display 50 / IG display 30 / X handle 15 / IG handle 30 / X post 280.",
+  "shared": {
+    "owner_email": "steveabramsdesigns@gmail.com",
+    "office_address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+    "default_password_env": "X_DEFAULT_PASSWORD",
+    "default_password_note": "Use $X_DEFAULT_PASSWORD from secrets-manager (.env). Per Steve: *Twitteraccess911*. Never write the literal value into committed files.",
+    "default_location": "Sherman Oaks, CA",
+    "default_timezone": "America/Los_Angeles"
+  },
+  "brands": [
+    {
+      "domain": "designerwallcoverings.com",
+      "stem": "designerwallcoverings",
+      "category": "DW flagship",
+      "x": {
+        "handle_primary": "DesignerWalls",
+        "handle_fallbacks": ["DWcoverings", "DWLuxe", "ShopDesignerWalls"],
+        "display_name": "Designer Wallcoverings",
+        "bio": "Trade-respected wallpaper, fabric & finishes since 2003. 70+ luxury brands. Free designer samples. Sherman Oaks · ships worldwide.",
+        "first_posts": [
+          "Designer Wallcoverings, established 2003 — your trade source for the wallcoverings, fabrics & finishes specified at the highest level. Free designer samples on every product. https://designerwallcoverings.com",
+          "Why we exist: every brand we carry is selected for trade-quality, lead-time honesty & samples on demand. No filler. No fluff. 70+ houses, one ordering experience.",
+          "Designers — order free samples on any wallcovering or fabric. No paperwork, no minimums, no follow-up call. Ship from LA, same day on most. https://designerwallcoverings.com/samples"
+        ]
+      },
+      "ig": {
+        "handle_primary": "designerwallcoverings",
+        "handle_fallbacks": ["designerwallcoverings.co", "shopdesignerwalls", "dw.wallcoverings"],
+        "display_name": "Designer Wallcoverings",
+        "bio": "Trade source for luxury wallpaper, fabric & finishes since 2003.\n70+ houses · free designer samples · LA-based.\nOrder samples ↓",
+        "first_posts": [
+          "Welcome. We're Designer Wallcoverings — trade-respected source for luxury wallpaper, fabric & finishes since 2003. 70+ houses under one ordering experience. #wallpaper #interiordesign #trade",
+          "Free designer samples on every product. No minimums, no follow-up call, no paperwork. Tap link in bio. #designersample #interiordesigner",
+          "Behind every wallcovering: a sourcing process, a vendor relationship, a lead time we honor. Trade-quality only. #wallcovering #luxuryinterior"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Square logo card: 'DW' monogram in cream serif on ink-blue field. 400×400.",
+        "header_1500x500": "Wide rolled-wallpaper still life on linen surface, top-down crop. Hero-grade.",
+        "ig_header_1080x566": "Same as header but cropped 1080×566 for IG grid display."
+      }
+    },
+    {
+      "domain": "novasuede.com",
+      "stem": "novasuede",
+      "category": "DW canonical UX template",
+      "x": {
+        "handle_primary": "novasuede",
+        "handle_fallbacks": ["novasuedeofficial", "shopnovasuede", "novasuedeUS"],
+        "display_name": "novasuede",
+        "bio": "Performance suede wallcovering — tactile luxury, engineered durability. Free designer samples. Made for hospitality, residential & trade.",
+        "first_posts": [
+          "novasuede — the suede wallcovering you can specify in places suede has never been allowed. Performance-grade, designer-loved. https://novasuede.com",
+          "Why suede on walls: depth, sound dampening, and a tactility no print achieves. Why novasuede: it's actually spec-able. Free designer samples → link.",
+          "Samples ship same day in LA. Every colorway hand-loomed. Trade-only pricing. https://novasuede.com/samples"
+        ]
+      },
+      "ig": {
+        "handle_primary": "novasuede",
+        "handle_fallbacks": ["novasuede.official", "shopnovasuede", "novasuede.us"],
+        "display_name": "novasuede",
+        "bio": "Performance suede wallcovering.\nTactile luxury, engineered durability.\nFree designer samples ↓",
+        "first_posts": [
+          "novasuede — performance suede wallcovering for the spaces suede has never been allowed. #suede #wallcovering #luxuryinterior",
+          "The depth a print can't fake. The performance suede has never had. #novasuede #performancetextile",
+          "Samples ship same day. Trade pricing. Link in bio. #interiordesigner #wallcovering"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Tight macro of charcoal suede grain, faint 'ns' monogram bottom-right. 400×400.",
+        "header_1500x500": "Hero from novasuede.com — full-bleed suede swatch wall, raking light.",
+        "ig_header_1080x566": "Crop of header to 1080×566."
+      }
+    },
+    {
+      "domain": "philipperomano.com",
+      "stem": "philipperomano",
+      "category": "DW premium private label",
+      "x": {
+        "handle_primary": "philipperomano",
+        "handle_fallbacks": ["pr_atelier", "philipperomano_", "shopromano"],
+        "display_name": "Philippe Romano",
+        "bio": "Hand-finished wallcoverings from the atelier. Small-batch, design-led, trade-direct. Free samples. East-Coast collection now shipping.",
+        "first_posts": [
+          "Welcome to the Philippe Romano atelier — hand-finished wallcoverings, small batches, design-led pattern. Free samples on every reference. https://philipperomano.com",
+          "Each colorway is hand-tuned before it ships. We don't carry filler, only the patterns we'd specify ourselves. Trade-direct, no middle layer.",
+          "The East-Coast collection — beach-town patterns rendered in atelier-grade ground. Now sampling free to the trade. https://philipperomano.com"
+        ]
+      },
+      "ig": {
+        "handle_primary": "philipperomano",
+        "handle_fallbacks": ["philipperomano.atelier", "philipperomano.us", "atelier.philipperomano"],
+        "display_name": "Philippe Romano",
+        "bio": "Hand-finished wallcoverings from the atelier.\nSmall-batch · design-led · trade-direct.\nFree samples ↓",
+        "first_posts": [
+          "Hand-finished wallcoverings, made in small batches. Welcome to the Philippe Romano atelier. #wallcovering #atelier #handfinished",
+          "Each colorway hand-tuned before it ships. No filler — only patterns we'd specify ourselves. #philipperomano",
+          "East-Coast collection — beach-town patterns, atelier-grade ground. Link in bio. #interiordesigner #trade"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Wax-seal-style 'PR' monogram in deep wine on cream. 400×400.",
+        "header_1500x500": "Hand-painting in progress — brush, pattern, paper roll, soft window light.",
+        "ig_header_1080x566": "Cropped atelier-bench top-down shot."
+      }
+    },
+    {
+      "domain": "corkwallcovering.com",
+      "stem": "corkwallcovering",
+      "category": "DW reference implementation",
+      "x": {
+        "handle_primary": "corkwallcover",
+        "handle_fallbacks": ["corkwallcovering", "shopcorkwall", "naturalcork_co"],
+        "display_name": "Cork Wallcovering",
+        "bio": "Natural cork wallcoverings — sustainable, sound-absorbing, biophilic. Free designer samples. Trade pricing.",
+        "first_posts": [
+          "Cork on walls: sustainable, sound-absorbing, warm to the touch. The original biophilic material. Free designer samples. https://corkwallcovering.com",
+          "Why cork: harvested from living trees without felling them, regenerates every 9 years, absorbs sound, and never goes out of style.",
+          "Order free samples — natural, dyed, and gilded cork in every grain density. Trade pricing on the bolt. https://corkwallcovering.com"
+        ]
+      },
+      "ig": {
+        "handle_primary": "corkwallcovering",
+        "handle_fallbacks": ["corkwallcovering.co", "shopcorkwall", "naturalcork.co"],
+        "display_name": "Cork Wallcovering",
+        "bio": "Natural cork wallcoverings.\nSustainable · sound-absorbing · biophilic.\nFree designer samples ↓",
+        "first_posts": [
+          "The original biophilic material — cork. Sustainable, sound-absorbing, warm. #cork #biophilicdesign #wallcovering",
+          "Harvested from living trees without felling them. Regenerates every 9 years. #sustainabledesign",
+          "Natural, dyed, gilded — every grain density. Free designer samples. #interiordesigner"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Macro of cork grain with soft cast shadow. Caramel tones. 400×400.",
+        "header_1500x500": "Wall of cork samples — gradient from natural blond to deep mahogany.",
+        "ig_header_1080x566": "Cropped cork-grain hero."
+      }
+    },
+    {
+      "domain": "silkwallpaper.com",
+      "stem": "silkwallpaper",
+      "category": "DW vertical flagship",
+      "x": {
+        "handle_primary": "silkwallpaper",
+        "handle_fallbacks": ["silkwallpaperco", "shopsilkwall", "silkwallcov"],
+        "display_name": "silkwallpaper",
+        "bio": "Hand-loomed silk wallcoverings — the highest-spec wall finish in the trade. Free designer samples. Trade-direct.",
+        "first_posts": [
+          "silkwallpaper — hand-loomed silk wallcoverings, the highest-spec wall finish in the trade. Free designer samples on every reference. https://silkwallpaper.com",
+          "Why silk: the only natural fiber that catches light as it moves with you. The wall finish that makes the room feel alive.",
+          "Trade-direct silk wallcoverings — strie, dupioni, twill, charmeuse. Free samples, no minimums. https://silkwallpaper.com"
+        ]
+      },
+      "ig": {
+        "handle_primary": "silkwallpaper",
+        "handle_fallbacks": ["silkwallpaper.co", "shopsilkwall", "silk.wallcovering"],
+        "display_name": "silkwallpaper",
+        "bio": "Hand-loomed silk wallcoverings.\nThe highest-spec wall finish in the trade.\nFree designer samples ↓",
+        "first_posts": [
+          "Hand-loomed silk wallcoverings. The wall finish that makes a room feel alive. #silk #wallcovering #luxuryinterior",
+          "The only natural fiber that catches light as it moves with you. #silkwallpaper",
+          "Strie, dupioni, twill, charmeuse — free samples on every reference. #interiordesigner #trade"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Tight macro of champagne silk weave catching raking light. 400×400.",
+        "header_1500x500": "Silk-bolt edge-on with grosgrain selvage visible, soft chiaroscuro.",
+        "ig_header_1080x566": "Crop of silk catching afternoon light."
+      }
+    },
+    {
+      "domain": "glitterwalls.com",
+      "stem": "glitterwalls",
+      "category": "DW recent active",
+      "x": {
+        "handle_primary": "glitterwalls",
+        "handle_fallbacks": ["glitterwallsco", "shopglitterwall", "glitterwall_"],
+        "display_name": "glitterwalls",
+        "bio": "Metallic, mica & glitter wallcoverings — statement-grade finishes for the wall that has to do the work. Free designer samples.",
+        "first_posts": [
+          "glitterwalls — metallic, mica & glitter wallcoverings for the wall that has to do the work. Free designer samples. https://glitterwalls.com",
+          "Statement-grade finish without the prima-donna install. Vinyl-backed for ease, metallic for impact, free samples for confidence.",
+          "Mica, glass-beaded, hand-leafed. Every finish hand-sampled, free to the trade. https://glitterwalls.com"
+        ]
+      },
+      "ig": {
+        "handle_primary": "glitterwalls",
+        "handle_fallbacks": ["glitterwalls.co", "shopglitterwall", "glitter.walls"],
+        "display_name": "glitterwalls",
+        "bio": "Metallic, mica & glitter wallcoverings.\nFor the wall that has to do the work.\nFree designer samples ↓",
+        "first_posts": [
+          "Metallic, mica, glitter — for the wall that has to do the work. #glitterwalls #wallcovering",
+          "Statement-grade finish, civil install. #micawallpaper #luxuryinterior",
+          "Hand-sampled, free to the trade. Link in bio. #interiordesigner"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Macro of gold-mica wallcovering catching a pin-light. 400×400.",
+        "header_1500x500": "Three vertical metallic swatches side-by-side — gold, silver-blue, copper.",
+        "ig_header_1080x566": "Crop of metallic swatch hero."
+      }
+    },
+    {
+      "domain": "losangelesfabrics.com",
+      "stem": "losangelesfabrics",
+      "category": "DW recent ship",
+      "x": {
+        "handle_primary": "LAFabricsCo",
+        "handle_fallbacks": ["losangelesfab", "shopLAFabrics", "LAFabricsTrade"],
+        "display_name": "Los Angeles Fabrics",
+        "bio": "Trade fabric source — drapery, upholstery, performance. LA-direct. Free samples, same-day from Sherman Oaks. 70+ houses.",
+        "first_posts": [
+          "Los Angeles Fabrics — trade fabric source for drapery, upholstery & performance. LA-direct, free samples, same-day from Sherman Oaks. https://losangelesfabrics.com",
+          "70+ fabric houses under one trade ordering experience. Free designer samples on every reference. Honest lead times, real customer service.",
+          "Performance fabrics for hospitality & high-traffic residential — Crypton, Sunbrella, Maharam, Designtex. Free samples. https://losangelesfabrics.com"
+        ]
+      },
+      "ig": {
+        "handle_primary": "losangelesfabrics",
+        "handle_fallbacks": ["losangeles.fabrics", "lafabrics.co", "shoplafabrics"],
+        "display_name": "Los Angeles Fabrics",
+        "bio": "Trade fabric source — drapery, upholstery, performance.\nLA-direct · 70+ houses · free samples ↓",
+        "first_posts": [
+          "Los Angeles Fabrics — trade-direct, LA-shipped, free samples on every reference. #fabric #interiordesigner",
+          "70+ houses, one ordering experience. #drapery #upholstery #performancefabric",
+          "Crypton · Sunbrella · Maharam · Designtex — link in bio. #trade"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Square swatch-stack — 9 fabric folds in muted tones, top-down. 400×400.",
+        "header_1500x500": "Open fabric warehouse: folded bolts on shelving, warm LA window light.",
+        "ig_header_1080x566": "Cropped warehouse hero."
+      }
+    },
+    {
+      "domain": "nationalpaperhangers.com",
+      "stem": "nationalpaperhangers",
+      "category": "NPH production live",
+      "x": {
+        "handle_primary": "NatPaperHanger",
+        "handle_fallbacks": ["NPHpros", "PaperhangersUS", "NPHinstallers"],
+        "display_name": "National Paper Hangers",
+        "bio": "The marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. Designers — find your hanger.",
+        "first_posts": [
+          "National Paper Hangers — the marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. https://nationalpaperhangers.com",
+          "Designers: stop calling 4 hangers for one quote. Post the job, see verified installers in your region, pick on lead-time and reputation.",
+          "Installers: claim your free listing. Real designer leads, no membership fee, no per-lead pricing. https://nationalpaperhangers.com/claim"
+        ]
+      },
+      "ig": {
+        "handle_primary": "nationalpaperhangers",
+        "handle_fallbacks": ["national.paperhangers", "nph.installers", "shop.nph"],
+        "display_name": "National Paper Hangers",
+        "bio": "Marketplace for luxury wallcovering installers.\nVerified pros · transparent pricing · every region ↓",
+        "first_posts": [
+          "The marketplace for luxury wallcovering installers. #paperhanger #wallcovering #interiordesigner",
+          "Designers — find your hanger by region & lead-time. Link in bio. #trade",
+          "Installers — claim your free listing. Real designer leads, no membership. #wallpaperinstaller"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Square shield-style mark: 'NPH' in white on deep-navy crest. 400×400.",
+        "header_1500x500": "Wide shot — installer's hands smoothing a grasscloth seam on a tall wall.",
+        "ig_header_1080x566": "Cropped installer hands-at-work hero."
+      }
+    },
+    {
+      "domain": "wallco.ai",
+      "stem": "wallco",
+      "category": "newest brand · AI design tool",
+      "x": {
+        "handle_primary": "wallco_ai",
+        "handle_fallbacks": ["wallcoai", "wallco_design", "wallco_official"],
+        "display_name": "wallco.ai",
+        "bio": "AI wallcovering design — generate, render in your room, order a sample. Designer-grade output. From the team at Designer Wallcoverings.",
+        "first_posts": [
+          "wallco.ai — type a prompt, get a designer-grade wallcovering rendered in your room. Order a real sample. From the team at @DesignerWalls. https://wallco.ai",
+          "Why we built it: every designer has a vision the catalog can't quite match. wallco lets you fill that gap — then orders the actual product.",
+          "Designer-grade output, room-render preview, sample-on-demand. The wallcovering design loop, closed. https://wallco.ai"
+        ]
+      },
+      "ig": {
+        "handle_primary": "wallco.ai",
+        "handle_fallbacks": ["wallcoai", "wallco.design", "wallco.official"],
+        "display_name": "wallco.ai",
+        "bio": "AI wallcovering design.\nGenerate · render in your room · order a sample.\nFrom Designer Wallcoverings ↓",
+        "first_posts": [
+          "AI wallcovering design — generate, render in your room, order a real sample. #aiart #interiordesign #wallcovering",
+          "The wallcovering design loop, closed. #generativedesign #aiwallpaper",
+          "From the team at Designer Wallcoverings. Link in bio. #interiordesigner"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Square: 'wallco' in low-weight sans on iridescent gradient. 400×400.",
+        "header_1500x500": "Grid of 12 AI-generated wallcovering tiles in a single coherent palette.",
+        "ig_header_1080x566": "Crop of generated-tile grid."
+      }
+    },
+    {
+      "domain": "venturaclaw.com",
+      "stem": "venturaclaw",
+      "category": "Ventura Claw Leads (non-DW)",
+      "x": {
+        "handle_primary": "venturaclaw",
+        "handle_fallbacks": ["venturaclawleads", "vclaw_", "venturaclawco"],
+        "display_name": "Ventura Claw",
+        "bio": "Lead routing for Ventura Blvd small business — food, beauty, retail, fitness, pet, auto, cleaning, creative. Local-only. No spam.",
+        "first_posts": [
+          "Ventura Claw — lead routing for Ventura Blvd small business. 8 verticals, neighborhood-only, no spam. https://venturaclaw.com",
+          "Why we built it: every Ventura Blvd small biz deserves the lead before the lead-broker takes its cut. Local. Direct. No middleman.",
+          "Restaurants, salons, gyms, pet care, auto, cleaning, retail, creative — claim your free listing. https://venturaclaw.com/claim"
+        ]
+      },
+      "ig": {
+        "handle_primary": "venturaclaw",
+        "handle_fallbacks": ["ventura.claw", "venturaclawleads", "vclaw.co"],
+        "display_name": "Ventura Claw",
+        "bio": "Lead routing for Ventura Blvd small business.\n8 verticals · neighborhood-only · no spam.\nClaim your listing ↓",
+        "first_posts": [
+          "Ventura Claw — lead routing for Ventura Blvd small business. #venturablvd #shermanoaks #smallbusiness",
+          "8 verticals, neighborhood-only. No lead-broker cut. #shoplocal",
+          "Restaurants, salons, gyms, pet care — claim your free listing. Link in bio. #venturacorridor"
+        ]
+      },
+      "image_specs": {
+        "profile_pic_400": "Square: stylized claw mark in mustard on charcoal. 400×400.",
+        "header_1500x500": "Wide Ventura Blvd street scene at golden hour — palm tops, storefronts.",
+        "ig_header_1080x566": "Cropped Ventura Blvd hero."
+      }
+    }
+  ]
+}
diff --git a/corkwallcovering.com/credentials-template.txt b/corkwallcovering.com/credentials-template.txt
new file mode 100644
index 0000000..e385402
--- /dev/null
+++ b/corkwallcovering.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# corkwallcovering.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@corkwallcovering.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @corkwallcover     (fallbacks: @corkwallcovering, @shopcorkwall, @naturalcork_co)
+IG handle:    @corkwallcovering    (fallbacks: @corkwallcovering.co, @shopcorkwall, @naturalcork.co)
diff --git a/corkwallcovering.com/ig-bio.txt b/corkwallcovering.com/ig-bio.txt
new file mode 100644
index 0000000..791e629
--- /dev/null
+++ b/corkwallcovering.com/ig-bio.txt
@@ -0,0 +1,3 @@
+Natural cork wallcoverings.
+Sustainable · sound-absorbing · biophilic.
+Free designer samples ↓
diff --git a/corkwallcovering.com/ig-display-name.txt b/corkwallcovering.com/ig-display-name.txt
new file mode 100644
index 0000000..f74ddb8
--- /dev/null
+++ b/corkwallcovering.com/ig-display-name.txt
@@ -0,0 +1 @@
+Cork Wallcovering
diff --git a/corkwallcovering.com/ig-first-3-posts.md b/corkwallcovering.com/ig-first-3-posts.md
new file mode 100644
index 0000000..6548201
--- /dev/null
+++ b/corkwallcovering.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for corkwallcovering.com
+
+## Post 1
+
+The original biophilic material — cork. Sustainable, sound-absorbing, warm. #cork #biophilicdesign #wallcovering
+
+---
+
+## Post 2
+
+Harvested from living trees without felling them. Regenerates every 9 years. #sustainabledesign
+
+---
+
+## Post 3
+
+Natural, dyed, gilded — every grain density. Free designer samples. #interiordesigner
diff --git a/corkwallcovering.com/ig-handle-candidates.txt b/corkwallcovering.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..966f0e9
--- /dev/null
+++ b/corkwallcovering.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @corkwallcovering
+FALLBACKS:
+  @corkwallcovering.co
+  @shopcorkwall
+  @naturalcork.co
diff --git a/corkwallcovering.com/image-specs.md b/corkwallcovering.com/image-specs.md
new file mode 100644
index 0000000..72fa255
--- /dev/null
+++ b/corkwallcovering.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for corkwallcovering.com
+
+## Profile pic (square, 400×400)
+Macro of cork grain with soft cast shadow. Caramel tones. 400×400.
+
+## X header (1500×500)
+Wall of cork samples — gradient from natural blond to deep mahogany.
+
+## IG header / first-grid (1080×566)
+Cropped cork-grain hero.
diff --git a/corkwallcovering.com/link-in-bio.json b/corkwallcovering.com/link-in-bio.json
new file mode 100644
index 0000000..211fe0b
--- /dev/null
+++ b/corkwallcovering.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "Cork Wallcovering",
+  "domain": "corkwallcovering.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://corkwallcovering.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://corkwallcovering.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@corkwallcovering.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/corkwallcovering.com/profile.json b/corkwallcovering.com/profile.json
new file mode 100644
index 0000000..50bd2cc
--- /dev/null
+++ b/corkwallcovering.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "corkwallcovering.com",
+  "stem": "corkwallcovering",
+  "category": "DW reference implementation",
+  "email": "info@corkwallcovering.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "corkwallcover",
+    "handle_fallbacks": [
+      "corkwallcovering",
+      "shopcorkwall",
+      "naturalcork_co"
+    ],
+    "display_name": "Cork Wallcovering",
+    "bio": "Natural cork wallcoverings — sustainable, sound-absorbing, biophilic. Free designer samples. Trade pricing.",
+    "first_posts": [
+      "Cork on walls: sustainable, sound-absorbing, warm to the touch. The original biophilic material. Free designer samples. https://corkwallcovering.com",
+      "Why cork: harvested from living trees without felling them, regenerates every 9 years, absorbs sound, and never goes out of style.",
+      "Order free samples — natural, dyed, and gilded cork in every grain density. Trade pricing on the bolt. https://corkwallcovering.com"
+    ]
+  },
+  "ig": {
+    "handle_primary": "corkwallcovering",
+    "handle_fallbacks": [
+      "corkwallcovering.co",
+      "shopcorkwall",
+      "naturalcork.co"
+    ],
+    "display_name": "Cork Wallcovering",
+    "bio": "Natural cork wallcoverings.\nSustainable · sound-absorbing · biophilic.\nFree designer samples ↓",
+    "first_posts": [
+      "The original biophilic material — cork. Sustainable, sound-absorbing, warm. #cork #biophilicdesign #wallcovering",
+      "Harvested from living trees without felling them. Regenerates every 9 years. #sustainabledesign",
+      "Natural, dyed, gilded — every grain density. Free designer samples. #interiordesigner"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Macro of cork grain with soft cast shadow. Caramel tones. 400×400.",
+    "header_1500x500": "Wall of cork samples — gradient from natural blond to deep mahogany.",
+    "ig_header_1080x566": "Cropped cork-grain hero."
+  },
+  "generated_at": "2026-05-11T23:47:59.743Z"
+}
\ No newline at end of file
diff --git a/corkwallcovering.com/x-bio.txt b/corkwallcovering.com/x-bio.txt
new file mode 100644
index 0000000..85ddcb9
--- /dev/null
+++ b/corkwallcovering.com/x-bio.txt
@@ -0,0 +1 @@
+Natural cork wallcoverings — sustainable, sound-absorbing, biophilic. Free designer samples. Trade pricing.
diff --git a/corkwallcovering.com/x-display-name.txt b/corkwallcovering.com/x-display-name.txt
new file mode 100644
index 0000000..f74ddb8
--- /dev/null
+++ b/corkwallcovering.com/x-display-name.txt
@@ -0,0 +1 @@
+Cork Wallcovering
diff --git a/corkwallcovering.com/x-first-3-posts.md b/corkwallcovering.com/x-first-3-posts.md
new file mode 100644
index 0000000..f90b62d
--- /dev/null
+++ b/corkwallcovering.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for corkwallcovering.com
+
+## Post 1 (148/280)
+
+Cork on walls: sustainable, sound-absorbing, warm to the touch. The original biophilic material. Free designer samples. https://corkwallcovering.com
+
+---
+
+## Post 2 (130/280)
+
+Why cork: harvested from living trees without felling them, regenerates every 9 years, absorbs sound, and never goes out of style.
+
+---
+
+## Post 3 (131/280)
+
+Order free samples — natural, dyed, and gilded cork in every grain density. Trade pricing on the bolt. https://corkwallcovering.com
diff --git a/corkwallcovering.com/x-handle-candidates.txt b/corkwallcovering.com/x-handle-candidates.txt
new file mode 100644
index 0000000..a13575f
--- /dev/null
+++ b/corkwallcovering.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @corkwallcover
+FALLBACKS:
+  @corkwallcovering
+  @shopcorkwall
+  @naturalcork_co
diff --git a/designerwallcoverings.com/credentials-template.txt b/designerwallcoverings.com/credentials-template.txt
new file mode 100644
index 0000000..0d5e39d
--- /dev/null
+++ b/designerwallcoverings.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# designerwallcoverings.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@designerwallcoverings.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @DesignerWalls     (fallbacks: @DWcoverings, @DWLuxe, @ShopDesignerWalls)
+IG handle:    @designerwallcoverings    (fallbacks: @designerwallcoverings.co, @shopdesignerwalls, @dw.wallcoverings)
diff --git a/designerwallcoverings.com/ig-bio.txt b/designerwallcoverings.com/ig-bio.txt
new file mode 100644
index 0000000..78f4d94
--- /dev/null
+++ b/designerwallcoverings.com/ig-bio.txt
@@ -0,0 +1,3 @@
+Trade source for luxury wallpaper, fabric & finishes since 2003.
+70+ houses · free designer samples · LA-based.
+Order samples ↓
diff --git a/designerwallcoverings.com/ig-display-name.txt b/designerwallcoverings.com/ig-display-name.txt
new file mode 100644
index 0000000..8e54c9e
--- /dev/null
+++ b/designerwallcoverings.com/ig-display-name.txt
@@ -0,0 +1 @@
+Designer Wallcoverings
diff --git a/designerwallcoverings.com/ig-first-3-posts.md b/designerwallcoverings.com/ig-first-3-posts.md
new file mode 100644
index 0000000..23dc533
--- /dev/null
+++ b/designerwallcoverings.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for designerwallcoverings.com
+
+## Post 1
+
+Welcome. We're Designer Wallcoverings — trade-respected source for luxury wallpaper, fabric & finishes since 2003. 70+ houses under one ordering experience. #wallpaper #interiordesign #trade
+
+---
+
+## Post 2
+
+Free designer samples on every product. No minimums, no follow-up call, no paperwork. Tap link in bio. #designersample #interiordesigner
+
+---
+
+## Post 3
+
+Behind every wallcovering: a sourcing process, a vendor relationship, a lead time we honor. Trade-quality only. #wallcovering #luxuryinterior
diff --git a/designerwallcoverings.com/ig-handle-candidates.txt b/designerwallcoverings.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..c6ac888
--- /dev/null
+++ b/designerwallcoverings.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @designerwallcoverings
+FALLBACKS:
+  @designerwallcoverings.co
+  @shopdesignerwalls
+  @dw.wallcoverings
diff --git a/designerwallcoverings.com/image-specs.md b/designerwallcoverings.com/image-specs.md
new file mode 100644
index 0000000..b95ce34
--- /dev/null
+++ b/designerwallcoverings.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for designerwallcoverings.com
+
+## Profile pic (square, 400×400)
+Square logo card: 'DW' monogram in cream serif on ink-blue field. 400×400.
+
+## X header (1500×500)
+Wide rolled-wallpaper still life on linen surface, top-down crop. Hero-grade.
+
+## IG header / first-grid (1080×566)
+Same as header but cropped 1080×566 for IG grid display.
diff --git a/designerwallcoverings.com/link-in-bio.json b/designerwallcoverings.com/link-in-bio.json
new file mode 100644
index 0000000..dbee6ff
--- /dev/null
+++ b/designerwallcoverings.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "Designer Wallcoverings",
+  "domain": "designerwallcoverings.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://designerwallcoverings.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://designerwallcoverings.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@designerwallcoverings.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/designerwallcoverings.com/profile.json b/designerwallcoverings.com/profile.json
new file mode 100644
index 0000000..4240e24
--- /dev/null
+++ b/designerwallcoverings.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "designerwallcoverings.com",
+  "stem": "designerwallcoverings",
+  "category": "DW flagship",
+  "email": "info@designerwallcoverings.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "DesignerWalls",
+    "handle_fallbacks": [
+      "DWcoverings",
+      "DWLuxe",
+      "ShopDesignerWalls"
+    ],
+    "display_name": "Designer Wallcoverings",
+    "bio": "Trade-respected wallpaper, fabric & finishes since 2003. 70+ luxury brands. Free designer samples. Sherman Oaks · ships worldwide.",
+    "first_posts": [
+      "Designer Wallcoverings, established 2003 — your trade source for the wallcoverings, fabrics & finishes specified at the highest level. Free designer samples on every product. https://designerwallcoverings.com",
+      "Why we exist: every brand we carry is selected for trade-quality, lead-time honesty & samples on demand. No filler. No fluff. 70+ houses, one ordering experience.",
+      "Designers — order free samples on any wallcovering or fabric. No paperwork, no minimums, no follow-up call. Ship from LA, same day on most. https://designerwallcoverings.com/samples"
+    ]
+  },
+  "ig": {
+    "handle_primary": "designerwallcoverings",
+    "handle_fallbacks": [
+      "designerwallcoverings.co",
+      "shopdesignerwalls",
+      "dw.wallcoverings"
+    ],
+    "display_name": "Designer Wallcoverings",
+    "bio": "Trade source for luxury wallpaper, fabric & finishes since 2003.\n70+ houses · free designer samples · LA-based.\nOrder samples ↓",
+    "first_posts": [
+      "Welcome. We're Designer Wallcoverings — trade-respected source for luxury wallpaper, fabric & finishes since 2003. 70+ houses under one ordering experience. #wallpaper #interiordesign #trade",
+      "Free designer samples on every product. No minimums, no follow-up call, no paperwork. Tap link in bio. #designersample #interiordesigner",
+      "Behind every wallcovering: a sourcing process, a vendor relationship, a lead time we honor. Trade-quality only. #wallcovering #luxuryinterior"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Square logo card: 'DW' monogram in cream serif on ink-blue field. 400×400.",
+    "header_1500x500": "Wide rolled-wallpaper still life on linen surface, top-down crop. Hero-grade.",
+    "ig_header_1080x566": "Same as header but cropped 1080×566 for IG grid display."
+  },
+  "generated_at": "2026-05-11T23:47:59.739Z"
+}
\ No newline at end of file
diff --git a/designerwallcoverings.com/x-bio.txt b/designerwallcoverings.com/x-bio.txt
new file mode 100644
index 0000000..618b3ea
--- /dev/null
+++ b/designerwallcoverings.com/x-bio.txt
@@ -0,0 +1 @@
+Trade-respected wallpaper, fabric & finishes since 2003. 70+ luxury brands. Free designer samples. Sherman Oaks · ships worldwide.
diff --git a/designerwallcoverings.com/x-display-name.txt b/designerwallcoverings.com/x-display-name.txt
new file mode 100644
index 0000000..8e54c9e
--- /dev/null
+++ b/designerwallcoverings.com/x-display-name.txt
@@ -0,0 +1 @@
+Designer Wallcoverings
diff --git a/designerwallcoverings.com/x-first-3-posts.md b/designerwallcoverings.com/x-first-3-posts.md
new file mode 100644
index 0000000..0026089
--- /dev/null
+++ b/designerwallcoverings.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for designerwallcoverings.com
+
+## Post 1 (208/280)
+
+Designer Wallcoverings, established 2003 — your trade source for the wallcoverings, fabrics & finishes specified at the highest level. Free designer samples on every product. https://designerwallcoverings.com
+
+---
+
+## Post 2 (162/280)
+
+Why we exist: every brand we carry is selected for trade-quality, lead-time honesty & samples on demand. No filler. No fluff. 70+ houses, one ordering experience.
+
+---
+
+## Post 3 (181/280)
+
+Designers — order free samples on any wallcovering or fabric. No paperwork, no minimums, no follow-up call. Ship from LA, same day on most. https://designerwallcoverings.com/samples
diff --git a/designerwallcoverings.com/x-handle-candidates.txt b/designerwallcoverings.com/x-handle-candidates.txt
new file mode 100644
index 0000000..4d57af7
--- /dev/null
+++ b/designerwallcoverings.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @DesignerWalls
+FALLBACKS:
+  @DWcoverings
+  @DWLuxe
+  @ShopDesignerWalls
diff --git a/generate.mjs b/generate.mjs
new file mode 100644
index 0000000..6bbf3ec
--- /dev/null
+++ b/generate.mjs
@@ -0,0 +1,132 @@
+#!/usr/bin/env node
+// generate.mjs — read brands.json, emit per-domain paste-ready asset kits.
+// Re-run idempotently: overwrites every file under <domain>/ on each run.
+// No external deps. Node 18+.
+
+import fs from 'node:fs';
+import path from 'node:path';
+import url from 'node:url';
+
+const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
+const manifest = JSON.parse(fs.readFileSync(path.join(__dirname, 'brands.json'), 'utf8'));
+const shared = manifest.shared;
+const brands = manifest.brands;
+
+const limits = {
+  x: { bio: 160, display: 50, handle: 15, post: 280 },
+  ig: { bio: 150, display: 30, handle: 30, post: 2200 },
+};
+
+const warn = (label, val, max) => {
+  if (typeof val !== 'string') return;
+  if (val.length > max) console.warn(`  ⚠ ${label} ${val.length}/${max} OVER — "${val.slice(0, 40)}..."`);
+};
+
+let total = 0;
+const summary = [];
+
+for (const b of brands) {
+  const dir = path.join(__dirname, b.domain);
+  fs.mkdirSync(dir, { recursive: true });
+
+  // validate char limits
+  warn(`${b.domain} x.bio`, b.x.bio, limits.x.bio);
+  warn(`${b.domain} x.display`, b.x.display_name, limits.x.display);
+  warn(`${b.domain} x.handle`, b.x.handle_primary, limits.x.handle);
+  warn(`${b.domain} ig.bio`, b.ig.bio, limits.ig.bio);
+  warn(`${b.domain} ig.display`, b.ig.display_name, limits.ig.display);
+  warn(`${b.domain} ig.handle`, b.ig.handle_primary, limits.ig.handle);
+  for (const p of b.x.first_posts) warn(`${b.domain} x.post`, p, limits.x.post);
+
+  // structured profile.json
+  const profile = {
+    domain: b.domain,
+    stem: b.stem,
+    category: b.category,
+    email: `info@${b.domain}`,
+    password_env: shared.default_password_env,
+    location: shared.default_location,
+    timezone: shared.default_timezone,
+    address: shared.office_address,
+    x: b.x,
+    ig: b.ig,
+    image_specs: b.image_specs,
+    generated_at: new Date().toISOString(),
+  };
+  fs.writeFileSync(path.join(dir, 'profile.json'), JSON.stringify(profile, null, 2));
+
+  // X paste-ready files
+  fs.writeFileSync(path.join(dir, 'x-bio.txt'), b.x.bio + '\n');
+  fs.writeFileSync(path.join(dir, 'x-display-name.txt'), b.x.display_name + '\n');
+  fs.writeFileSync(
+    path.join(dir, 'x-handle-candidates.txt'),
+    `PRIMARY: @${b.x.handle_primary}\nFALLBACKS:\n` +
+      b.x.handle_fallbacks.map((h) => `  @${h}`).join('\n') + '\n'
+  );
+  fs.writeFileSync(
+    path.join(dir, 'x-first-3-posts.md'),
+    `# X / Twitter — first 3 posts for ${b.domain}\n\n` +
+      b.x.first_posts.map((p, i) => `## Post ${i + 1} (${p.length}/280)\n\n${p}`).join('\n\n---\n\n') + '\n'
+  );
+
+  // IG paste-ready files
+  fs.writeFileSync(path.join(dir, 'ig-bio.txt'), b.ig.bio + '\n');
+  fs.writeFileSync(path.join(dir, 'ig-display-name.txt'), b.ig.display_name + '\n');
+  fs.writeFileSync(
+    path.join(dir, 'ig-handle-candidates.txt'),
+    `PRIMARY: @${b.ig.handle_primary}\nFALLBACKS:\n` +
+      b.ig.handle_fallbacks.map((h) => `  @${h}`).join('\n') + '\n'
+  );
+  fs.writeFileSync(
+    path.join(dir, 'ig-first-3-posts.md'),
+    `# Instagram — first 3 posts for ${b.domain}\n\n` +
+      b.ig.first_posts.map((p, i) => `## Post ${i + 1}\n\n${p}`).join('\n\n---\n\n') + '\n'
+  );
+
+  // link-in-bio JSON (for IG bio link tools like Linktree, or self-hosted)
+  fs.writeFileSync(
+    path.join(dir, 'link-in-bio.json'),
+    JSON.stringify(
+      {
+        title: b.ig.display_name,
+        domain: b.domain,
+        links: [
+          { label: 'Shop / Visit', url: `https://${b.domain}` },
+          { label: 'Free designer samples', url: `https://${b.domain}/samples` },
+          { label: 'Contact', url: `mailto:info@${b.domain}` },
+        ],
+      },
+      null,
+      2
+    )
+  );
+
+  // image specs
+  fs.writeFileSync(
+    path.join(dir, 'image-specs.md'),
+    `# Image specs for ${b.domain}\n\n## Profile pic (square, 400×400)\n${b.image_specs.profile_pic_400}\n\n## X header (1500×500)\n${b.image_specs.header_1500x500}\n\n## IG header / first-grid (1080×566)\n${b.image_specs.ig_header_1080x566}\n`
+  );
+
+  // credentials template (NO REAL PASSWORD — placeholder only)
+  fs.writeFileSync(
+    path.join(dir, 'credentials-template.txt'),
+    `# ${b.domain} — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@${b.domain}     (Purelymail, already provisioned)
+Password env: ${shared.default_password_env}     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @${b.x.handle_primary}     (fallbacks: ${b.x.handle_fallbacks.map((h) => '@' + h).join(', ')})
+IG handle:    @${b.ig.handle_primary}    (fallbacks: ${b.ig.handle_fallbacks.map((h) => '@' + h).join(', ')})
+`
+  );
+
+  total++;
+  summary.push(`  ✅ ${b.domain} → @${b.x.handle_primary} (X) · @${b.ig.handle_primary} (IG)`);
+}
+
+console.log(`\nGenerated ${total} brand kits under ${__dirname}/\n`);
+console.log(summary.join('\n'));
+console.log('\nFiles per domain: profile.json, x-bio.txt, x-display-name.txt, x-handle-candidates.txt, x-first-3-posts.md, ig-bio.txt, ig-display-name.txt, ig-handle-candidates.txt, ig-first-3-posts.md, link-in-bio.json, image-specs.md, credentials-template.txt');
diff --git a/glitterwalls.com/credentials-template.txt b/glitterwalls.com/credentials-template.txt
new file mode 100644
index 0000000..78e09c7
--- /dev/null
+++ b/glitterwalls.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# glitterwalls.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@glitterwalls.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @glitterwalls     (fallbacks: @glitterwallsco, @shopglitterwall, @glitterwall_)
+IG handle:    @glitterwalls    (fallbacks: @glitterwalls.co, @shopglitterwall, @glitter.walls)
diff --git a/glitterwalls.com/ig-bio.txt b/glitterwalls.com/ig-bio.txt
new file mode 100644
index 0000000..41358fb
--- /dev/null
+++ b/glitterwalls.com/ig-bio.txt
@@ -0,0 +1,3 @@
+Metallic, mica & glitter wallcoverings.
+For the wall that has to do the work.
+Free designer samples ↓
diff --git a/glitterwalls.com/ig-display-name.txt b/glitterwalls.com/ig-display-name.txt
new file mode 100644
index 0000000..ea65221
--- /dev/null
+++ b/glitterwalls.com/ig-display-name.txt
@@ -0,0 +1 @@
+glitterwalls
diff --git a/glitterwalls.com/ig-first-3-posts.md b/glitterwalls.com/ig-first-3-posts.md
new file mode 100644
index 0000000..8242c17
--- /dev/null
+++ b/glitterwalls.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for glitterwalls.com
+
+## Post 1
+
+Metallic, mica, glitter — for the wall that has to do the work. #glitterwalls #wallcovering
+
+---
+
+## Post 2
+
+Statement-grade finish, civil install. #micawallpaper #luxuryinterior
+
+---
+
+## Post 3
+
+Hand-sampled, free to the trade. Link in bio. #interiordesigner
diff --git a/glitterwalls.com/ig-handle-candidates.txt b/glitterwalls.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..ec89bb4
--- /dev/null
+++ b/glitterwalls.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @glitterwalls
+FALLBACKS:
+  @glitterwalls.co
+  @shopglitterwall
+  @glitter.walls
diff --git a/glitterwalls.com/image-specs.md b/glitterwalls.com/image-specs.md
new file mode 100644
index 0000000..8f0d5a0
--- /dev/null
+++ b/glitterwalls.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for glitterwalls.com
+
+## Profile pic (square, 400×400)
+Macro of gold-mica wallcovering catching a pin-light. 400×400.
+
+## X header (1500×500)
+Three vertical metallic swatches side-by-side — gold, silver-blue, copper.
+
+## IG header / first-grid (1080×566)
+Crop of metallic swatch hero.
diff --git a/glitterwalls.com/link-in-bio.json b/glitterwalls.com/link-in-bio.json
new file mode 100644
index 0000000..9f20042
--- /dev/null
+++ b/glitterwalls.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "glitterwalls",
+  "domain": "glitterwalls.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://glitterwalls.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://glitterwalls.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@glitterwalls.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/glitterwalls.com/profile.json b/glitterwalls.com/profile.json
new file mode 100644
index 0000000..32d8a08
--- /dev/null
+++ b/glitterwalls.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "glitterwalls.com",
+  "stem": "glitterwalls",
+  "category": "DW recent active",
+  "email": "info@glitterwalls.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "glitterwalls",
+    "handle_fallbacks": [
+      "glitterwallsco",
+      "shopglitterwall",
+      "glitterwall_"
+    ],
+    "display_name": "glitterwalls",
+    "bio": "Metallic, mica & glitter wallcoverings — statement-grade finishes for the wall that has to do the work. Free designer samples.",
+    "first_posts": [
+      "glitterwalls — metallic, mica & glitter wallcoverings for the wall that has to do the work. Free designer samples. https://glitterwalls.com",
+      "Statement-grade finish without the prima-donna install. Vinyl-backed for ease, metallic for impact, free samples for confidence.",
+      "Mica, glass-beaded, hand-leafed. Every finish hand-sampled, free to the trade. https://glitterwalls.com"
+    ]
+  },
+  "ig": {
+    "handle_primary": "glitterwalls",
+    "handle_fallbacks": [
+      "glitterwalls.co",
+      "shopglitterwall",
+      "glitter.walls"
+    ],
+    "display_name": "glitterwalls",
+    "bio": "Metallic, mica & glitter wallcoverings.\nFor the wall that has to do the work.\nFree designer samples ↓",
+    "first_posts": [
+      "Metallic, mica, glitter — for the wall that has to do the work. #glitterwalls #wallcovering",
+      "Statement-grade finish, civil install. #micawallpaper #luxuryinterior",
+      "Hand-sampled, free to the trade. Link in bio. #interiordesigner"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Macro of gold-mica wallcovering catching a pin-light. 400×400.",
+    "header_1500x500": "Three vertical metallic swatches side-by-side — gold, silver-blue, copper.",
+    "ig_header_1080x566": "Crop of metallic swatch hero."
+  },
+  "generated_at": "2026-05-11T23:47:59.746Z"
+}
\ No newline at end of file
diff --git a/glitterwalls.com/x-bio.txt b/glitterwalls.com/x-bio.txt
new file mode 100644
index 0000000..55c4d0d
--- /dev/null
+++ b/glitterwalls.com/x-bio.txt
@@ -0,0 +1 @@
+Metallic, mica & glitter wallcoverings — statement-grade finishes for the wall that has to do the work. Free designer samples.
diff --git a/glitterwalls.com/x-display-name.txt b/glitterwalls.com/x-display-name.txt
new file mode 100644
index 0000000..ea65221
--- /dev/null
+++ b/glitterwalls.com/x-display-name.txt
@@ -0,0 +1 @@
+glitterwalls
diff --git a/glitterwalls.com/x-first-3-posts.md b/glitterwalls.com/x-first-3-posts.md
new file mode 100644
index 0000000..8177a9d
--- /dev/null
+++ b/glitterwalls.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for glitterwalls.com
+
+## Post 1 (139/280)
+
+glitterwalls — metallic, mica & glitter wallcoverings for the wall that has to do the work. Free designer samples. https://glitterwalls.com
+
+---
+
+## Post 2 (128/280)
+
+Statement-grade finish without the prima-donna install. Vinyl-backed for ease, metallic for impact, free samples for confidence.
+
+---
+
+## Post 3 (103/280)
+
+Mica, glass-beaded, hand-leafed. Every finish hand-sampled, free to the trade. https://glitterwalls.com
diff --git a/glitterwalls.com/x-handle-candidates.txt b/glitterwalls.com/x-handle-candidates.txt
new file mode 100644
index 0000000..3341e37
--- /dev/null
+++ b/glitterwalls.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @glitterwalls
+FALLBACKS:
+  @glitterwallsco
+  @shopglitterwall
+  @glitterwall_
diff --git a/ig-account-checklist.md b/ig-account-checklist.md
new file mode 100644
index 0000000..6dad7a8
--- /dev/null
+++ b/ig-account-checklist.md
@@ -0,0 +1,56 @@
+# Instagram signup — per-brand walkthrough
+
+**Time per account:** ~15–20 min including phone verification.
+**Recommended setup:** Instagram strongly prefers **mobile signups** over desktop — far fewer challenges. Use the IG app on a phone for first signup, then switch to a desktop browser for ongoing management. Fresh device-state isn't required, but fresh-WiFi-IP helps.
+
+## What Instagram currently requires (May 2026)
+
+- Working **phone number** (SMS verification on most signups)
+- **Email** — use `info@<domain>` (already provisioned in Purelymail)
+- **Date of birth** — Steve's actual DOB
+- **Full name** — Steve's actual legal name (IG ToS — display name shown publicly is separate)
+- After signup: **switch to Business account** for analytics + scheduled posts (Settings → Account type → Switch to Business)
+
+## Per-account checklist
+
+For each brand under this directory:
+
+1. Open the **Instagram app on your phone** (not a desktop browser). Use a private mode or log out of existing accounts first.
+2. Tap **Create new account**
+3. **Phone or email:** use `info@<brand-domain>` — verify via Purelymail Web UI at https://purelymail.com
+4. **Full name:** Steve's actual legal name
+5. **Username:** try primary from `<brand>/ig-handle-candidates.txt`. If taken, fallbacks in order.
+6. **Password:** use `$X_DEFAULT_PASSWORD` (same password as X — fine for IG too, the secrets-manager entry is shared)
+7. **DOB:** actual
+8. **Phone verification:** wait for SMS, enter code
+9. After landing in home feed: tap **Profile → Edit profile**
+   - **Name (display, 30 chars):** paste from `<brand>/ig-display-name.txt`
+   - **Username:** the @handle you claimed in step 5
+   - **Pronouns:** skip (brand account)
+   - **Bio:** paste from `<brand>/ig-bio.txt` (already ≤150 chars; multi-line is OK in IG bios)
+   - **Links → Add link:** paste from `<brand>/link-in-bio.json` — IG now supports up to 5 links in bio natively, no Linktree needed
+   - **Profile photo:** upload per `<brand>/image-specs.md`
+10. **Switch to Business:** Settings → Account type → Switch to Business → pick category (Shopping & Retail or Product/Service)
+11. **First post:** copy Post 1 from `<brand>/ig-first-3-posts.md`. Use a vertical image (1080×1350) or carousel. Schedule Posts 2 & 3 via Meta Business Suite (https://business.facebook.com).
+
+## Connect to Meta Business Manager (recommended)
+
+Once IG is Business-account, link to the existing Meta Business Manager that Norma uses:
+
+1. Meta Business Suite → Business Settings → Accounts → Instagram accounts → Add → Connect via username/password.
+2. Now Norma's Graph-API posting infrastructure can post to the new account too (per `instagram-account-manager` skill, single-account at a time).
+
+## After signup — record into Steve's registry
+
+```bash
+node ~/Projects/secrets-manager/cli.js add IG_HANDLE_<DOMAIN_UPPER> @<actual-handle-claimed>
+# example:
+node ~/Projects/secrets-manager/cli.js add IG_HANDLE_NOVASUEDE_COM @novasuede
+```
+
+## Don't
+
+- Don't sign up multiple IG accounts from the same WiFi in <2 hours. IG's graph correlation flags this within minutes.
+- Don't use the same profile photo across multiple accounts — reverse-image-search by IG's anti-spam = instant ban for the cluster.
+- Don't follow-yourself across all your own accounts in the first week. Mix in 5–10 real industry follows per account first (designers, brands, trade publications).
+- Don't post the same caption verbatim across multiple brand accounts — IG dedups "engagement bait" by text.
diff --git a/losangelesfabrics.com/credentials-template.txt b/losangelesfabrics.com/credentials-template.txt
new file mode 100644
index 0000000..ad33ee7
--- /dev/null
+++ b/losangelesfabrics.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# losangelesfabrics.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@losangelesfabrics.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @LAFabricsCo     (fallbacks: @losangelesfab, @shopLAFabrics, @LAFabricsTrade)
+IG handle:    @losangelesfabrics    (fallbacks: @losangeles.fabrics, @lafabrics.co, @shoplafabrics)
diff --git a/losangelesfabrics.com/ig-bio.txt b/losangelesfabrics.com/ig-bio.txt
new file mode 100644
index 0000000..b34def5
--- /dev/null
+++ b/losangelesfabrics.com/ig-bio.txt
@@ -0,0 +1,2 @@
+Trade fabric source — drapery, upholstery, performance.
+LA-direct · 70+ houses · free samples ↓
diff --git a/losangelesfabrics.com/ig-display-name.txt b/losangelesfabrics.com/ig-display-name.txt
new file mode 100644
index 0000000..02aa0a6
--- /dev/null
+++ b/losangelesfabrics.com/ig-display-name.txt
@@ -0,0 +1 @@
+Los Angeles Fabrics
diff --git a/losangelesfabrics.com/ig-first-3-posts.md b/losangelesfabrics.com/ig-first-3-posts.md
new file mode 100644
index 0000000..e9b7da8
--- /dev/null
+++ b/losangelesfabrics.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for losangelesfabrics.com
+
+## Post 1
+
+Los Angeles Fabrics — trade-direct, LA-shipped, free samples on every reference. #fabric #interiordesigner
+
+---
+
+## Post 2
+
+70+ houses, one ordering experience. #drapery #upholstery #performancefabric
+
+---
+
+## Post 3
+
+Crypton · Sunbrella · Maharam · Designtex — link in bio. #trade
diff --git a/losangelesfabrics.com/ig-handle-candidates.txt b/losangelesfabrics.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..f0511fc
--- /dev/null
+++ b/losangelesfabrics.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @losangelesfabrics
+FALLBACKS:
+  @losangeles.fabrics
+  @lafabrics.co
+  @shoplafabrics
diff --git a/losangelesfabrics.com/image-specs.md b/losangelesfabrics.com/image-specs.md
new file mode 100644
index 0000000..401d8ce
--- /dev/null
+++ b/losangelesfabrics.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for losangelesfabrics.com
+
+## Profile pic (square, 400×400)
+Square swatch-stack — 9 fabric folds in muted tones, top-down. 400×400.
+
+## X header (1500×500)
+Open fabric warehouse: folded bolts on shelving, warm LA window light.
+
+## IG header / first-grid (1080×566)
+Cropped warehouse hero.
diff --git a/losangelesfabrics.com/link-in-bio.json b/losangelesfabrics.com/link-in-bio.json
new file mode 100644
index 0000000..989347a
--- /dev/null
+++ b/losangelesfabrics.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "Los Angeles Fabrics",
+  "domain": "losangelesfabrics.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://losangelesfabrics.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://losangelesfabrics.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@losangelesfabrics.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/losangelesfabrics.com/profile.json b/losangelesfabrics.com/profile.json
new file mode 100644
index 0000000..ec5229b
--- /dev/null
+++ b/losangelesfabrics.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "losangelesfabrics.com",
+  "stem": "losangelesfabrics",
+  "category": "DW recent ship",
+  "email": "info@losangelesfabrics.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "LAFabricsCo",
+    "handle_fallbacks": [
+      "losangelesfab",
+      "shopLAFabrics",
+      "LAFabricsTrade"
+    ],
+    "display_name": "Los Angeles Fabrics",
+    "bio": "Trade fabric source — drapery, upholstery, performance. LA-direct. Free samples, same-day from Sherman Oaks. 70+ houses.",
+    "first_posts": [
+      "Los Angeles Fabrics — trade fabric source for drapery, upholstery & performance. LA-direct, free samples, same-day from Sherman Oaks. https://losangelesfabrics.com",
+      "70+ fabric houses under one trade ordering experience. Free designer samples on every reference. Honest lead times, real customer service.",
+      "Performance fabrics for hospitality & high-traffic residential — Crypton, Sunbrella, Maharam, Designtex. Free samples. https://losangelesfabrics.com"
+    ]
+  },
+  "ig": {
+    "handle_primary": "losangelesfabrics",
+    "handle_fallbacks": [
+      "losangeles.fabrics",
+      "lafabrics.co",
+      "shoplafabrics"
+    ],
+    "display_name": "Los Angeles Fabrics",
+    "bio": "Trade fabric source — drapery, upholstery, performance.\nLA-direct · 70+ houses · free samples ↓",
+    "first_posts": [
+      "Los Angeles Fabrics — trade-direct, LA-shipped, free samples on every reference. #fabric #interiordesigner",
+      "70+ houses, one ordering experience. #drapery #upholstery #performancefabric",
+      "Crypton · Sunbrella · Maharam · Designtex — link in bio. #trade"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Square swatch-stack — 9 fabric folds in muted tones, top-down. 400×400.",
+    "header_1500x500": "Open fabric warehouse: folded bolts on shelving, warm LA window light.",
+    "ig_header_1080x566": "Cropped warehouse hero."
+  },
+  "generated_at": "2026-05-11T23:47:59.748Z"
+}
\ No newline at end of file
diff --git a/losangelesfabrics.com/x-bio.txt b/losangelesfabrics.com/x-bio.txt
new file mode 100644
index 0000000..a01b2aa
--- /dev/null
+++ b/losangelesfabrics.com/x-bio.txt
@@ -0,0 +1 @@
+Trade fabric source — drapery, upholstery, performance. LA-direct. Free samples, same-day from Sherman Oaks. 70+ houses.
diff --git a/losangelesfabrics.com/x-display-name.txt b/losangelesfabrics.com/x-display-name.txt
new file mode 100644
index 0000000..02aa0a6
--- /dev/null
+++ b/losangelesfabrics.com/x-display-name.txt
@@ -0,0 +1 @@
+Los Angeles Fabrics
diff --git a/losangelesfabrics.com/x-first-3-posts.md b/losangelesfabrics.com/x-first-3-posts.md
new file mode 100644
index 0000000..9e4e9d5
--- /dev/null
+++ b/losangelesfabrics.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for losangelesfabrics.com
+
+## Post 1 (163/280)
+
+Los Angeles Fabrics — trade fabric source for drapery, upholstery & performance. LA-direct, free samples, same-day from Sherman Oaks. https://losangelesfabrics.com
+
+---
+
+## Post 2 (138/280)
+
+70+ fabric houses under one trade ordering experience. Free designer samples on every reference. Honest lead times, real customer service.
+
+---
+
+## Post 3 (148/280)
+
+Performance fabrics for hospitality & high-traffic residential — Crypton, Sunbrella, Maharam, Designtex. Free samples. https://losangelesfabrics.com
diff --git a/losangelesfabrics.com/x-handle-candidates.txt b/losangelesfabrics.com/x-handle-candidates.txt
new file mode 100644
index 0000000..4260386
--- /dev/null
+++ b/losangelesfabrics.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @LAFabricsCo
+FALLBACKS:
+  @losangelesfab
+  @shopLAFabrics
+  @LAFabricsTrade
diff --git a/nationalpaperhangers.com/credentials-template.txt b/nationalpaperhangers.com/credentials-template.txt
new file mode 100644
index 0000000..2907434
--- /dev/null
+++ b/nationalpaperhangers.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# nationalpaperhangers.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@nationalpaperhangers.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @NatPaperHanger     (fallbacks: @NPHpros, @PaperhangersUS, @NPHinstallers)
+IG handle:    @nationalpaperhangers    (fallbacks: @national.paperhangers, @nph.installers, @shop.nph)
diff --git a/nationalpaperhangers.com/ig-bio.txt b/nationalpaperhangers.com/ig-bio.txt
new file mode 100644
index 0000000..d0792d6
--- /dev/null
+++ b/nationalpaperhangers.com/ig-bio.txt
@@ -0,0 +1,2 @@
+Marketplace for luxury wallcovering installers.
+Verified pros · transparent pricing · every region ↓
diff --git a/nationalpaperhangers.com/ig-display-name.txt b/nationalpaperhangers.com/ig-display-name.txt
new file mode 100644
index 0000000..c0653e8
--- /dev/null
+++ b/nationalpaperhangers.com/ig-display-name.txt
@@ -0,0 +1 @@
+National Paper Hangers
diff --git a/nationalpaperhangers.com/ig-first-3-posts.md b/nationalpaperhangers.com/ig-first-3-posts.md
new file mode 100644
index 0000000..1c7374a
--- /dev/null
+++ b/nationalpaperhangers.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for nationalpaperhangers.com
+
+## Post 1
+
+The marketplace for luxury wallcovering installers. #paperhanger #wallcovering #interiordesigner
+
+---
+
+## Post 2
+
+Designers — find your hanger by region & lead-time. Link in bio. #trade
+
+---
+
+## Post 3
+
+Installers — claim your free listing. Real designer leads, no membership. #wallpaperinstaller
diff --git a/nationalpaperhangers.com/ig-handle-candidates.txt b/nationalpaperhangers.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..3791002
--- /dev/null
+++ b/nationalpaperhangers.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @nationalpaperhangers
+FALLBACKS:
+  @national.paperhangers
+  @nph.installers
+  @shop.nph
diff --git a/nationalpaperhangers.com/image-specs.md b/nationalpaperhangers.com/image-specs.md
new file mode 100644
index 0000000..8866930
--- /dev/null
+++ b/nationalpaperhangers.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for nationalpaperhangers.com
+
+## Profile pic (square, 400×400)
+Square shield-style mark: 'NPH' in white on deep-navy crest. 400×400.
+
+## X header (1500×500)
+Wide shot — installer's hands smoothing a grasscloth seam on a tall wall.
+
+## IG header / first-grid (1080×566)
+Cropped installer hands-at-work hero.
diff --git a/nationalpaperhangers.com/link-in-bio.json b/nationalpaperhangers.com/link-in-bio.json
new file mode 100644
index 0000000..496541f
--- /dev/null
+++ b/nationalpaperhangers.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "National Paper Hangers",
+  "domain": "nationalpaperhangers.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://nationalpaperhangers.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://nationalpaperhangers.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@nationalpaperhangers.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/nationalpaperhangers.com/profile.json b/nationalpaperhangers.com/profile.json
new file mode 100644
index 0000000..3963a08
--- /dev/null
+++ b/nationalpaperhangers.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "nationalpaperhangers.com",
+  "stem": "nationalpaperhangers",
+  "category": "NPH production live",
+  "email": "info@nationalpaperhangers.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "NatPaperHanger",
+    "handle_fallbacks": [
+      "NPHpros",
+      "PaperhangersUS",
+      "NPHinstallers"
+    ],
+    "display_name": "National Paper Hangers",
+    "bio": "The marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. Designers — find your hanger.",
+    "first_posts": [
+      "National Paper Hangers — the marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. https://nationalpaperhangers.com",
+      "Designers: stop calling 4 hangers for one quote. Post the job, see verified installers in your region, pick on lead-time and reputation.",
+      "Installers: claim your free listing. Real designer leads, no membership fee, no per-lead pricing. https://nationalpaperhangers.com/claim"
+    ]
+  },
+  "ig": {
+    "handle_primary": "nationalpaperhangers",
+    "handle_fallbacks": [
+      "national.paperhangers",
+      "nph.installers",
+      "shop.nph"
+    ],
+    "display_name": "National Paper Hangers",
+    "bio": "Marketplace for luxury wallcovering installers.\nVerified pros · transparent pricing · every region ↓",
+    "first_posts": [
+      "The marketplace for luxury wallcovering installers. #paperhanger #wallcovering #interiordesigner",
+      "Designers — find your hanger by region & lead-time. Link in bio. #trade",
+      "Installers — claim your free listing. Real designer leads, no membership. #wallpaperinstaller"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Square shield-style mark: 'NPH' in white on deep-navy crest. 400×400.",
+    "header_1500x500": "Wide shot — installer's hands smoothing a grasscloth seam on a tall wall.",
+    "ig_header_1080x566": "Cropped installer hands-at-work hero."
+  },
+  "generated_at": "2026-05-11T23:47:59.749Z"
+}
\ No newline at end of file
diff --git a/nationalpaperhangers.com/x-bio.txt b/nationalpaperhangers.com/x-bio.txt
new file mode 100644
index 0000000..aed4d2e
--- /dev/null
+++ b/nationalpaperhangers.com/x-bio.txt
@@ -0,0 +1 @@
+The marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. Designers — find your hanger.
diff --git a/nationalpaperhangers.com/x-display-name.txt b/nationalpaperhangers.com/x-display-name.txt
new file mode 100644
index 0000000..c0653e8
--- /dev/null
+++ b/nationalpaperhangers.com/x-display-name.txt
@@ -0,0 +1 @@
+National Paper Hangers
diff --git a/nationalpaperhangers.com/x-first-3-posts.md b/nationalpaperhangers.com/x-first-3-posts.md
new file mode 100644
index 0000000..293e44e
--- /dev/null
+++ b/nationalpaperhangers.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for nationalpaperhangers.com
+
+## Post 1 (159/280)
+
+National Paper Hangers — the marketplace for luxury wallcovering installers. Verified pros, transparent pricing, every region. https://nationalpaperhangers.com
+
+---
+
+## Post 2 (136/280)
+
+Designers: stop calling 4 hangers for one quote. Post the job, see verified installers in your region, pick on lead-time and reputation.
+
+---
+
+## Post 3 (136/280)
+
+Installers: claim your free listing. Real designer leads, no membership fee, no per-lead pricing. https://nationalpaperhangers.com/claim
diff --git a/nationalpaperhangers.com/x-handle-candidates.txt b/nationalpaperhangers.com/x-handle-candidates.txt
new file mode 100644
index 0000000..c19f859
--- /dev/null
+++ b/nationalpaperhangers.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @NatPaperHanger
+FALLBACKS:
+  @NPHpros
+  @PaperhangersUS
+  @NPHinstallers
diff --git a/novasuede.com/credentials-template.txt b/novasuede.com/credentials-template.txt
new file mode 100644
index 0000000..84063da
--- /dev/null
+++ b/novasuede.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# novasuede.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@novasuede.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @novasuede     (fallbacks: @novasuedeofficial, @shopnovasuede, @novasuedeUS)
+IG handle:    @novasuede    (fallbacks: @novasuede.official, @shopnovasuede, @novasuede.us)
diff --git a/novasuede.com/ig-bio.txt b/novasuede.com/ig-bio.txt
new file mode 100644
index 0000000..1cb4103
--- /dev/null
+++ b/novasuede.com/ig-bio.txt
@@ -0,0 +1,3 @@
+Performance suede wallcovering.
+Tactile luxury, engineered durability.
+Free designer samples ↓
diff --git a/novasuede.com/ig-display-name.txt b/novasuede.com/ig-display-name.txt
new file mode 100644
index 0000000..a52a218
--- /dev/null
+++ b/novasuede.com/ig-display-name.txt
@@ -0,0 +1 @@
+novasuede
diff --git a/novasuede.com/ig-first-3-posts.md b/novasuede.com/ig-first-3-posts.md
new file mode 100644
index 0000000..721a6f0
--- /dev/null
+++ b/novasuede.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for novasuede.com
+
+## Post 1
+
+novasuede — performance suede wallcovering for the spaces suede has never been allowed. #suede #wallcovering #luxuryinterior
+
+---
+
+## Post 2
+
+The depth a print can't fake. The performance suede has never had. #novasuede #performancetextile
+
+---
+
+## Post 3
+
+Samples ship same day. Trade pricing. Link in bio. #interiordesigner #wallcovering
diff --git a/novasuede.com/ig-handle-candidates.txt b/novasuede.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..15ddad4
--- /dev/null
+++ b/novasuede.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @novasuede
+FALLBACKS:
+  @novasuede.official
+  @shopnovasuede
+  @novasuede.us
diff --git a/novasuede.com/image-specs.md b/novasuede.com/image-specs.md
new file mode 100644
index 0000000..d4bda1c
--- /dev/null
+++ b/novasuede.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for novasuede.com
+
+## Profile pic (square, 400×400)
+Tight macro of charcoal suede grain, faint 'ns' monogram bottom-right. 400×400.
+
+## X header (1500×500)
+Hero from novasuede.com — full-bleed suede swatch wall, raking light.
+
+## IG header / first-grid (1080×566)
+Crop of header to 1080×566.
diff --git a/novasuede.com/link-in-bio.json b/novasuede.com/link-in-bio.json
new file mode 100644
index 0000000..33e010c
--- /dev/null
+++ b/novasuede.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "novasuede",
+  "domain": "novasuede.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://novasuede.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://novasuede.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@novasuede.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/novasuede.com/profile.json b/novasuede.com/profile.json
new file mode 100644
index 0000000..b95f0ca
--- /dev/null
+++ b/novasuede.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "novasuede.com",
+  "stem": "novasuede",
+  "category": "DW canonical UX template",
+  "email": "info@novasuede.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "novasuede",
+    "handle_fallbacks": [
+      "novasuedeofficial",
+      "shopnovasuede",
+      "novasuedeUS"
+    ],
+    "display_name": "novasuede",
+    "bio": "Performance suede wallcovering — tactile luxury, engineered durability. Free designer samples. Made for hospitality, residential & trade.",
+    "first_posts": [
+      "novasuede — the suede wallcovering you can specify in places suede has never been allowed. Performance-grade, designer-loved. https://novasuede.com",
+      "Why suede on walls: depth, sound dampening, and a tactility no print achieves. Why novasuede: it's actually spec-able. Free designer samples → link.",
+      "Samples ship same day in LA. Every colorway hand-loomed. Trade-only pricing. https://novasuede.com/samples"
+    ]
+  },
+  "ig": {
+    "handle_primary": "novasuede",
+    "handle_fallbacks": [
+      "novasuede.official",
+      "shopnovasuede",
+      "novasuede.us"
+    ],
+    "display_name": "novasuede",
+    "bio": "Performance suede wallcovering.\nTactile luxury, engineered durability.\nFree designer samples ↓",
+    "first_posts": [
+      "novasuede — performance suede wallcovering for the spaces suede has never been allowed. #suede #wallcovering #luxuryinterior",
+      "The depth a print can't fake. The performance suede has never had. #novasuede #performancetextile",
+      "Samples ship same day. Trade pricing. Link in bio. #interiordesigner #wallcovering"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Tight macro of charcoal suede grain, faint 'ns' monogram bottom-right. 400×400.",
+    "header_1500x500": "Hero from novasuede.com — full-bleed suede swatch wall, raking light.",
+    "ig_header_1080x566": "Crop of header to 1080×566."
+  },
+  "generated_at": "2026-05-11T23:47:59.741Z"
+}
\ No newline at end of file
diff --git a/novasuede.com/x-bio.txt b/novasuede.com/x-bio.txt
new file mode 100644
index 0000000..473e973
--- /dev/null
+++ b/novasuede.com/x-bio.txt
@@ -0,0 +1 @@
+Performance suede wallcovering — tactile luxury, engineered durability. Free designer samples. Made for hospitality, residential & trade.
diff --git a/novasuede.com/x-display-name.txt b/novasuede.com/x-display-name.txt
new file mode 100644
index 0000000..a52a218
--- /dev/null
+++ b/novasuede.com/x-display-name.txt
@@ -0,0 +1 @@
+novasuede
diff --git a/novasuede.com/x-first-3-posts.md b/novasuede.com/x-first-3-posts.md
new file mode 100644
index 0000000..2624b5c
--- /dev/null
+++ b/novasuede.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for novasuede.com
+
+## Post 1 (147/280)
+
+novasuede — the suede wallcovering you can specify in places suede has never been allowed. Performance-grade, designer-loved. https://novasuede.com
+
+---
+
+## Post 2 (148/280)
+
+Why suede on walls: depth, sound dampening, and a tactility no print achieves. Why novasuede: it's actually spec-able. Free designer samples → link.
+
+---
+
+## Post 3 (106/280)
+
+Samples ship same day in LA. Every colorway hand-loomed. Trade-only pricing. https://novasuede.com/samples
diff --git a/novasuede.com/x-handle-candidates.txt b/novasuede.com/x-handle-candidates.txt
new file mode 100644
index 0000000..6988203
--- /dev/null
+++ b/novasuede.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @novasuede
+FALLBACKS:
+  @novasuedeofficial
+  @shopnovasuede
+  @novasuedeUS
diff --git a/philipperomano.com/credentials-template.txt b/philipperomano.com/credentials-template.txt
new file mode 100644
index 0000000..7520d6c
--- /dev/null
+++ b/philipperomano.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# philipperomano.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@philipperomano.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @philipperomano     (fallbacks: @pr_atelier, @philipperomano_, @shopromano)
+IG handle:    @philipperomano    (fallbacks: @philipperomano.atelier, @philipperomano.us, @atelier.philipperomano)
diff --git a/philipperomano.com/ig-bio.txt b/philipperomano.com/ig-bio.txt
new file mode 100644
index 0000000..6a006be
--- /dev/null
+++ b/philipperomano.com/ig-bio.txt
@@ -0,0 +1,3 @@
+Hand-finished wallcoverings from the atelier.
+Small-batch · design-led · trade-direct.
+Free samples ↓
diff --git a/philipperomano.com/ig-display-name.txt b/philipperomano.com/ig-display-name.txt
new file mode 100644
index 0000000..f85ccd1
--- /dev/null
+++ b/philipperomano.com/ig-display-name.txt
@@ -0,0 +1 @@
+Philippe Romano
diff --git a/philipperomano.com/ig-first-3-posts.md b/philipperomano.com/ig-first-3-posts.md
new file mode 100644
index 0000000..512ee36
--- /dev/null
+++ b/philipperomano.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for philipperomano.com
+
+## Post 1
+
+Hand-finished wallcoverings, made in small batches. Welcome to the Philippe Romano atelier. #wallcovering #atelier #handfinished
+
+---
+
+## Post 2
+
+Each colorway hand-tuned before it ships. No filler — only patterns we'd specify ourselves. #philipperomano
+
+---
+
+## Post 3
+
+East-Coast collection — beach-town patterns, atelier-grade ground. Link in bio. #interiordesigner #trade
diff --git a/philipperomano.com/ig-handle-candidates.txt b/philipperomano.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..b2b04b0
--- /dev/null
+++ b/philipperomano.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @philipperomano
+FALLBACKS:
+  @philipperomano.atelier
+  @philipperomano.us
+  @atelier.philipperomano
diff --git a/philipperomano.com/image-specs.md b/philipperomano.com/image-specs.md
new file mode 100644
index 0000000..93594df
--- /dev/null
+++ b/philipperomano.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for philipperomano.com
+
+## Profile pic (square, 400×400)
+Wax-seal-style 'PR' monogram in deep wine on cream. 400×400.
+
+## X header (1500×500)
+Hand-painting in progress — brush, pattern, paper roll, soft window light.
+
+## IG header / first-grid (1080×566)
+Cropped atelier-bench top-down shot.
diff --git a/philipperomano.com/link-in-bio.json b/philipperomano.com/link-in-bio.json
new file mode 100644
index 0000000..b1b59be
--- /dev/null
+++ b/philipperomano.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "Philippe Romano",
+  "domain": "philipperomano.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://philipperomano.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://philipperomano.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@philipperomano.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/philipperomano.com/profile.json b/philipperomano.com/profile.json
new file mode 100644
index 0000000..795583b
--- /dev/null
+++ b/philipperomano.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "philipperomano.com",
+  "stem": "philipperomano",
+  "category": "DW premium private label",
+  "email": "info@philipperomano.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "philipperomano",
+    "handle_fallbacks": [
+      "pr_atelier",
+      "philipperomano_",
+      "shopromano"
+    ],
+    "display_name": "Philippe Romano",
+    "bio": "Hand-finished wallcoverings from the atelier. Small-batch, design-led, trade-direct. Free samples. East-Coast collection now shipping.",
+    "first_posts": [
+      "Welcome to the Philippe Romano atelier — hand-finished wallcoverings, small batches, design-led pattern. Free samples on every reference. https://philipperomano.com",
+      "Each colorway is hand-tuned before it ships. We don't carry filler, only the patterns we'd specify ourselves. Trade-direct, no middle layer.",
+      "The East-Coast collection — beach-town patterns rendered in atelier-grade ground. Now sampling free to the trade. https://philipperomano.com"
+    ]
+  },
+  "ig": {
+    "handle_primary": "philipperomano",
+    "handle_fallbacks": [
+      "philipperomano.atelier",
+      "philipperomano.us",
+      "atelier.philipperomano"
+    ],
+    "display_name": "Philippe Romano",
+    "bio": "Hand-finished wallcoverings from the atelier.\nSmall-batch · design-led · trade-direct.\nFree samples ↓",
+    "first_posts": [
+      "Hand-finished wallcoverings, made in small batches. Welcome to the Philippe Romano atelier. #wallcovering #atelier #handfinished",
+      "Each colorway hand-tuned before it ships. No filler — only patterns we'd specify ourselves. #philipperomano",
+      "East-Coast collection — beach-town patterns, atelier-grade ground. Link in bio. #interiordesigner #trade"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Wax-seal-style 'PR' monogram in deep wine on cream. 400×400.",
+    "header_1500x500": "Hand-painting in progress — brush, pattern, paper roll, soft window light.",
+    "ig_header_1080x566": "Cropped atelier-bench top-down shot."
+  },
+  "generated_at": "2026-05-11T23:47:59.742Z"
+}
\ No newline at end of file
diff --git a/philipperomano.com/x-bio.txt b/philipperomano.com/x-bio.txt
new file mode 100644
index 0000000..b4bef6b
--- /dev/null
+++ b/philipperomano.com/x-bio.txt
@@ -0,0 +1 @@
+Hand-finished wallcoverings from the atelier. Small-batch, design-led, trade-direct. Free samples. East-Coast collection now shipping.
diff --git a/philipperomano.com/x-display-name.txt b/philipperomano.com/x-display-name.txt
new file mode 100644
index 0000000..f85ccd1
--- /dev/null
+++ b/philipperomano.com/x-display-name.txt
@@ -0,0 +1 @@
+Philippe Romano
diff --git a/philipperomano.com/x-first-3-posts.md b/philipperomano.com/x-first-3-posts.md
new file mode 100644
index 0000000..ad7cf54
--- /dev/null
+++ b/philipperomano.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for philipperomano.com
+
+## Post 1 (164/280)
+
+Welcome to the Philippe Romano atelier — hand-finished wallcoverings, small batches, design-led pattern. Free samples on every reference. https://philipperomano.com
+
+---
+
+## Post 2 (140/280)
+
+Each colorway is hand-tuned before it ships. We don't carry filler, only the patterns we'd specify ourselves. Trade-direct, no middle layer.
+
+---
+
+## Post 3 (140/280)
+
+The East-Coast collection — beach-town patterns rendered in atelier-grade ground. Now sampling free to the trade. https://philipperomano.com
diff --git a/philipperomano.com/x-handle-candidates.txt b/philipperomano.com/x-handle-candidates.txt
new file mode 100644
index 0000000..7fbd95e
--- /dev/null
+++ b/philipperomano.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @philipperomano
+FALLBACKS:
+  @pr_atelier
+  @philipperomano_
+  @shopromano
diff --git a/silkwallpaper.com/credentials-template.txt b/silkwallpaper.com/credentials-template.txt
new file mode 100644
index 0000000..74684ab
--- /dev/null
+++ b/silkwallpaper.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# silkwallpaper.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@silkwallpaper.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @silkwallpaper     (fallbacks: @silkwallpaperco, @shopsilkwall, @silkwallcov)
+IG handle:    @silkwallpaper    (fallbacks: @silkwallpaper.co, @shopsilkwall, @silk.wallcovering)
diff --git a/silkwallpaper.com/ig-bio.txt b/silkwallpaper.com/ig-bio.txt
new file mode 100644
index 0000000..bfc19dc
--- /dev/null
+++ b/silkwallpaper.com/ig-bio.txt
@@ -0,0 +1,3 @@
+Hand-loomed silk wallcoverings.
+The highest-spec wall finish in the trade.
+Free designer samples ↓
diff --git a/silkwallpaper.com/ig-display-name.txt b/silkwallpaper.com/ig-display-name.txt
new file mode 100644
index 0000000..8c7c118
--- /dev/null
+++ b/silkwallpaper.com/ig-display-name.txt
@@ -0,0 +1 @@
+silkwallpaper
diff --git a/silkwallpaper.com/ig-first-3-posts.md b/silkwallpaper.com/ig-first-3-posts.md
new file mode 100644
index 0000000..dc6ba1f
--- /dev/null
+++ b/silkwallpaper.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for silkwallpaper.com
+
+## Post 1
+
+Hand-loomed silk wallcoverings. The wall finish that makes a room feel alive. #silk #wallcovering #luxuryinterior
+
+---
+
+## Post 2
+
+The only natural fiber that catches light as it moves with you. #silkwallpaper
+
+---
+
+## Post 3
+
+Strie, dupioni, twill, charmeuse — free samples on every reference. #interiordesigner #trade
diff --git a/silkwallpaper.com/ig-handle-candidates.txt b/silkwallpaper.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..7b32153
--- /dev/null
+++ b/silkwallpaper.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @silkwallpaper
+FALLBACKS:
+  @silkwallpaper.co
+  @shopsilkwall
+  @silk.wallcovering
diff --git a/silkwallpaper.com/image-specs.md b/silkwallpaper.com/image-specs.md
new file mode 100644
index 0000000..8c3b10b
--- /dev/null
+++ b/silkwallpaper.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for silkwallpaper.com
+
+## Profile pic (square, 400×400)
+Tight macro of champagne silk weave catching raking light. 400×400.
+
+## X header (1500×500)
+Silk-bolt edge-on with grosgrain selvage visible, soft chiaroscuro.
+
+## IG header / first-grid (1080×566)
+Crop of silk catching afternoon light.
diff --git a/silkwallpaper.com/link-in-bio.json b/silkwallpaper.com/link-in-bio.json
new file mode 100644
index 0000000..406daf9
--- /dev/null
+++ b/silkwallpaper.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "silkwallpaper",
+  "domain": "silkwallpaper.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://silkwallpaper.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://silkwallpaper.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@silkwallpaper.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/silkwallpaper.com/profile.json b/silkwallpaper.com/profile.json
new file mode 100644
index 0000000..18a6fd6
--- /dev/null
+++ b/silkwallpaper.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "silkwallpaper.com",
+  "stem": "silkwallpaper",
+  "category": "DW vertical flagship",
+  "email": "info@silkwallpaper.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "silkwallpaper",
+    "handle_fallbacks": [
+      "silkwallpaperco",
+      "shopsilkwall",
+      "silkwallcov"
+    ],
+    "display_name": "silkwallpaper",
+    "bio": "Hand-loomed silk wallcoverings — the highest-spec wall finish in the trade. Free designer samples. Trade-direct.",
+    "first_posts": [
+      "silkwallpaper — hand-loomed silk wallcoverings, the highest-spec wall finish in the trade. Free designer samples on every reference. https://silkwallpaper.com",
+      "Why silk: the only natural fiber that catches light as it moves with you. The wall finish that makes the room feel alive.",
+      "Trade-direct silk wallcoverings — strie, dupioni, twill, charmeuse. Free samples, no minimums. https://silkwallpaper.com"
+    ]
+  },
+  "ig": {
+    "handle_primary": "silkwallpaper",
+    "handle_fallbacks": [
+      "silkwallpaper.co",
+      "shopsilkwall",
+      "silk.wallcovering"
+    ],
+    "display_name": "silkwallpaper",
+    "bio": "Hand-loomed silk wallcoverings.\nThe highest-spec wall finish in the trade.\nFree designer samples ↓",
+    "first_posts": [
+      "Hand-loomed silk wallcoverings. The wall finish that makes a room feel alive. #silk #wallcovering #luxuryinterior",
+      "The only natural fiber that catches light as it moves with you. #silkwallpaper",
+      "Strie, dupioni, twill, charmeuse — free samples on every reference. #interiordesigner #trade"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Tight macro of champagne silk weave catching raking light. 400×400.",
+    "header_1500x500": "Silk-bolt edge-on with grosgrain selvage visible, soft chiaroscuro.",
+    "ig_header_1080x566": "Crop of silk catching afternoon light."
+  },
+  "generated_at": "2026-05-11T23:47:59.744Z"
+}
\ No newline at end of file
diff --git a/silkwallpaper.com/x-bio.txt b/silkwallpaper.com/x-bio.txt
new file mode 100644
index 0000000..d9d6dce
--- /dev/null
+++ b/silkwallpaper.com/x-bio.txt
@@ -0,0 +1 @@
+Hand-loomed silk wallcoverings — the highest-spec wall finish in the trade. Free designer samples. Trade-direct.
diff --git a/silkwallpaper.com/x-display-name.txt b/silkwallpaper.com/x-display-name.txt
new file mode 100644
index 0000000..8c7c118
--- /dev/null
+++ b/silkwallpaper.com/x-display-name.txt
@@ -0,0 +1 @@
+silkwallpaper
diff --git a/silkwallpaper.com/x-first-3-posts.md b/silkwallpaper.com/x-first-3-posts.md
new file mode 100644
index 0000000..236f479
--- /dev/null
+++ b/silkwallpaper.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for silkwallpaper.com
+
+## Post 1 (158/280)
+
+silkwallpaper — hand-loomed silk wallcoverings, the highest-spec wall finish in the trade. Free designer samples on every reference. https://silkwallpaper.com
+
+---
+
+## Post 2 (121/280)
+
+Why silk: the only natural fiber that catches light as it moves with you. The wall finish that makes the room feel alive.
+
+---
+
+## Post 3 (120/280)
+
+Trade-direct silk wallcoverings — strie, dupioni, twill, charmeuse. Free samples, no minimums. https://silkwallpaper.com
diff --git a/silkwallpaper.com/x-handle-candidates.txt b/silkwallpaper.com/x-handle-candidates.txt
new file mode 100644
index 0000000..bd8a83a
--- /dev/null
+++ b/silkwallpaper.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @silkwallpaper
+FALLBACKS:
+  @silkwallpaperco
+  @shopsilkwall
+  @silkwallcov
diff --git a/venturaclaw.com/credentials-template.txt b/venturaclaw.com/credentials-template.txt
new file mode 100644
index 0000000..2b4ed35
--- /dev/null
+++ b/venturaclaw.com/credentials-template.txt
@@ -0,0 +1,10 @@
+# venturaclaw.com — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@venturaclaw.com     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @venturaclaw     (fallbacks: @venturaclawleads, @vclaw_, @venturaclawco)
+IG handle:    @venturaclaw    (fallbacks: @ventura.claw, @venturaclawleads, @vclaw.co)
diff --git a/venturaclaw.com/ig-bio.txt b/venturaclaw.com/ig-bio.txt
new file mode 100644
index 0000000..6ca191f
--- /dev/null
+++ b/venturaclaw.com/ig-bio.txt
@@ -0,0 +1,3 @@
+Lead routing for Ventura Blvd small business.
+8 verticals · neighborhood-only · no spam.
+Claim your listing ↓
diff --git a/venturaclaw.com/ig-display-name.txt b/venturaclaw.com/ig-display-name.txt
new file mode 100644
index 0000000..2aa2b3d
--- /dev/null
+++ b/venturaclaw.com/ig-display-name.txt
@@ -0,0 +1 @@
+Ventura Claw
diff --git a/venturaclaw.com/ig-first-3-posts.md b/venturaclaw.com/ig-first-3-posts.md
new file mode 100644
index 0000000..718e34b
--- /dev/null
+++ b/venturaclaw.com/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for venturaclaw.com
+
+## Post 1
+
+Ventura Claw — lead routing for Ventura Blvd small business. #venturablvd #shermanoaks #smallbusiness
+
+---
+
+## Post 2
+
+8 verticals, neighborhood-only. No lead-broker cut. #shoplocal
+
+---
+
+## Post 3
+
+Restaurants, salons, gyms, pet care — claim your free listing. Link in bio. #venturacorridor
diff --git a/venturaclaw.com/ig-handle-candidates.txt b/venturaclaw.com/ig-handle-candidates.txt
new file mode 100644
index 0000000..1ebba9b
--- /dev/null
+++ b/venturaclaw.com/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @venturaclaw
+FALLBACKS:
+  @ventura.claw
+  @venturaclawleads
+  @vclaw.co
diff --git a/venturaclaw.com/image-specs.md b/venturaclaw.com/image-specs.md
new file mode 100644
index 0000000..e4de63f
--- /dev/null
+++ b/venturaclaw.com/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for venturaclaw.com
+
+## Profile pic (square, 400×400)
+Square: stylized claw mark in mustard on charcoal. 400×400.
+
+## X header (1500×500)
+Wide Ventura Blvd street scene at golden hour — palm tops, storefronts.
+
+## IG header / first-grid (1080×566)
+Cropped Ventura Blvd hero.
diff --git a/venturaclaw.com/link-in-bio.json b/venturaclaw.com/link-in-bio.json
new file mode 100644
index 0000000..385d09f
--- /dev/null
+++ b/venturaclaw.com/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "Ventura Claw",
+  "domain": "venturaclaw.com",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://venturaclaw.com"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://venturaclaw.com/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@venturaclaw.com"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/venturaclaw.com/profile.json b/venturaclaw.com/profile.json
new file mode 100644
index 0000000..485f22d
--- /dev/null
+++ b/venturaclaw.com/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "venturaclaw.com",
+  "stem": "venturaclaw",
+  "category": "Ventura Claw Leads (non-DW)",
+  "email": "info@venturaclaw.com",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "venturaclaw",
+    "handle_fallbacks": [
+      "venturaclawleads",
+      "vclaw_",
+      "venturaclawco"
+    ],
+    "display_name": "Ventura Claw",
+    "bio": "Lead routing for Ventura Blvd small business — food, beauty, retail, fitness, pet, auto, cleaning, creative. Local-only. No spam.",
+    "first_posts": [
+      "Ventura Claw — lead routing for Ventura Blvd small business. 8 verticals, neighborhood-only, no spam. https://venturaclaw.com",
+      "Why we built it: every Ventura Blvd small biz deserves the lead before the lead-broker takes its cut. Local. Direct. No middleman.",
+      "Restaurants, salons, gyms, pet care, auto, cleaning, retail, creative — claim your free listing. https://venturaclaw.com/claim"
+    ]
+  },
+  "ig": {
+    "handle_primary": "venturaclaw",
+    "handle_fallbacks": [
+      "ventura.claw",
+      "venturaclawleads",
+      "vclaw.co"
+    ],
+    "display_name": "Ventura Claw",
+    "bio": "Lead routing for Ventura Blvd small business.\n8 verticals · neighborhood-only · no spam.\nClaim your listing ↓",
+    "first_posts": [
+      "Ventura Claw — lead routing for Ventura Blvd small business. #venturablvd #shermanoaks #smallbusiness",
+      "8 verticals, neighborhood-only. No lead-broker cut. #shoplocal",
+      "Restaurants, salons, gyms, pet care — claim your free listing. Link in bio. #venturacorridor"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Square: stylized claw mark in mustard on charcoal. 400×400.",
+    "header_1500x500": "Wide Ventura Blvd street scene at golden hour — palm tops, storefronts.",
+    "ig_header_1080x566": "Cropped Ventura Blvd hero."
+  },
+  "generated_at": "2026-05-11T23:47:59.751Z"
+}
\ No newline at end of file
diff --git a/venturaclaw.com/x-bio.txt b/venturaclaw.com/x-bio.txt
new file mode 100644
index 0000000..61cb8ab
--- /dev/null
+++ b/venturaclaw.com/x-bio.txt
@@ -0,0 +1 @@
+Lead routing for Ventura Blvd small business — food, beauty, retail, fitness, pet, auto, cleaning, creative. Local-only. No spam.
diff --git a/venturaclaw.com/x-display-name.txt b/venturaclaw.com/x-display-name.txt
new file mode 100644
index 0000000..2aa2b3d
--- /dev/null
+++ b/venturaclaw.com/x-display-name.txt
@@ -0,0 +1 @@
+Ventura Claw
diff --git a/venturaclaw.com/x-first-3-posts.md b/venturaclaw.com/x-first-3-posts.md
new file mode 100644
index 0000000..d06c1ca
--- /dev/null
+++ b/venturaclaw.com/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for venturaclaw.com
+
+## Post 1 (125/280)
+
+Ventura Claw — lead routing for Ventura Blvd small business. 8 verticals, neighborhood-only, no spam. https://venturaclaw.com
+
+---
+
+## Post 2 (130/280)
+
+Why we built it: every Ventura Blvd small biz deserves the lead before the lead-broker takes its cut. Local. Direct. No middleman.
+
+---
+
+## Post 3 (126/280)
+
+Restaurants, salons, gyms, pet care, auto, cleaning, retail, creative — claim your free listing. https://venturaclaw.com/claim
diff --git a/venturaclaw.com/x-handle-candidates.txt b/venturaclaw.com/x-handle-candidates.txt
new file mode 100644
index 0000000..779afd4
--- /dev/null
+++ b/venturaclaw.com/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @venturaclaw
+FALLBACKS:
+  @venturaclawleads
+  @vclaw_
+  @venturaclawco
diff --git a/wallco.ai/credentials-template.txt b/wallco.ai/credentials-template.txt
new file mode 100644
index 0000000..cddca04
--- /dev/null
+++ b/wallco.ai/credentials-template.txt
@@ -0,0 +1,10 @@
+# wallco.ai — social account credentials template
+# NOT a real credential store. Use 1Password / secrets-manager for real values.
+
+Email:        info@wallco.ai     (Purelymail, already provisioned)
+Password env: X_DEFAULT_PASSWORD     (read from ~/Projects/secrets-manager/.env)
+Phone:        <SET AT SIGNUP — use a verified number you own; X requires SMS verification>
+2FA:          recommended → authenticator app, NOT SMS-only
+
+X handle:     @wallco_ai     (fallbacks: @wallcoai, @wallco_design, @wallco_official)
+IG handle:    @wallco.ai    (fallbacks: @wallcoai, @wallco.design, @wallco.official)
diff --git a/wallco.ai/ig-bio.txt b/wallco.ai/ig-bio.txt
new file mode 100644
index 0000000..017a725
--- /dev/null
+++ b/wallco.ai/ig-bio.txt
@@ -0,0 +1,3 @@
+AI wallcovering design.
+Generate · render in your room · order a sample.
+From Designer Wallcoverings ↓
diff --git a/wallco.ai/ig-display-name.txt b/wallco.ai/ig-display-name.txt
new file mode 100644
index 0000000..9165deb
--- /dev/null
+++ b/wallco.ai/ig-display-name.txt
@@ -0,0 +1 @@
+wallco.ai
diff --git a/wallco.ai/ig-first-3-posts.md b/wallco.ai/ig-first-3-posts.md
new file mode 100644
index 0000000..2b1a989
--- /dev/null
+++ b/wallco.ai/ig-first-3-posts.md
@@ -0,0 +1,17 @@
+# Instagram — first 3 posts for wallco.ai
+
+## Post 1
+
+AI wallcovering design — generate, render in your room, order a real sample. #aiart #interiordesign #wallcovering
+
+---
+
+## Post 2
+
+The wallcovering design loop, closed. #generativedesign #aiwallpaper
+
+---
+
+## Post 3
+
+From the team at Designer Wallcoverings. Link in bio. #interiordesigner
diff --git a/wallco.ai/ig-handle-candidates.txt b/wallco.ai/ig-handle-candidates.txt
new file mode 100644
index 0000000..6bc6843
--- /dev/null
+++ b/wallco.ai/ig-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @wallco.ai
+FALLBACKS:
+  @wallcoai
+  @wallco.design
+  @wallco.official
diff --git a/wallco.ai/image-specs.md b/wallco.ai/image-specs.md
new file mode 100644
index 0000000..5555a55
--- /dev/null
+++ b/wallco.ai/image-specs.md
@@ -0,0 +1,10 @@
+# Image specs for wallco.ai
+
+## Profile pic (square, 400×400)
+Square: 'wallco' in low-weight sans on iridescent gradient. 400×400.
+
+## X header (1500×500)
+Grid of 12 AI-generated wallcovering tiles in a single coherent palette.
+
+## IG header / first-grid (1080×566)
+Crop of generated-tile grid.
diff --git a/wallco.ai/link-in-bio.json b/wallco.ai/link-in-bio.json
new file mode 100644
index 0000000..5349db8
--- /dev/null
+++ b/wallco.ai/link-in-bio.json
@@ -0,0 +1,18 @@
+{
+  "title": "wallco.ai",
+  "domain": "wallco.ai",
+  "links": [
+    {
+      "label": "Shop / Visit",
+      "url": "https://wallco.ai"
+    },
+    {
+      "label": "Free designer samples",
+      "url": "https://wallco.ai/samples"
+    },
+    {
+      "label": "Contact",
+      "url": "mailto:info@wallco.ai"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/wallco.ai/profile.json b/wallco.ai/profile.json
new file mode 100644
index 0000000..a205b9b
--- /dev/null
+++ b/wallco.ai/profile.json
@@ -0,0 +1,46 @@
+{
+  "domain": "wallco.ai",
+  "stem": "wallco",
+  "category": "newest brand · AI design tool",
+  "email": "info@wallco.ai",
+  "password_env": "X_DEFAULT_PASSWORD",
+  "location": "Sherman Oaks, CA",
+  "timezone": "America/Los_Angeles",
+  "address": "15442 Ventura Bl #102, Sherman Oaks CA 91403",
+  "x": {
+    "handle_primary": "wallco_ai",
+    "handle_fallbacks": [
+      "wallcoai",
+      "wallco_design",
+      "wallco_official"
+    ],
+    "display_name": "wallco.ai",
+    "bio": "AI wallcovering design — generate, render in your room, order a sample. Designer-grade output. From the team at Designer Wallcoverings.",
+    "first_posts": [
+      "wallco.ai — type a prompt, get a designer-grade wallcovering rendered in your room. Order a real sample. From the team at @DesignerWalls. https://wallco.ai",
+      "Why we built it: every designer has a vision the catalog can't quite match. wallco lets you fill that gap — then orders the actual product.",
+      "Designer-grade output, room-render preview, sample-on-demand. The wallcovering design loop, closed. https://wallco.ai"
+    ]
+  },
+  "ig": {
+    "handle_primary": "wallco.ai",
+    "handle_fallbacks": [
+      "wallcoai",
+      "wallco.design",
+      "wallco.official"
+    ],
+    "display_name": "wallco.ai",
+    "bio": "AI wallcovering design.\nGenerate · render in your room · order a sample.\nFrom Designer Wallcoverings ↓",
+    "first_posts": [
+      "AI wallcovering design — generate, render in your room, order a real sample. #aiart #interiordesign #wallcovering",
+      "The wallcovering design loop, closed. #generativedesign #aiwallpaper",
+      "From the team at Designer Wallcoverings. Link in bio. #interiordesigner"
+    ]
+  },
+  "image_specs": {
+    "profile_pic_400": "Square: 'wallco' in low-weight sans on iridescent gradient. 400×400.",
+    "header_1500x500": "Grid of 12 AI-generated wallcovering tiles in a single coherent palette.",
+    "ig_header_1080x566": "Crop of generated-tile grid."
+  },
+  "generated_at": "2026-05-11T23:47:59.750Z"
+}
\ No newline at end of file
diff --git a/wallco.ai/x-bio.txt b/wallco.ai/x-bio.txt
new file mode 100644
index 0000000..7473852
--- /dev/null
+++ b/wallco.ai/x-bio.txt
@@ -0,0 +1 @@
+AI wallcovering design — generate, render in your room, order a sample. Designer-grade output. From the team at Designer Wallcoverings.
diff --git a/wallco.ai/x-display-name.txt b/wallco.ai/x-display-name.txt
new file mode 100644
index 0000000..9165deb
--- /dev/null
+++ b/wallco.ai/x-display-name.txt
@@ -0,0 +1 @@
+wallco.ai
diff --git a/wallco.ai/x-first-3-posts.md b/wallco.ai/x-first-3-posts.md
new file mode 100644
index 0000000..0dfc981
--- /dev/null
+++ b/wallco.ai/x-first-3-posts.md
@@ -0,0 +1,17 @@
+# X / Twitter — first 3 posts for wallco.ai
+
+## Post 1 (155/280)
+
+wallco.ai — type a prompt, get a designer-grade wallcovering rendered in your room. Order a real sample. From the team at @DesignerWalls. https://wallco.ai
+
+---
+
+## Post 2 (139/280)
+
+Why we built it: every designer has a vision the catalog can't quite match. wallco lets you fill that gap — then orders the actual product.
+
+---
+
+## Post 3 (117/280)
+
+Designer-grade output, room-render preview, sample-on-demand. The wallcovering design loop, closed. https://wallco.ai
diff --git a/wallco.ai/x-handle-candidates.txt b/wallco.ai/x-handle-candidates.txt
new file mode 100644
index 0000000..16be9c4
--- /dev/null
+++ b/wallco.ai/x-handle-candidates.txt
@@ -0,0 +1,5 @@
+PRIMARY: @wallco_ai
+FALLBACKS:
+  @wallcoai
+  @wallco_design
+  @wallco_official
diff --git a/x-account-checklist.md b/x-account-checklist.md
new file mode 100644
index 0000000..2906002
--- /dev/null
+++ b/x-account-checklist.md
@@ -0,0 +1,50 @@
+# X / Twitter signup — per-brand walkthrough
+
+**Time per account:** ~10–15 min including SMS verification + first post.
+**Recommended setup:** fresh browser profile per account (use Chrome > New profile, or the [Multi Account Containers](https://support.mozilla.org/en-US/kb/containers) FF extension) — keeps cookies / fingerprints separate so X doesn't merge accounts.
+
+## What X currently requires (May 2026)
+
+- Working **phone number** (SMS verification — every account, no exceptions since 2024)
+- **Email** — use `info@<domain>` (already provisioned in Purelymail)
+- **Date of birth** — use Steve's actual DOB (per X TOS — fake DOB risks ban)
+- **CAPTCHA** — usually one Arkose/funCaptcha puzzle
+- **Profile pic + header** *not* required to ship, but the account is throttled until you add them
+
+## Per-account checklist
+
+For each brand under this directory:
+
+1. Open a fresh browser profile.
+2. Go to https://x.com/i/flow/signup
+3. **Name:** paste from `<brand>/x-display-name.txt`
+4. **Email:** `info@<brand-domain>` — Purelymail Web UI is at https://purelymail.com if you need to read the verification code
+5. **DOB:** Steve's actual DOB
+6. **Phone:** verify via SMS. Per X TOS, one phone can verify multiple accounts but you'll get challenged after ~3 in a 24-hr window — space them out by ≥6 hours.
+7. After landing in the home feed: click **Profile → Edit profile**
+   - **@handle:** try primary from `<brand>/x-handle-candidates.txt`. If taken, try fallbacks in order. If all are taken, append the year (`2026`) or `_co`.
+   - **Bio:** paste from `<brand>/x-bio.txt` (already ≤160 chars)
+   - **Location:** Sherman Oaks, CA
+   - **Website:** `https://<brand-domain>`
+   - **Profile pic:** upload per `<brand>/image-specs.md`
+   - **Header:** upload per `<brand>/image-specs.md`
+8. **2FA:** Settings → Security → Two-factor authentication → Authenticator app (NOT SMS-only — SMS 2FA is a known compromise vector)
+9. **First post:** copy Post 1 from `<brand>/x-first-3-posts.md`, schedule Posts 2 & 3 for the next 2 days using X's native scheduler.
+10. **Password:** use `$X_DEFAULT_PASSWORD` from `~/Projects/secrets-manager/.env`. Or read with: `node ~/Projects/secrets-manager/cli.js get X_DEFAULT_PASSWORD`
+
+## After signup — record into Steve's registry
+
+Run this once per account so future automation has the inventory:
+
+```bash
+node ~/Projects/secrets-manager/cli.js add X_HANDLE_<DOMAIN_UPPER> @<actual-handle-claimed>
+# example:
+node ~/Projects/secrets-manager/cli.js add X_HANDLE_NOVASUEDE_COM @novasuede
+```
+
+## Don't
+
+- Don't sign up multiple accounts back-to-back from the same IP without ≥30 min between — X's anti-bot will flag everything in the cluster.
+- Don't use SMS-only 2FA. Authenticator app or hardware key only.
+- Don't post real X-API automation against a freshly-claimed account for the first 14 days — accounts under 2 weeks old are heavily throttled.
+- Don't link multiple Steve-owned X accounts as "following each other" in the first week — looks like a botnet to X's graph models.

(oldest)  ·  back to Social Profile Kits  ·  expand to 152 brands (10 hand-crafted + 142 auto from design b95434e →