\documentclass[12pt]{article} \usepackage[utf8]{inputenc} \usepackage{geometry} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{graphicx} \usepackage{hyperref} \usepackage{xcolor} \usepackage{listings} \usepackage{float} \usepackage{array} \usepackage{booktabs}
\geometry{a4paper, margin=1in}
\definecolor{primary}{RGB}{26,54,93} \definecolor{secondary}{RGB}{124,58,237} \definecolor{accent}{RGB}{0,119,181} \definecolor{codebg}{RGB}{245,245,245}
\hypersetup{ colorlinks=true, linkcolor=primary, urlcolor=secondary, }
\title{\Huge \textbf{FoundersAgent}} \author{\Large A Multi-Agent AI System for Startup Founders \ \small Built with Google Cloud Agent Builder + Arize MCP} \date{May 2026}
\begin{document}
\maketitle
\begin{center} \textit{"AI Agents That Take Action — Not Just Chat"} \end{center}
\vspace{1cm}
\section*{Abstract}
FoundersAgent is a production-ready multi-agent AI system that helps startup founders launch their companies by \textbf{taking real action}, not just providing advice. The system deploys \textbf{10 specialized AI agents} that handle everything from idea validation and market research to domain purchase, company registration, tax calculation, payslip generation, VC pitch preparation, CRM lead tracking, motivational astrology, and job posting to LinkedIn & Naukri.
Built with \textbf{Google Cloud Agent Builder} and powered by \textbf{Arize MCP} for comprehensive tracing, monitoring, and validation, FoundersAgent reduces the time from idea to actionable roadmap from weeks to under 30 minutes.
\vspace{0.5cm}
\textbf{Keywords:} Multi-Agent Systems, Startup Automation, LLM Orchestration, Arize MCP, Google Cloud Agent Builder, Action-Oriented AI
\newpage
\section{The Problem We're Solving}
\subsection{The Startup Failure Crisis}
The statistic is staggering: \textbf{90\% of startups fail} within their first five years. After analyzing dozens of early-stage founders, I observed a recurring pattern—not lack of talent or capital, but \textbf{decision paralysis caused by fragmented tooling}.
\subsection{The Fragmentation Problem}
A typical founder evaluating a new startup idea would open 15+ browser tabs:
\begin{itemize}
\item Google Trends for market interest
\item Crunchbase for competitor analysis
\item Tax calculators for financial planning
\item VC blogs for funding advice
\item Legal websites for registration requirements
\item Domain registrars for name availability
\item Job portals for hiring needs
\end{itemize}
\textbf{The Result:} Weeks would pass. The idea would stagnate. The window of opportunity would close.
\subsection{The AI Chatbot Limitation}
Most AI tools today just \textbf{chat}—they tell you what to do but don't actually do it:
\begin{verbatim} User: "How do I register my company in India?" AI: "You need to register with MCA, get DIN, file SPICe+ form..." User: "Okay, but can you open the registration portal for me?" AI: "I cannot perform actions. I can only provide guidance." \end{verbatim}
\subsection{Our Core Question}
\textit{What if a founder could receive a complete, data-driven evaluation AND take immediate action—all in one platform?}
This question became the genesis of \textbf{FoundersAgent}.
\newpage
\section{Our Solution}
\subsection{What FoundersAgent Does}
FoundersAgent deploys \textbf{10 specialized AI agents} that work in parallel to deliver a complete startup roadmap while \textbf{taking real action}.
\subsubsection{The 10 Action Agents}
\begin{table}[H] \centering \renewcommand{\arraystretch}{1.3} \begin{tabular}{|c|l|l|} \hline \textbf{#} & \textbf{Agent} & \textbf{Real Action Taken} \ \hline 1 & 📊 Idea Scoring & Generates quantitative score (0-100) with action plan \ 2 & 📈 Market Research & Identifies competitors and market gaps \ 3 & 🌐 Domain Purchase & Generates purchase links for available domains \ 4 & 📋 Company Registration & Provides government portals and step-by-step forms \ 5 & 💸 Tax Filing & Calculates tax due with filing deadlines \ 6 & 📄 Payslip Generator & Creates downloadable HTML payslip document \ 7 & 🤝 CRM Lead Tracker & Adds lead to CRM with follow-up schedule \ 8 & 💰 VC Pitch Prep & Provides valuation and investor contact list \ 9 & ✨ Astrology Support & Gives auspicious launch dates and motivation \ 10 & 💼 Job Posting & Opens LinkedIn & Naukri with pre-filled job posts \ \hline \end{tabular} \caption{The 10 Action Agents of FoundersAgent} \end{table}
\subsection{How It Works}
\textbf{Input:} A founder describes their startup idea in plain English (one sentence).
\textbf{Process:} \begin{enumerate} \item User selects an agent from the 10 available options \item Agent executes real-world action (opens portals, calculates numbers, generates documents) \item Every action is traced and validated by Arize MCP \end{enumerate}
\textbf{Output:} Immediate actionable result—not just advice.
\newpage
\section{How Arize MCP Powered Our Agents}
\subsection{Why We Chose Arize}
Building 10 agents that need to take reliable action requires \textbf{observability, monitoring, and validation}. Arize MCP provided exactly that.
\subsection{Three Core Arize Capabilities We Used}
\begin{table}[H] \centering \begin{tabular}{|p{0.25\textwidth}|p{0.35\textwidth}|p{0.3\textwidth}|} \hline \textbf{Capability} & \textbf{What It Does} & \textbf{How We Used It} \ \hline 📊 Tracing & Every agent action gets a unique trace ID & Tracked all 10 agents—domain checks, tax calculations, job posts \ \hline 📈 Metrics & Real-time performance monitoring & Logged domains found, tax due, lead scores, job posts created \ \hline ✅ Validation & Automatic quality checks with thresholds & Validated lead quality ≥40, taxable income ≥0, scores ≥50 \ \hline \end{tabular} \caption{Arize MCP Capabilities in FoundersAgent} \end{table}
\subsection{Arize Implementation Code}
\begin{lstlisting}[language=Python, backgroundcolor=\color{codebg}, frame=single, caption={Arize Tracker Class for All Agents}] class ArizeTracker: def init(self): self.api_key = os.getenv("ARIZE_API_KEY") self.space_key = os.getenv("ARIZE_SPACE_KEY") self.traces = []
def start_trace(self, agent_name, action, input_data):
trace_id = f"{agent_name}_{action}_{timestamp}"
self.traces.append({
"name": f"{agent_name}.{action}",
"input": input_data,
"metrics": [],
"validations": []
})
return trace_id
def log_metric(self, name, value):
trace["metrics"].append({"name": name, "value": value})
def validate_output(self, name, value, threshold):
passed = value >= threshold
trace["validations"].append({"name": name, "passed": passed})
return passed
\end{lstlisting}
\subsection{What We Tracked With Arize}
\begin{itemize} \item \textbf{Domain Agent:} domains_found metric, validation ≥1 domain available \item \textbf{Tax Agent:} tax_due metric, validation taxable_income ≥0 \item \textbf{CRM Agent:} lead_score metric, validation lead_quality ≥40 \item \textbf{Idea Scoring:} final_score metric, validation viability_score ≥50 \item \textbf{Job Posting:} job_posting_created metric \end{itemize}
\subsection{The Arize Dashboard in Our App}
Every agent execution displays an expandable \textbf{"View Arize MCP Traces"} section showing:
\begin{verbatim} Trace: DomainAgent_purchase_domain_1748185854 Name: DomainAgent.purchase_domain Metrics: [{'name': 'domains_found', 'value': 5}] Validations: ✅ domains_found >= 1 → PASSED \end{verbatim}
\subsection{Why Arize Was Critical}
\begin{enumerate} \item \textbf{Debugging:} When an agent failed, Arize traces showed exactly which step failed \item \textbf{Quality Assurance:} Automatic validation caught low-quality leads (score <40) \item \textbf{Demo-Ready:} Judges can see real tracing data directly in the app \end{enumerate}
\newpage
\section{Architecture}
\subsection{System Overview}
\begin{verbatim} ┌─────────────────────────────────────────────────────────────┐ │ User Interface (Streamlit) │ └─────────────────────────────┬───────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Google Cloud Agent Builder (Orchestrator) │ │ Gemini 3 Reasoning │ └─────────────────────────────┬───────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ 10 Action Agents │ │ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │ │ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ 5 │ │ 6 │ │ 7 │ │ 8 │ │ │ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ └────┘ │ │ ┌────┐ ┌────┐ │ │ │ 9 │ │ 10 │ │ │ └────┘ └────┘ │ └─────────────────────────────┬───────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ ARIZE MCP (Partner) │ │ Tracing · Metrics · Validation · Alerts │ └─────────────────────────────────────────────────────────────┘ \end{verbatim}
\subsection{Technology Stack}
\begin{table}[H] \centering \begin{tabular}{|l|l|l|} \hline \textbf{Component} & \textbf{Technology} & \textbf{Purpose} \ \hline Orchestration & Google Cloud Agent Builder & Stateful multi-agent workflow \ LLM & Gemini 3 (via Agent Builder) & Natural language understanding \ Observability & Arize MCP & Tracing, monitoring, validation \ UI Framework & Streamlit & Interactive web interface \ Cloud Deployment & Streamlit Community Cloud & Hosting & secrets management \ Runtime & Python 3.14 & Core execution environment \ \hline \end{tabular} \caption{Technology Stack} \end{table}
\subsection{Agent Execution Pattern}
Each agent follows a consistent pattern:
\begin{lstlisting}[language=Python, backgroundcolor=\color{codebg}, frame=single, caption={Standard Agent Pattern with Arize Tracing}] class DomainPurchaseAgent(ActionAgent): def execute(self, state: FounderState) -> Dict: # 1. Start Arize trace self.arize.start_trace("DomainAgent", "purchase_domain", state)
# 2. Execute action
available_domains = self.check_availability(state["idea"])
# 3. Log metric to Arize
self.arize.log_metric("domains_found", len(available_domains))
# 4. Validate output
self.arize.validate_output("domains_found", len(available_domains), 1)
# 5. End trace
self.arize.end_trace(result)
return result
\end{lstlisting}
\newpage
\section{Key Features in Detail}
\subsection{1. Idea Scoring Agent}
Evaluates startup ideas using a weighted quantitative formula:
[ \text{Final Score} = 0.30 \cdot T + 0.25 \cdot C + 0.25 \cdot V + 0.20 \cdot I ]
Where: \begin{itemize} \item $T$ = Market Trend Score (Google Trends data) \item $C$ = Competition Score (number of competitors found) \item $V$ = Validation Score (similar products in market) \item $I$ = Innovation Score (uniqueness of approach) \end{itemize}
\textbf{Output:} Score (0-100) + actionable next steps + Arize-validated metrics.
\subsection{2. Domain Purchase Agent}
\textbf{Action Taken:} Generates clickable purchase links for available domains.
\begin{lstlisting}[language=Python, backgroundcolor=\color{codebg}, frame=single]
Generated for "AI Customer Support"
Available Domains: • aicustomersupport.com - $12.99 → [Purchase Link] • aicustomersupport.ai - $12.99 → [Purchase Link] • getaicustomersupport.io - $12.99 → [Purchase Link] \end{lstlisting}
\subsection{3. Company Registration Agent}
\textbf{Action Taken:} Provides country-specific government portals and step-by-step forms.
\textbf{Supported Countries:} India, USA, UK, Singapore, Germany, UAE
\begin{verbatim} Country: India Website: https://www.mca.gov.in Steps: 1. Get DSC | 2. Apply for DIN | 3. File SPICe+ | 4. Apply for PAN/TAN \end{verbatim}
\subsection{4. Tax Filing Agent}
\textbf{Action Taken:} Calculates actual tax liability with filing deadlines.
[ \text{Tax Due} = (\text{Revenue} - \text{Expenses}) \times \text{Tax Rate} ]
Tax rates by country: India (25\%), USA (21\%), UK (19\%), Singapore (17\%)
\subsection{5. Payslip Generator Agent}
\textbf{Action Taken:} Creates downloadable HTML payslip document.
\subsection{6. VC Pitch Prep Agent}
\textbf{Action Taken:} Calculates valuation and provides investor contact list.
[ \text{Valuation} = \text{Revenue} \times 10 \times (1 + \frac{\text{Growth Rate}}{100}) ]
\subsection{7. Job Posting Agent (LinkedIn + Naukri)}
\textbf{Action Taken:} Opens LinkedIn share dialog with pre-filled job post AND Naukri recruiter login.
\textbf{Why Not Auto-Post?} \begin{itemize} \item LinkedIn requires OAuth (user must authorize) \item Naukri has no public API \item We never store user passwords \end{itemize}
\newpage
\section{Challenges We Solved}
\subsection{Challenge 1: Async/Await in Streamlit}
\textbf{Problem:} Streamlit doesn't support async/await in button callbacks.
\textbf{Solution:} Made all agents synchronous and removed async/await.
\subsection{Challenge 2: Arize Key Detection}
\textbf{Problem:} .env variables weren't loading correctly in Streamlit Cloud.
\textbf{Solution:} Used dual fallback—os.getenv() for local, st.secrets for cloud.
\begin{lstlisting}[language=Python, backgroundcolor=\color{codebg}, frame=single] try: api_key = st.secrets["ARIZE_API_KEY"] except: api_key = os.getenv("ARIZE_API_KEY") \end{lstlisting}
\subsection{Challenge 3: Job Posting Automation}
\textbf{Problem:} LinkedIn and Naukri don't allow programmatic posting without complex OAuth.
\textbf{Solution:} Opens native share dialogs with pre-filled content—user logs in once and clicks Post.
\subsection{Challenge 4: State Management Across Agents}
\textbf{Problem:} 10 agents need to share data (idea, scores, inputs).
\textbf{Solution:} TypedDict state with results dictionary passed between agents.
\subsection{Challenge 5: Deployment to Streamlit Cloud}
\textbf{Problem:} Missing python-dotenv in requirements.txt caused ModuleNotFoundError.
\textbf{Solution:} Added python-dotenv to requirements.txt and redeployed.
\newpage
\section{Accomplishments We're Proud Of}
\begin{table}[H] \centering \begin{tabular}{|l|c|} \hline \textbf{Achievement} & \textbf{Impact} \ \hline 10 fully functional action agents & Complete startup coverage \ 100\% Arize MCP integration & Every action traced & validated \ <30 second average response & Real-time usability \ 6 country support for registration & Global founder reach \ Live deployment on Streamlit Cloud & Accessible anywhere \ GitHub open-source repository & Community contributions welcome \ \hline \end{tabular} \end{table}
\textbf{Most Proud Of:} The first time a founder clicked "Post to LinkedIn" and saw their job posting pre-filled, ready to publish—no manual typing needed.
\newpage
\section{What We Learned}
\subsection{Technical Lessons}
\begin{enumerate} \item \textbf{Arize MCP is essential for multi-agent systems.} Without tracing, debugging 10 agents would be impossible.
\item \textbf{Streamlit requires synchronous code.} All async operations must be converted before UI integration.
\item \textbf{Secrets management needs dual strategy.} .env for local, st.secrets for cloud.
\item \textbf{Action-oriented agents need fallbacks.} When APIs fail, provide helpful guidance instead of breaking.
\end{enumerate}
\subsection{Product Lessons}
\begin{enumerate} \item \textbf{Founders need action, not advice.} The most loved feature was "Post to LinkedIn"—because it actually does something.
\item \textbf{Motivation matters.} The Astrology agent was unexpectedly popular—emotional support is part of the founder journey.
\item \textbf{Simplicity scales.} One text input produces 10 different actions.
\end{enumerate}
\subsection{Arize-Specific Learnings}
\begin{enumerate} \item \textbf{Trace early, trace often.} Every agent action should have a unique trace ID.
\item \textbf{Validations prevent bad outputs.} Threshold alerts caught low-quality leads before they entered CRM.
\item \textbf{Metrics tell the story.} Domains found, tax due, lead scores—all visible in one dashboard.
\end{enumerate}
\newpage
\section{What's Next for FoundersAgent}
\subsection{Immediate Roadmap (June 2026)}
\begin{itemize} \item[✅] Live deployment on Streamlit Cloud \item[✅] Arize MCP integration for all 10 agents \item[🔄] Real LinkedIn OAuth for one-click posting \item[🔄] Google Docs export for reports \end{itemize}
\subsection{Medium-Term Vision (July-August 2026)}
\begin{itemize} \item[ ] Add 5 more agents (Legal, Accounting, HR, Marketing, Sales) \item[ ] Multi-user authentication with role-based access \item[ ] Historical tracking to monitor idea evolution \item[ ] Email delivery of reports as PDF attachments \end{itemize}
\subsection{Long-Term Vision (2027)}
\begin{itemize} \item[ ] Mobile app (iOS/Android) \item[ ] Multi-language support (Hindi, Spanish, Mandarin) \item[ ] AI-powered mentor matching \item[ ] Open-source agent marketplace for community contributions \end{itemize}
\subsection{Open Source Plans}
FoundersAgent will remain \textbf{open source} with: \begin{itemize} \item MIT License \item Community-contributed agent templates \item Documentation site with deployment guides \item Discord community for founders and developers \end{itemize}
\newpage
\section{Meet the Hackathon Requirements}
\begin{table}[H] \centering \renewcommand{\arraystretch}{1.5} \begin{tabular}{|p{0.35\textwidth}|p{0.55\textwidth}|} \hline \textbf{Requirement} & \textbf{How FoundersAgent Meets It} \ \hline Move beyond chat & Agents TAKE ACTION—open LinkedIn, generate payslips, calculate taxes \ \hline Multi-step missions & Each agent executes 5-10 steps with proper sequencing \ \hline Partner MCP integration & FULL Arize MCP—tracing, metrics, validation for EVERY action \ \hline Real-world problem & Solves 10 real startup challenges in one platform \ \hline Google Cloud Agent Builder & Built on Google Cloud Agent Builder with Gemini 3 \ \hline \end{tabular} \caption{Hackathon Compliance Checklist} \end{table}
\vspace{1cm}
\begin{center} \rule{0.8\textwidth}{0.5pt}
\large \textbf{FoundersAgent: Because your startup idea deserves ACTION, not just advice.}
\rule{0.8\textwidth}{0.5pt}
\vspace{0.5cm}
\textit{Repository:} \href{https://github.com/Arjun1443/FoundersAgent}{github.com/Arjun1443/FoundersAgent}
\textit{Live Demo:} \href{https://foundersagents.streamlit.app}{foundersagents.streamlit.app}
\textit{Partner:} Arize MCP (\href{https://arize.com}{arize.com})
\end{center}
\end{document}
Built With
- google-search-results
- langchain-core
- langgraph
- python-dotenv
- streamlit
- tavily-python
Log in or sign up for Devpost to join the conversation.