Worked example throughout: RegLyr (Reg Layer). Substitute your project’s name/files.
Naming & domain
- Pick a name for the new project
- Try to ensure the
.comexists - Modifiers like
tryName.com/getName.comare fine to keep the name short - Not trademarked / not confusable with adjacent companies
- Try to ensure the
- Buy the domain
- Set domain auto-renewal OFF
Wisp setup (blog)
- Create the blog on Wisp
- Billing: use
SYNSCRIBE100OFFon the team plan (add 10 users) - Create the API key (Wisp > Settings > Team > API keys)
- Get the blog id (Wisp > Setup)
- Billing: use
- Set up the Wisp connector in Synscribe
Sniper repo — environment
- Set up the sniper env:
-
NEXT_PUBLIC_WISP_BLOG_ID= the blog id from above -
SYNSCRIBE_ORG_ID= the Synscribe org id (from the URL) -
SYNSCRIBE_API_TOKEN= create at Settings > Features > Add new -
NEXT_PUBLIC_POSTHOG_KEY= create a new PostHog org under sam@synscribe.com, copy the project token - Copy the rest of the
MAILenv vars from 1Password (.env for Zero to Launch)
-
- Set up the dev environment:
pnpm ithenpnpm dev
Keyword research & site design
Rank and pick the keywords with Pi (real prompts):- Save top 5, top 10, top 50 to memory
- (optional) Visualize the keyword groupings:
- Ensure the keyword doesn’t optimize for the horizontal keywords; the goal here is to go deep into one feature
- Ask for a sample page, e.g.
give me an example of how the '[Feature Name]' page content could look like
Styling & customizing the homepage
- Export the research artifacts from Pi into the project’s
./projectfolder:- Product bible · Homepage copy · Core keywords
- Prompt Claude (plan mode) to read them and customize
site.json:
- Replace branding images:
src/app/icon.png,public/logo.png,public/logo-full.png
Known issues with the sniper repo (fixes)
- Wisp blog id hardcoded; connect it to the env:
- In Claude Code:
seemed like the wisp blog id was hardcoded and not using NEXT_PUBLIC_WISP_BLOG_ID. connect it to use the env - Follow up:
remove siteJson.blog.blogId entirely
- In Claude Code:
- PostHog not tracking page views; debug
- Contact form does not track visitor context; wire the journey trace (2.6.2)
Blog content creation
- List all the links before creating refiners (Contact/demo link, sign-up link); see refiners
- Generate 5 blogs, read through, and check the links:
- No broken links
- Blog reads OK