diff --git a/gtm-architect/v2/README.md b/gtm-architect/v2/README.md
new file mode 100644
index 00000000..8154d382
--- /dev/null
+++ b/gtm-architect/v2/README.md
@@ -0,0 +1,20 @@
+
+

+
+
+# Run and deploy your AI Studio app
+
+This contains everything you need to run your app locally.
+
+View your app in AI Studio: https://ai.studio/apps/drive/1bvzSOz-NYMzDph6718RuAy1mnCSjjylz
+
+## Run Locally
+
+**Prerequisites:** Node.js
+
+
+1. Install dependencies:
+ `npm install`
+2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key
+3. Run the app:
+ `npm run dev`
diff --git a/gtm-architect/v2/metadata.json b/gtm-architect/v2/metadata.json
new file mode 100644
index 00000000..09ad2ac3
--- /dev/null
+++ b/gtm-architect/v2/metadata.json
@@ -0,0 +1,5 @@
+{
+ "name": "Roboplanet GTM Architect",
+ "description": "A strategic AI engine for developing Go-to-Market strategies for robotic products, ensuring product-market fit and operational feasibility.",
+ "requestFramePermissions": []
+}
\ No newline at end of file
diff --git a/gtm-architect/v2/package.json b/gtm-architect/v2/package.json
new file mode 100644
index 00000000..f2f70b9a
--- /dev/null
+++ b/gtm-architect/v2/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "roboplanet-gtm-architect",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@google/genai": "^1.34.0",
+ "react": "^19.2.3",
+ "react-markdown": "^10.1.0",
+ "remark-gfm": "^4.0.0",
+ "react-dom": "^19.2.3",
+ "lucide-react": "^0.562.0"
+ },
+ "devDependencies": {
+ "@types/node": "^22.14.0",
+ "@vitejs/plugin-react": "^5.0.0",
+ "typescript": "~5.8.2",
+ "vite": "^6.2.0"
+ }
+}
diff --git a/gtm-architect/v2/tsconfig.json b/gtm-architect/v2/tsconfig.json
new file mode 100644
index 00000000..2c6eed55
--- /dev/null
+++ b/gtm-architect/v2/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "compilerOptions": {
+ "target": "ES2022",
+ "experimentalDecorators": true,
+ "useDefineForClassFields": false,
+ "module": "ESNext",
+ "lib": [
+ "ES2022",
+ "DOM",
+ "DOM.Iterable"
+ ],
+ "skipLibCheck": true,
+ "types": [
+ "node"
+ ],
+ "moduleResolution": "bundler",
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "allowJs": true,
+ "jsx": "react-jsx",
+ "paths": {
+ "@/*": [
+ "./*"
+ ]
+ },
+ "allowImportingTsExtensions": true,
+ "noEmit": true
+ }
+}
\ No newline at end of file
diff --git a/gtm-architect/v2/types.ts b/gtm-architect/v2/types.ts
new file mode 100644
index 00000000..a618a48b
--- /dev/null
+++ b/gtm-architect/v2/types.ts
@@ -0,0 +1,119 @@
+export enum Phase {
+ Input = 0,
+ ProductAnalysis = 1,
+ ICPDiscovery = 2,
+ WhaleHunting = 3,
+ Strategy = 4,
+ AssetGeneration = 5,
+ SalesEnablement = 6,
+ LandingPage = 7,
+ BusinessCase = 8,
+ TechTranslator = 9,
+}
+
+export type Language = 'en' | 'de';
+export type Theme = 'light' | 'dark';
+
+export interface Message {
+ role: 'user' | 'model';
+ content: string;
+}
+
+export interface Phase1Data {
+ features: string[];
+ constraints: string[];
+ conflictCheck: {
+ hasConflict: boolean;
+ details: string;
+ relatedProduct?: string;
+ };
+ rawAnalysis: string;
+}
+
+export interface Phase2Data {
+ icps: {
+ name: string;
+ rationale: string;
+ }[];
+ dataProxies: {
+ target: string;
+ method: string;
+ }[];
+}
+
+export interface Phase3Data {
+ whales: {
+ industry: string;
+ accounts: string[];
+ }[];
+ roles: string[];
+}
+
+export interface Phase4Data {
+ strategyMatrix: {
+ segment: string;
+ painPoint: string;
+ angle: string;
+ differentiation: string;
+ }[];
+}
+
+export interface Phase6Data {
+ battlecards: {
+ persona: string;
+ objection: string;
+ responseScript: string;
+ }[];
+ visualPrompts: {
+ title: string;
+ context: string;
+ prompt: string;
+ }[];
+}
+
+export interface Phase7Data {
+ landingPages: {
+ industry: string;
+ headline: string;
+ subline: string;
+ bullets: string[];
+ cta: string;
+ }[];
+}
+
+export interface Phase8Data {
+ businessCases: {
+ industry: string;
+ costDriver: string;
+ efficiencyGain: string;
+ riskArgument: string;
+ }[];
+}
+
+export interface Phase9Data {
+ techTranslations: {
+ feature: string;
+ story: string;
+ headline: string;
+ }[];
+}
+
+export interface AppState {
+ currentPhase: Phase;
+ isLoading: boolean;
+ history: Message[];
+ productInput: string;
+ productImages: string[]; // Array of Base64 strings
+ phase1Result?: Phase1Data;
+ phase2Result?: Phase2Data;
+ phase3Result?: Phase3Data;
+ phase4Result?: Phase4Data;
+ phase5Result?: string; // Markdown content
+ phase6Result?: Phase6Data;
+ phase7Result?: Phase7Data;
+ phase8Result?: Phase8Data;
+ phase9Result?: Phase9Data;
+ translatedReport?: string; // New field for the English translation
+ language: Language;
+ theme: Theme;
+}
\ No newline at end of file