Dateien nach "general-market-intelligence" hochladen

This commit is contained in:
2025-12-20 20:57:25 +00:00
parent 9a93172578
commit 9b4acaf12a
4 changed files with 139 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<div align="center">
<img width="1200" height="475" alt="GHBanner" src="https://github.com/user-attachments/assets/0aa67016-6eaf-458a-adb2-6e31a0763ed6" />
</div>
# 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/1hqAT_ZEgFV0rmyyCHSDAQMucb_tpEWUp
## 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`

View File

@@ -0,0 +1,5 @@
{
"name": "General Market Intelligence",
"description": "A B2B sales intelligence agent helping SDRs identify leads and analyze competitor technology stacks using AI-powered search.",
"requestFramePermissions": []
}

View File

@@ -0,0 +1,27 @@
{
"name": "general-market-intelligence",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"react": "^19.2.0",
"react-dom": "^19.2.0",
"@google/genai": "^1.29.0",
"lucide-react": "^0.554.0",
"uuid": "^13.0.0",
"nanoid": "^5.1.6",
"jspdf": "^2.5.1",
"jspdf-autotable": "^3.8.1"
},
"devDependencies": {
"@types/node": "^22.14.0",
"@vitejs/plugin-react": "^5.0.0",
"typescript": "~5.8.2",
"vite": "^6.2.0"
}
}

View File

@@ -0,0 +1,87 @@
export enum AppStep {
INPUT = 0,
STRATEGY = 1,
REVIEW_LIST = 2,
ANALYSIS = 3,
REPORT = 4,
OUTREACH = 5,
}
export type Language = 'en' | 'de' | 'fr';
export interface Competitor {
id: string;
name: string;
url?: string;
description?: string;
}
export enum LeadStatus {
CUSTOMER = 'Bestandskunde',
COMPETITOR = 'Nutzt Wettbewerber',
POTENTIAL = 'Greenfield / Potenzial',
UNKNOWN = 'Unklar / Manuelle Prüfung'
}
export enum Tier {
TIER_1 = 'Tier 1', // Enterprise
TIER_2 = 'Tier 2', // Mid-Market
TIER_3 = 'Tier 3' // SMB
}
// NEW: Flexible Signal Definition
export interface SearchSignal {
id: string;
name: string; // e.g. "ISO Certification" or "Return Policy"
description: string; // e.g. "Check for ISO 27001 badge"
targetPageKeywords: string[]; // e.g. ["compliance", "about", "legal"]
}
export interface SearchStrategy {
productContext: string; // What are we selling?
idealCustomerProfile: string;
signals: SearchSignal[];
}
export interface AnalysisResult {
companyName: string;
status: LeadStatus;
// Core Data
revenue: string;
employees: string;
tier: Tier;
dataSource: string; // "Wikipedia", "Web Search", etc.
// Dynamic Data based on Signals
dynamicAnalysis: Record<string, {
value: string; // The finding (e.g., "Yes, ISO 27001 found" or "Free Returns")
proof: string; // Source/Snippet
sentiment?: string; // "Positive", "Negative", "Neutral"
}>;
recommendation: string;
sources?: string[];
// Meta
processingChecks: {
wiki: boolean;
revenue: boolean;
signalsChecked: boolean;
};
}
export interface AnalysisState {
currentCompany: string;
progress: number;
total: number;
completed: number;
}
export interface EmailDraft {
persona: string;
subject: string;
body: string;
keyPoints: string[];
}