{"id":30432258,"url":"https://github.com/vero-code/venture-assist-ai","last_synced_at":"2025-08-22T20:43:14.291Z","repository":{"id":308945017,"uuid":"995983383","full_name":"vero-code/venture-assist-ai","owner":"vero-code","description":"An intelligent assistant designed to streamline common tasks for startup founders and entrepreneurs, powered by Google's Agent Development Kit and Gemini Pro/Flash. It automates Google Workspace interactions (Drive, Calendar, Slides) to save time and boost productivity.","archived":false,"fork":false,"pushed_at":"2025-08-08T19:22:33.000Z","size":389,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-08T21:25:28.736Z","etag":null,"topics":["agents","ai","docker","firebase-hosting","google-adk","google-ai-studio","google-auth","google-cloud","google-cloud-run","google-cloud-sdk","google-gemini-pro","google-generative-ai","google-workspace","hackathon","javascript","python","react","startup","tailwindcss","vite"],"latest_commit_sha":null,"homepage":"https://devpost.com/software/venture-assist-ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vero-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-04T09:35:02.000Z","updated_at":"2025-08-08T19:22:36.000Z","dependencies_parsed_at":"2025-08-08T21:39:06.080Z","dependency_job_id":null,"html_url":"https://github.com/vero-code/venture-assist-ai","commit_stats":null,"previous_names":["vero-code/venture-assist-ai"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/vero-code/venture-assist-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fventure-assist-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fventure-assist-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fventure-assist-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fventure-assist-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vero-code","download_url":"https://codeload.github.com/vero-code/venture-assist-ai/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fventure-assist-ai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271697502,"owners_count":24805119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","docker","firebase-hosting","google-adk","google-ai-studio","google-auth","google-cloud","google-cloud-run","google-cloud-sdk","google-gemini-pro","google-generative-ai","google-workspace","hackathon","javascript","python","react","startup","tailwindcss","vite"],"created_at":"2025-08-22T20:43:11.058Z","updated_at":"2025-08-22T20:43:14.252Z","avatar_url":"https://github.com/vero-code.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Venture Assist AI - multi-agent AI system\n\nSmart AI assistant for startups. From idea to public presentation – multi-agent system on Google Cloud ADK (Agent Development Kit) leads you to success. The project is inspired by the tasks of the hackathon [\"AI Agent Development Kit Hackathon with Google Cloud\"](https://googlecloudmultiagents.devpost.com/).\n\n[![Cloud Run](https://img.shields.io/badge/Cloud%20Run-deployed-blue.svg)](https://venture-assist-ai-backend-service-775665176646.us-central1.run.app)\n[![Built with Google ADK](https://img.shields.io/badge/Google%20ADK-1.1.1-orange.svg)](https://google.github.io/adk-docs/)\n[![Powered by Gemini Pro](https://img.shields.io/badge/AI-Gemini%20Pro-purple.svg)](https://gemini.google.com/)\n[![Backend: Python](https://img.shields.io/badge/backend-Python%203.13-blue.svg)](https://www.python.org/)\n[![Frontend: React](https://img.shields.io/badge/frontend-React-61DAFB.svg)](https://react.dev/)\n[![Hosted on Firebase](https://img.shields.io/badge/Hosted%20on-Firebase%20Hosting-FFCA28.svg)](https://firebase.google.com/docs/hosting)\n\n\n## 📝 Table of Contents\n\n* 🔨 [Architecture](#architecture)\n* 🎯 [Target Audience](#-target-audience)\n* ⚒️ [Technologies](#%EF%B8%8F-technologies)\n    * 🗨️ [Google Cloud Services](#%EF%B8%8F-google-cloud-services)\n    * 📗 [Documentation](#-documentation)\n* 📁 [Structure](#-structure)\n* ✨ [Features](#%E2%9C%A8-features)\n    * 1️⃣ [IdeaValidatorAgent](#%E2%82%A3%EF%B8%8F-ideavalidatoragent)\n    * 2️⃣ [MarketResearcherAgent](#%E2%82%A2%EF%B8%8F-marketresearcheragent)\n    * 3️⃣ [PitchDeckGeneratorAgent](#%E2%82%A3%EF%B8%8F-pitchdeckgeneratoragent)\n    * 4️⃣ [SummarySaverAgent](#%E2%82%A4%EF%B8%8F-summarysaveragent)\n    * 5️⃣ [LogoCreatorAgent](#%E2%82%A5%EF%B8%8F-logocreatoragent)\n    * 6️⃣ [MeetMakerAgent](#%E2%82%A6%EF%B8%8F-meetmakeragent)\n    * 💾 [Agent Memory](#-agent-memory)\n    * 🔒 [Authorization moment](#-authorization-moment)\n    * 🎥 [Meet Planning](#-meet-planning)\n    * 📒 [Slide creation](#-slide-creation)\n* 🔬 [Testing](#-testing)\n    * [IdeaValidatorAgent](#ideavalidatoragent-1)\n    * [MarketResearcherAgent](#marketresearcheragent-1)\n    * [PitchDeckGeneratorAgent](#pitchdeckgeneratoragent-1)\n    * [SummarySaverAgent](#summarysaveragent-1)\n    * [LogoCreatorAgent](#logocreatoragent-1)\n    * [MeetMakerAgent](#meetmakeragent-1)\n* 🏍️ [How to run](#how-to-run)\n* 📄 [License \u0026 contribution](#-license--contribution)\n\n\n## 🔨 Architecture\n\nAt the top level, the Coordinator/Dispatcher pattern is used for the venture_coordinator_agent, which redirects the user to the appropriate specialized agents. Crucially, the agents in this system don't merely execute tools; they leverage their LLM capabilities to interpret tool outputs, provide contextualized responses, and intelligently suggest next steps or delegate tasks to other specialized agents. This ensures a fluid, human-like interaction and guidance throughout the startup journey. The complete architecture is shown in the final diagram.\n\n![Architecture Diagram](images/architecture-diagram.png)\n\n\n## 🎯 Target Audience\n\nVenture Assist AI is designed for **early-stage founders, solopreneurs, and startup teams** who want to validate their ideas quickly, define their market strategy, and generate a compelling pitch — all without needing a full product or extensive team yet.\n\n\n## ⚒️ Technologies\n\n- Python v3.13.4, Uvicorn, Fastapi\n- Node.js v22.16.0\n- JavaScript, React, Vite\n- Tailwindcss\n- Docker\n\n\n### 🗨️ Google Cloud technologies\n\n- Google Cloud\n- Google Cloud SDK\n- ADK (Agent Development Kit v1.1.1)\n- Google AI Studio\n- Generative AI on Google Cloud\n- Google Gemini Pro/Flash\n- Google Auth\n- Google Workspace (Drive, Calendar, Meet, Slides)\n- Secret Manager\n- Artifact Registry\n- Container Scanning\n- Google Cloud Build, Google Cloud Run\n- Firebase Hosting\n\n\n### 📗 Documentation\n\n- [Agent Development Kit](https://google.github.io/adk-docs/)\n\n- [ADK submodules documentation](https://google.github.io/adk-docs/api-reference/python/index.html)\n\n- [ADK Tutorial - Progressive Weather Bot (ADK Tools Version)](https://github.com/google/adk-docs/tree/main/examples/python/tutorial/agent_team/adk-tutorial)\n\n\n## 📁 Structure\n\n```\nventure-assist-ai/\n│\n├── backend/\n│   ├── __init__.py        # Initialize the package\n│   ├── agent.py           # Agent coordinator\n│   ├── agents.py          # Subagents\n│   ├── config.py          # Constants of models\n│   ├── main.py            # Entry point\n│   ├── requirements.txt   # Dependencies\n│   ├── state.py           # To store state\n│   └── tools.py           # Definitions of instruments\n│\n├── frontend/              # Style \u0026 UI design\n│   └── ...\n│\n├── multi_tool_agent/      # Example a simple agent\n│   └── ...\n│\n└── .env.example           # Environment variables\n```\n\n\u003e A simple agent was developed using the [Quickstart](https://google.github.io/adk-docs/get-started/quickstart/) documentation.\n\n\n## ✨ Features\n\nTotal 7 agents (1 coordinator \u0026 6 subagents):\n\n1️⃣ **IdeaValidatorAgent** -\u003e `get_validator`\n   - **Capabilities:** Evaluates provided startup ideas.\n   - **User Benefit:** Provides intelligent analysis and detailed feedback on the idea.\n\n2️⃣ **MarketResearcherAgent** -\u003e `get_research`\n   - **Capabilities:** Conducts market research on a given topic.\n   - **User Benefit:** Generates a detailed report on market size, competitors, and trends.\n\n3️⃣ **PitchDeckGeneratorAgent** -\u003e `get_pitch`\n   - **Capabilities:** Creates a draft pitch deck for a startup.\n   - **User Benefit:** Forms compelling content for key presentation sections.\n\n4️⃣ **SummarySaverAgent**\n\n -\u003e `get_summary`\n \n - **Capabilities:** Summarizes provided lengthy text.\n\n- **User Benefit:** Delivers a concise summary of notes on paper of a budding startup.\n\n- **Improvement:** Avoids unnecessary LLM calls for trivial cases using length check.\n\n-\u003e `get_saver`\n\n- **Capabilities:** Gets summary from memory and saves in Google Drive.\n\n- **User Benefit:** Shows info message if memory is empty.\n\n5️⃣ **LogoCreatorAgent** -\u003e `get_logo`\n   - **Capabilities:** Generates a logo concept for a startup idea.\n   - **User Benefit:** Suggests a creative logo idea with design and style descriptions.\n   - **Improvement:** Saves the logo description in Google Slides for future image creation.\n\n6️⃣ **MeetMakerAgent** -\u003e `get_meeting`\n   - **Capabilities:** Organizes a meeting with a specified participant.\n   - **User Benefit:** Extracts a date from the user input and writes the meeting to the calendar.\n\n\u003e All agents not only confirms the validity of an idea but also provides contextual interpretation of the tool's output, suggesting further validation steps or delegating to another agent as needed.\n\n\n### 💾 Agent Memory\n\nThe memory of the `SummarySaverAgent` is implemented via `ToolContext`, which provides an interface for interacting with the session state (`tool_context.state`). `SessionService` physically ensures the persistence of this state.\n\nThus, after summarization, the `last_summary` is stored in `tool_context.state`, and upon a subsequent save request, the agent utilizes this information either directly from arguments passed by the LLM or by accessing `tool_context.state[\"last_summary\"]`.\n\n\n### 🔒 Authorization Moment\n\nImplemented Google's basic authorization mechanism using two endpoints:\n\n- `/auth/google` initiates the Google authorization process and redirects the user to the consent page.\n\n- `/oauth2callback` accepts the authorization code from Google, exchanges it for access and refresh tokens, and then stores them.\n\n\n### 🎥 Meet Planning\n\n`MeetMakerAgent` uses the `get_meeting` tool, which calls `extract_meeting_slots` — a function powered by an LLM to propose meeting times.\n\nThen Google services come into play:\n\n- `Google Calendar` is used to create the event.\n\n- `Google Meet` is enabled automatically via the Calendar API when ads conference Data.\n\n\n### 📒 Slide Creation\n\nThe `LogoCreatorAgent` uses the `get_logo` tool to use the `Gemini` model to generate a logo concept (including icon, colors, font, and mood). Then, interaction occurs with the Google Slides API: creates a new presentation, adds a blank slide to it, and inserts the generated logo concept into a text field on this slide. At the end, the function returns a confirmation of creation and a link to the created slide.\n\n\n## 🔬 Testing\n\n### IdeaValidatorAgent\n\n-\u003e get_validator\n\nQuery:\n```\nTest the idea: a mobile app for finding nannies.\n```\n\nQuery:\n```\nWhat do you think about the idea of ​​the smart waste diversion system for households startup?\n```\n\n\n### MarketResearcherAgent\n\n-\u003e get_research\n\nQuery: \n```\nConduct market research on the renewable energy sector.\n```\n\nQuery: \n```\nResearch the current state of the AI in healthcare market.\n```\n\n\n### PitchDeckGeneratorAgent\n\n-\u003e get_pitch\n\nQuery: \n```\nGenerate a pitch deck for a web app that helps finding houses with AI.\n```\n\nQuery: \n```\nCreate a pitch deck for a AI-powered personalized learning platform, include sections for Problem, Solution, and Team.\n```\n\n\n### SummarySaverAgent\n\n-\u003e get_summary\n\nQuery: \n\n```\nSummarize idea: An idea came to me, it seems a bit crazy, but the more I think about it, the more I like it. What if we make a smart mirror that helps track your mental state? Like, in the morning and in the evening you just go to the mirror, and it, looking at your facial expression, listening to your voice, intonation, evaluating your reactions, notices if you are burnt out, depressed or just tired. And it can gently suggest: \"do a breathing practice\", \"try to rest a little\", or even \"it's time to talk to someone\". Everything is local or encrypted. It's like a caring AI assistant, but not intrusive.\n```\n\n-\u003e get_saver\n\nQuery: \n\n```\nCan you save it?\n```\n\n-\u003e get_summary + get_saver\n\nQuery: \n\n```\nSummary and save: Listen, I have a cool idea. Why not make personalized tea based on DNA? Like, a person takes a simple test (like for genetics - saliva), plus fills out a questionnaire: how he sleeps, what he does, what flavors he likes. And then AI or an algorithm selects a tea blend for him - with the right herbs, vitamins, flavors and even the effect (calming, energy, recovery, etc.). You can do it as a subscription: every month a person gets \"his\" tea. It's like genetics + healthy lifestyle + a bit of a geek.\n```\n\n\n### LogoCreatorAgent\n\n-\u003e get_logo\n\nQuery:\n\n```\nGenerate a logo concept for a startup that builds eco-friendly packaging solutions.\n```\n\nQuery:\n```\nCreate a logo for a fitness app for seniors.\n```\n\n\n### MeetMakerAgent\n\n-\u003e get_meeting\n\nQuery: \n\n```\nArrange a meeting with investor@gmail.com next week to discuss the startup.\n```\n\nQuery: \n```\nSchedule a project discussion with alice@company.com for June 15th.\n```\n\nQuery:\n```\nOrganize an investor meeting with bob@example.com for tomorrow.\n```\n\n\n## 🏍️ How to Run\n\n1. Configure access:\n\nCreate `.env` (see example in `.env.example`).\n\n2. Authorize via Google OAuth 2.0:\n\n```\ngcloud auth application-default login\n```\n\n\u003e Be sure to check the all boxes.\n\n3. Run backend:\n\n```\npython -m venv .venv\n.venv\\Scripts\\Activate.ps1   # for Windows PowerShell\npip install -r backend/requirements.txt\n```\n\nIf want to testing agents via UI Google Agent:\n\n```\nadk web\n```\n\nFor local server using frontend:\n\n```\nuvicorn backend.main:app --reload --port 8080\n```\n\n4. Start frontend:\n\n```\ncd frontend\nnpm install\nnpm run dev\n```\n\n\n## 🗨️ Deployment\n\nProject utilizes a robust cloud-based deployment strategy. The backend is deployed on Google Cloud services, leveraging:\n\n- **Secret Manager**: Securely storing sensitive data.\n\n- **Artifact Registry**: Serves as the repository for Docker images.\n\n- **Container Scanning**: Used for scanning Docker images for security.\n\n- **Cloud Build**: Automates the Docker image build process.\n\n- **Cloud Run**: Hosts the backend service as a serverless container.\n\nThe frontend is hosted on **Firebase Hosting**, providing a fast and reliable platform for the user interface.\n\n## 📄 License \u0026 Contribution\n\nThis project is licensed under the MIT License. When using this software, please remember to provide appropriate attribution to the original author.\n\n\u003e Note on the scope of the hackathon: For the purposes of this hackathon, the project is focused on demonstrating the functionality of the multi-agent system. Accordingly, some aspects, such as multi-user management and session persistence, have been simplified, assuming use by a single \"test\" user. The development of a full production version will include expansion of these capabilities.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvero-code%2Fventure-assist-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvero-code%2Fventure-assist-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvero-code%2Fventure-assist-ai/lists"}