# Wann Labs > Public engineering notes from BrandMatchGrowth. Copy a few Cursor rules, then see the products they feed: BrandMatchGrowth, OpenSign, and Google Workspace MCP. Search engines and AI answer engines may crawl, quote, and cite this site. The confirmation screen at /thanks/ has no article content. The /geo response is only the city for the greeting and is not a page to index. Site: https://wannlabs.com/ Publisher: [BrandMatchGrowth](https://www.brandmatchgrowth.com/) Privacy: https://wannlabs.com/privacy/ ## Pages - [Wann Labs — free Cursor rules and product notes](https://wannlabs.com/): Public engineering notes from BrandMatchGrowth. Copy a few Cursor rules, then see the products they feed: BrandMatchGrowth, OpenSign, and Google Workspace MCP. - [Free Cursor rules](https://wannlabs.com/rules/): Five Cursor rules you can copy: components, state, accessibility, APIs, and TypeScript. - [Small components — free Cursor rule](https://wannlabs.com/rules/small-components/): One job per file. Split a React screen before it becomes a junk drawer. - [Immutable state — free Cursor rule](https://wannlabs.com/rules/immutable-state/): Return the next value. Do not edit the object you already rendered. - [Accessibility before polish — free Cursor rule](https://wannlabs.com/rules/accessibility/): Names, contrast, keyboard, and target size are part of the screen, not a later pass. - [Contract-first APIs — free Cursor rule](https://wannlabs.com/rules/contract-first-apis/): Write the request and the response before the handler, and validate both sides. - [Strict TypeScript — free Cursor rule](https://wannlabs.com/rules/strict-typescript/): Turn strict on. Handle every case in a union so a new case fails the build. - [AI notes for people at home](https://wannlabs.com/home/): Everyday AI for the household hour: meals, school emails, bills, and a side shop between the rest of the day. Nothing to paste that is private. - [Claude branding package, then Lovable](https://wannlabs.com/office/): How to ask Claude for a branding package you can paste into Lovable, plus the habits that keep the app builder on the page you asked for. - [Cursor rules that save tokens, for students](https://wannlabs.com/college/): Short Cursor rules, the repos worth cloning, and how to use AI for class without handing in words you did not write. - [Class notes from the farm lessons](https://wannlabs.com/lessons/): Printable class sheets from Mamadou Wann's lessons: web programming, APIs, smart-farm infrastructure, and private AI. The slide photos stay in class. - [Web programming for farmers — class sheet](https://wannlabs.com/lessons/web-programming-for-farmers/): A class note that maps the farm stand, the barn, the silo, and the crop ledger to the frontend, backend, database, and Git. - [Frontend, Node, databases, and APIs — class sheet](https://wannlabs.com/lessons/frontend-node-databases-apis/): Class notes on Node, packages, SQL, HTTP, and why an API secret stays on the server. - [Smart tech on the farm — class sheet](https://wannlabs.com/lessons/smart-tech-on-the-farm/): Class notes on MCP, hosting a stand versus a workshop, shipping updates, and locking a delivery. - [Private AI and the hub — class sheet](https://wannlabs.com/lessons/private-ai-and-the-hub/): Class notes on renting heavy compute when you need it, keeping business records off public AI, and driving from Cursor. - [Products behind these notes](https://wannlabs.com/products/): BrandMatchGrowth for the offer and the growth system. OpenSign for the shop that takes payment. Google Workspace MCP for mail, calendar, and ads inside Cursor. - [Privacy](https://wannlabs.com/privacy/): What Wann Labs stores when you submit a form, and how to ask for it to be deleted. ## Downloadable rules - [Small components](https://wannlabs.com/rules/small-components.mdc): One job per file. Split a React screen before it becomes a junk drawer. - [Immutable state](https://wannlabs.com/rules/immutable-state.mdc): Return the next value. Do not edit the object you already rendered. - [Accessibility before polish](https://wannlabs.com/rules/accessibility.mdc): Names, contrast, keyboard, and target size are part of the screen, not a later pass. - [Contract-first APIs](https://wannlabs.com/rules/contract-first-apis.mdc): Write the request and the response before the handler, and validate both sides. - [Strict TypeScript](https://wannlabs.com/rules/strict-typescript.mdc): Turn strict on. Handle every case in a union so a new case fails the build.