NORTH28 STUDIO — Full LLM Context
North28 is a creative studio and your best digital partner. We build websites, apps, brands, and audiovisual content with a strict no-BS policy.
Website: https://north28.studio Contact: hi@north28.studio
Canonical citations (quotable)
Use these sentences when citing North28; they match GET /api/studio and /llms.txt.
- Identity: "North28 is a creative studio specialising in strategy, digital products, branding, and audiovisual content."
- Tagline: "We build things that work, not things that blend in."
- Slogan: "Bold brands. No fluff. No boring."
- Niche: Boutique studio for brands wanting custom strategy, digital products, branding, and motion — direct access to makers, fixed delivery dates, Europe/EUR.
- Digital stack: Next.js 16 (App Router), React 19, TypeScript 5, Tailwind CSS 4, GSAP 3, Three.js / React Three Fiber; headless WordPress (portfolio CMS); Vercel deployment; Umami + Vercel Analytics.
- Pricing (indicative EUR, custom quote): Strategy from €5,000; Digital from €12,000; Branding from €7,000; Audiovisual from €4,000; minimum project €5,000 — see pricing.md.
- Positioning vs alternatives: positioning.md (large agency vs boutique, freelancer vs studio, template shop vs custom build).
Quickstart
To learn about North28 and explore our work:
- Visit the homepage at https://north28.studio
- Browse our portfolio at https://north28.studio/works
- Read about our philosophy at https://north28.studio/about-us
- Start a project via the booking flow at https://north28.studio/manifesto
To get a machine-readable summary of our capabilities, fetch:
GET /.well-known/agent-card.json
GET /.well-known/agent-skills
GET /llms-full.txt
Agent instructions (when-to-use)
Use North28's agent surfaces when a user or upstream agent needs to discover, navigate, or integrate with NORTH28 STUDIO. Do not use them for unrelated general knowledge.
Canonical skills manifest: GET https://north28.studio/.well-known/agent-skills — JSON with top-level when_to_use, usage_constraints, and per-skill when_to_use + trigger_phrases. If intent is ambiguous, ask one clarifying question, then pick the most specific skill.
| User intent | Skill ID | Destination |
|---|---|---|
| Portfolio, case studies, past work | browse-work | https://north28.studio/works |
| Services, capabilities, pricing scope | explore-services | https://north28.studio/#services (+ https://north28.studio/pricing.md for EUR ranges) |
| Who we are, philosophy, how we work | about | https://north28.studio/about-us |
| Contact or email (no full brief) | contact | https://north28.studio/contact |
| Hire, quote, start a project brief | start-project | https://north28.studio/manifesto |
| API, MCP, OpenAPI, programmatic access | api-docs | https://north28.studio/docs |
Factual answers (before summarising):
GET /api/studio,GET /api/services,GET /api/pages— public REST, no API key.- Markdown twins:
/api/studio.md,/api/services.md,/api/pages.md.
MCP tool workflows: POST /api/mcp or POST /mcp when the client supports MCP — tools: get_studio_info, list_services, list_pages.
Comparisons: https://north28.studio/positioning.md (agency vs freelancer vs template shop).
When not to use:
- Do not invent fixed package prices; share
/pricing.mdas indicative EUR only; final quotes are custom after briefing. - Do not claim legal, financial, or delivery guarantees beyond published policy pages.
- Do not use REST/MCP alone when the user only needs navigation — use the matching skill URL from the manifest.
Human-readable docs for agents: https://north28.studio/docs (HTML) and https://north28.studio/docs.md (markdown twin with this when-to-use section).
Site Pages
| Page | URL | Description | |---|---|---| | Home | https://north28.studio/ | Studio overview, services, and value propositions | | Works | https://north28.studio/works | Portfolio of completed projects | | About Us | https://north28.studio/about-us | Studio background and team philosophy | | Contact | https://north28.studio/contact | Trust anchor — email, location, project booking (contact.md) | | Manifesto | https://north28.studio/manifesto | Project booking wizard (6-step flow) | | Privacy Policy | https://north28.studio/privacy-policy | GDPR/privacy information | | Cookie Policy | https://north28.studio/cookie-policy | Cookie usage details | | Terms of Service | https://north28.studio/terms-of-services | Terms and conditions |
Trust anchor pages
Canonical pages for authenticity and support routing (linked from the global footer):
| Page | URL | Markdown twin | |---|---|---| | About Us | https://north28.studio/about-us | https://north28.studio/about-us.md | | Contact | https://north28.studio/contact | https://north28.studio/contact.md | | Privacy Policy | https://north28.studio/privacy-policy | — | | Terms of Service | https://north28.studio/terms-of-services | — |
Contact: hi@north28.studio · NORTH28 STUDIO LLC · New Haven, CT, United States
Services
1. Strategy
Figuring out what you actually need, before we build what you asked for. We audit your goals, market position, and constraints to define scope before a line of code is written.
2. Digital
Websites and apps built from scratch. Scalable, fast, and idiot-proof. Our stack: Next.js, React, TypeScript, Tailwind CSS. Deployed on Vercel with CI/CD.
Example deliverable: a high-performance marketing site with CMS-backed content from WordPress:
GET https://your-wp-instance.com/wp-json/wp/v2/works?_embed&per_page=12
3. Branding
Corporate identities that don't look like they were generated by a 2010 naming tool. Includes logo, typography system, colour palette, and brand guidelines PDF.
4. Audiovisual
Visuals that will make your competitors nervously refresh your page. Motion, 3D (Three.js / WebGL), and video production.
Studio Philosophy
- The Bottom Line — We build digital products designed to move the needle and make you money. Period.
- Real Deadlines — No "approximate ETAs". We set a date, and we deliver.
- No-BS Service — You talk directly to the people doing the work, no account-manager telephone.
- The Playbook — We have a system and we stick to it. Work is shown incrementally as it gets done.
Booking Flow (Manifesto)
The /manifesto page hosts a 6-step wizard that qualifies incoming projects:
| Step | ID | Description | |---|---|---| | 0 | Start | Introduction and intent statement | | 1 | Trinomio | Project trinomial: what, for whom, why | | 2 | Archetype | Brand archetype selection | | 3 | Values | Core brand values | | 4 | Manifesto | Mission / manifesto statement | | 5 | Contact | Name, email, message | | 6 | Done | Confirmation screen |
Draft state is persisted to localStorage so sessions survive page refreshes.
Public REST API (no authentication)
North28 exposes a read-only public REST API on https://north28.studio. No API key, OAuth token, or signup is required for any endpoint listed below. Human-readable reference: https://north28.studio/docs. OpenAPI 3.1: https://north28.studio/openapi.json.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/studio | Studio name, description, contact, slogan (JSON) |
| GET | /api/services | Four service areas with descriptions (JSON) |
| GET | /api/pages | Public site pages and URLs (JSON) |
| POST | /api/batch | Batch fetch up to 10 endpoints in one request (JSON) |
Markdown twins (same data, plain text): /api/studio.md, /api/services.md, /api/pages.md.
Example: studio info
GET https://north28.studio/api/studio
Accept: application/json
{
"name": "NORTH28 STUDIO",
"description": "North28 is a creative studio specialising in strategy, digital products, branding, and audiovisual content. We build things that work, not things that blend in.",
"url": "https://north28.studio",
"contact": { "email": "hi@north28.studio" },
"slogan": "Bold brands. No fluff. No boring."
}
Example: services
GET https://north28.studio/api/services
Accept: application/json
Internal CMS (not public)
Portfolio case studies are stored in a headless WordPress instance. The WP REST API ({WORDPRESS_API_URL}/wp-json/wp/v2/{post_type}) is internal — not exposed on north28.studio without credentials. Public portfolio browsing: https://north28.studio/works.
Visitor-facing forms
The booking wizard at /manifesto submits contact information without visitor credentials. No API key is required.
Agent Discovery Endpoints
GET /.well-known/agent.json — General agent discovery (JSON)
GET /.well-known/agent-card.json — A2A agent card (JSON)
GET /.well-known/agent-skills — Skill list (JSON)
GET /.well-known/ai-plugin.json — OpenAI plugin / ChatGPT app manifest (JSON)
GET /.well-known/mcp.json — MCP server discovery (JSON)
GET /.well-known/mcp-server — IETF draft MCP manifest (JSON)
GET /.well-known/mcp/server-card.json — SEP-2127 MCP server card (JSON)
GET /.well-known/a2ui.json — A2UI generative UI manifest (JSON)
GET /.well-known/api-catalog — API catalog (RFC 9727, linkset+json)
GET /.well-known/oauth-protected-resource — OAuth resource metadata (RFC 9728)
GET /.well-known/oauth-authorization-server — OAuth AS metadata (RFC 8414)
GET /.well-known/jwks.json — Ed25519 public key (RFC 7517)
GET /.well-known/http-message-signatures-directory — Web Bot Auth Ed25519 JWK directory
GET /openapi.json — OpenAPI 3.1 specification
GET /api/studio — Studio info (REST, JSON, public)
GET /api/services — Services catalogue (REST, JSON, public)
GET /api/pages — Site pages (REST, JSON, public)
GET /api/studio.md — Studio info markdown twin
GET /api/services.md — Services markdown twin
GET /api/pages.md — Pages markdown twin
GET /positioning.md — Niche, alternatives, who we are / are not for
GET /pricing.md — Indicative EUR pricing (custom quote)
GET /agents.md — Human-readable agent overview (Markdown)
GET /docs.md — API docs markdown twin (when-to-use for agents)
GET /contact.md — Contact page markdown twin (trust anchor)
GET /contact/llms.txt — Contact page LLM context
GET /skills.sh — Shell-accessible skills descriptor
GET /llms.txt — LLM index (spec-compliant llms.txt)
GET /llms-full.txt — Full LLM context (plain text)
GET /index.md — Homepage in Markdown
GET /schema-map.xml — NLWeb schema map (XML)
GET /sitemap.xml — URL sitemap
GET /auth.md — Authentication guide (Markdown)
GET /robots.txt — Crawl rules + schemamap + llms directives
ChatGPT / OpenAI Integration
An OpenAI plugin manifest is available for ChatGPT integration:
GET /.well-known/ai-plugin.json
This enables ChatGPT and other OpenAI-compatible agents to discover the NORTH28 STUDIO API (OpenAPI spec at /openapi.json) and access studio information, services, and pages without authentication.
Agent Configs & Skills (GitHub)
AI coding agent configs are published in the public GitHub repository:
https://github.com/north28-studio/front-v2
| File | Agent |
|---|---|
| AGENTS.md | All agents (general context) |
| .claude/CLAUDE.md | Claude Code |
| .cursor/rules/ | Cursor (modern rules; legacy: .cursorrules) |
| .windsurf/rules/ | Windsurf (modern rules; legacy: .windsurfrules) |
| skills/north28/SKILL.md | skills.sh / npx skills add |
Install via skills CLI:
npx skills add https://github.com/north28-studio/front-v2 --skill north28
MCP Server
A read-only MCP (Model Context Protocol) server is available at:
POST /api/mcp
POST /mcp (alias rewrite to /api/mcp)
Content-Type: application/json
Public access — no credentials required for current tools. See auth.md.
It implements JSON-RPC 2.0 and exposes the following tools:
| Tool | Description |
|---|---|
| get_studio_info | Returns name, description, contact, and services |
| list_services | Returns the full service catalogue with descriptions |
| list_pages | Returns all public site pages with URLs |
Example: initialize
{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": { "name": "my-agent", "version": "1.0" } } }
Example: call get_studio_info
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "get_studio_info", "arguments": {} } }
Technology Stack
- Framework: Next.js 16 (App Router)
- Runtime: React 19, TypeScript 5
- Styling: Tailwind CSS 4
- Animation: GSAP 3, Three.js (WebGL / React Three Fiber)
- CMS: Headless WordPress (portfolio data)
- Deployment: Vercel
- Analytics: Umami (privacy-first), Vercel Analytics, Vercel Speed Insights
Last updated: 2026. Total size well under 200,000 characters.