Golden Door Asset
Software Stocks
Gemini PortfolioCompliance Policy Chatbot
Compliance
Intermediate

Compliance Policy Chatbot

Ensure marketing materials are compliant

Build Parameters
Project IDX
4–6 hours Build

Compliance Policy Chatbot Project Blueprint

1. The Business Problem (Why build this?)

The financial services industry operates under a stringent regulatory framework, primarily governed by bodies like the Securities and Exchange Commission (SEC) and the Financial Industry Regulatory Authority (FINRA). Firms face an ongoing, complex challenge in ensuring that all outward-facing communications, especially marketing and promotional materials, comply with these exhaustive and frequently updated regulations. Non-compliance is not merely a bureaucratic hurdle; it carries severe repercussions, including substantial financial penalties, forced restatements, reputational damage, and even loss of operating licenses.

The current process for compliance review is overwhelmingly manual, inefficient, and prone to human error. Compliance officers spend countless hours poring over dense legal texts and comparing them against newly drafted marketing campaigns, advertisements, social media posts, and client communications. This labor-intensive process creates significant bottlenecks, slows down content creation and deployment, and diverts valuable human capital from higher-value strategic tasks. As the volume and velocity of marketing content increase, driven by digital channels and personalized communication strategies, the manual review process becomes unsustainable. Furthermore, inconsistencies in interpretation across different reviewers can lead to uneven application of rules, introducing further risk. Firms require a scalable, consistent, and intelligent solution to proactively identify compliance risks, streamline the review process, and empower marketing teams to create compliant materials from the outset, thereby mitigating risks and accelerating market engagement.

2. Solution Overview

The Compliance Policy Chatbot is an AI-powered application designed to revolutionize the compliance review process for marketing materials in the financial sector. At its core, it acts as an intelligent assistant, leveraging advanced natural language processing and large language models (LLMs) to analyze marketing content against a comprehensive repository of regulatory documents (e.g., SEC and FINRA rules).

Users can interact with the system by uploading or pasting marketing content directly into a chat interface. The chatbot will then:

  1. Scan and Analyze: Automatically process the submitted material.
  2. Flag Potential Violations: Identify specific phrases or sections that may contravene regulatory guidelines, providing context and citing relevant rules.
  3. Offer Revision Suggestions: Propose concrete, compliant alternative phrasings and explanations to help users remediate issues effectively.
  4. Provide a Conversational Interface: Allow users to ask follow-up questions about specific rules, interpretations, or best practices, fostering a deeper understanding of compliance requirements.

This solution significantly reduces manual review time, enhances compliance accuracy, minimizes regulatory risk, and empowers marketing teams with immediate, actionable feedback, ultimately accelerating time-to-market for compliant communications.

3. Architecture & Tech Stack Justification

The Compliance Policy Chatbot will employ a modern, serverless-first architecture, combining a robust frontend with powerful AI capabilities and a flexible backend database.

High-Level Architecture:

[User Browser]
      |
      V
[Next.js Frontend (React UI, Tailwind CSS)]
      |
      V
[Next.js API Routes (Backend-for-Frontend)]
      |
--------------------------------------------------------------------------------------------------
| API Gateway/Load Balancer                                                                      |
--------------------------------------------------------------------------------------------------
      |                        |                                   |
      V                        V                                   V
[Google Gemini API]        [Supabase (PostgreSQL, pgvector, Auth, Storage)]
  (LLM, Embeddings)          (Vector Store, Document Storage, User Data, Session History)

Tech Stack Justification:

  • Next.js (Frontend & Backend-for-Frontend API Routes):

    • Justification: Next.js provides a powerful, opinionated React framework for building fast, scalable web applications. Its file-system-based routing, server-side rendering (SSR), static site generation (SSG), and API routes capabilities are crucial.
      • Frontend: React's component-based architecture is ideal for building a rich, interactive chat interface, document upload/display, and dynamic flagging/suggestion UIs.
      • API Routes: Next.js API routes serve as a lightweight backend-for-frontend (BFF), handling requests from the UI, orchestrating calls to the Gemini API and Supabase, and abstracting sensitive API keys. This keeps the core LLM and database logic server-side, preventing direct client exposure. It's also excellent for rapid prototyping and deployment.
    • Alternatives Considered: Pure React (lacks built-in routing, SSR/SSG), other frameworks like Remix (Next.js has broader adoption/ecosystem).
  • Google Gemini API (LLM & Embeddings):

    • Justification: Gemini offers state-of-the-art multimodal capabilities, critical for complex compliance analysis. Its robust natural language understanding (NLU) and generation (NLG) are paramount for identifying nuanced violations, explaining rules, and crafting sophisticated revision suggestions.
      • Embedding Models: Gemini's embedding models are used for vectorizing regulatory documents and user-provided marketing content, enabling highly relevant retrieval-augmented generation (RAG).
      • Generative Models: The core generative models are used for compliance flagging, detailed explanations, and producing high-quality, context-aware revision suggestions. As a Google project, seamless integration with other Google Cloud services (if scaled) is a benefit.
    • Alternatives Considered: OpenAI GPT models (Gemini offers competitive performance and direct Google ecosystem integration), open-source LLMs (more self-hosting complexity, potentially less accuracy for specialized compliance tasks).
  • Supabase (PostgreSQL, pgvector, Auth, Storage):

    • Justification: Supabase provides an open-source, Postgres-backed platform that serves multiple critical functions, significantly reducing development overhead.
      • PostgreSQL Database: A reliable relational database for storing user data, chat history, material submission logs, and compliance analysis results.
      • pgvector Extension: Crucially, pgvector allows PostgreSQL to store and query vector embeddings efficiently. This makes Supabase an ideal, unified solution for both structured data and the vector database required for the RAG system, simplifying infrastructure management.
      • Authentication (Auth): Supabase Auth handles user registration, login, and session management securely, allowing for easy integration with social logins or email/password.
      • Storage: Supabase Storage provides S3-compatible object storage for uploaded marketing material files (PDFs, DOCX), ensuring persistence and accessibility.
    • Alternatives Considered: Dedicated vector databases like Pinecone/Weaviate (Supabase simplifies the stack by unifying vector and relational DB), Firebase (less flexible for complex SQL queries and pgvector), separate AWS/GCP services (more setup and integration work).
  • Tailwind CSS (Styling):

    • Justification: Tailwind CSS is a utility-first CSS framework that enables rapid UI development. Its highly customizable, low-level utility classes mean developers spend less time writing custom CSS and more time building functionality. This results in consistent, maintainable designs and a significantly faster development workflow for the user interface.
    • Alternatives Considered: Bootstrap (more opinionated, less flexible), Material-UI (component library, potentially heavier), custom CSS (slower development).

This tech stack offers a powerful, scalable, and developer-friendly foundation, minimizing operational complexity while maximizing performance and security for a sophisticated AI application.

4. Core Feature Implementation Guide

4.1. RAG System: SEC/FINRA Rules Ingestion and Retrieval

The Retrieval-Augmented Generation (RAG) system is foundational, allowing the Gemini model to ground its responses in specific, authoritative regulatory documents.

4.1.1. Ingestion Pipeline (Data Source: SEC/FINRA Rules)

This pipeline is responsible for acquiring, processing, and embedding regulatory documents into the vector database.

  • Step 1: Document Acquisition:
    • Mechanism: Initial acquisition will involve a combination of manual uploads (for specific firm policies) and automated scraping from public sources like SEC.gov and FINRA.org (using tools like Playwright or Puppeteer for dynamic content, or requests + BeautifulSoup for static pages).
    • Supported Formats: PDFs, DOCX, HTML.
  • Step 2: Text Extraction & Preprocessing:
    • Process: Convert acquired documents into clean, plain text.
      • pdf-parse (Node.js) or PyPDF2 (Python) for PDFs.
      • mammoth.js (Node.js) or python-docx (Python) for DOCX.
      • HTML can be parsed with cheerio (Node.js) or BeautifulSoup (Python).
    • Cleaning: Remove headers, footers, page numbers, boilerplate text, and irrelevant formatting. Normalize whitespace.
  • Step 3: Text Chunking:
    • Strategy: Regulatory documents are dense. Chunking breaks them into smaller, semantically meaningful units suitable for embedding.
      • Recursive Character Text Splitter: A good default that tries to split by paragraphs, then sentences, then words, prioritizing natural breaks. Chunk size (e.g., 500-1000 tokens) with overlap (e.g., 100-200 tokens) to preserve context.
      • Semantic Chunking: Advanced methods could involve using an LLM to identify topic shifts or section boundaries for more coherent chunks.
  • Step 4: Embedding Generation:
    • Model: Use Gemini's embedding model (e.g., embedding-001) to convert each text chunk into a high-dimensional vector.
    • API Call: gemini.embedText({ model: 'embedding-001', text: chunk });
  • Step 5: Vector Storage in Supabase:
    • Database: Supabase PostgreSQL with the pgvector extension.
    • Schema (document_chunks table):
      CREATE TABLE document_chunks (
          id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
          document_id UUID REFERENCES documents(id), -- Link to original doc metadata
          chunk_text TEXT NOT NULL,
          embedding VECTOR(768) NOT NULL, -- Assuming embedding-001 dimension
          source_info JSONB, -- e.g., {"rule_name": "FINRA Rule 2210", "section": "Part 1.2"}
          created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
      );
      -- Index for efficient vector search
      CREATE INDEX ON document_chunks USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);
      
    • Pseudo-code for Ingestion:
      // Next.js API Route handler (e.g., /api/ingest-rules)
      async function ingestDocument(filePath, documentMetadata) {
          const extractedText = await extractTextFromFile(filePath); // Using pdf-parse, mammoth etc.
          const chunks = splitTextIntoChunks(extractedText, { chunkSize: 1000, overlap: 200 });
      
          for (const chunk of chunks) {
              const { embedding } = await gemini.embedText({
                  model: 'embedding-001',
                  text: chunk
              });
              await supabase.from('document_chunks').insert({
                  document_id: documentMetadata.id,
                  chunk_text: chunk,
                  embedding: embedding,
                  source_info: documentMetadata.source_info // e.g., { rule: 'FINRA Rule 2210' }
              });
          }
          console.log(`Document ${documentMetadata.id} ingested successfully.`);
      }
      

4.1.2. Retrieval Mechanism

When a user submits marketing content, this mechanism finds the most relevant rules.

  • Step 1: User Content Embedding:
    • Take the user's submitted marketing material (or relevant sections of it).
    • Use the same Gemini embedding model (embedding-001) to generate a vector representation of this content.
  • Step 2: Vector Similarity Search:
    • Query the document_chunks table in Supabase.
    • Perform a cosine similarity search between the user content's embedding and all stored rule chunk embeddings.
    • Retrieve the top-K (e.g., K=5 to 10) most similar rule chunks.
  • Step 3: Context Consolidation:
    • Aggregate the chunk_text from the retrieved rule chunks.
    • Optionally, de-duplicate rules or group them by regulation to present a concise, yet comprehensive, set of relevant rules to the LLM.
    • Pseudo-code for Retrieval:
      // Next.js API Route handler (e.g., /api/analyze-material)
      async function retrieveRelevantRules(userMarketingMaterial) {
          const { embedding: queryEmbedding } = await gemini.embedText({
              model: 'embedding-001',
              text: userMarketingMaterial
          });
      
          const { data: relevantChunks, error } = await supabase.from('document_chunks')
              .select('chunk_text, source_info')
              .order('embedding <-> ?', { ascending: true, nullsFirst: false, params: [queryEmbedding] }) // Cosine distance search
              .limit(10); // Retrieve top 10 relevant chunks
      
          if (error) throw error;
      
          // Consolidate and prepare for LLM
          const rulesContext = relevantChunks.map(chunk =>
              `Rule from ${chunk.source_info.rule}: ${chunk.chunk_text}`
          ).join('\n\n');
      
          return rulesContext;
      }
      

4.2. Marketing Material Scanning

  • Input Methods:
    • Text Area: Users can paste text directly into a textarea.
    • File Upload: Support for PDF and DOCX files.
      • Frontend: input type="file" component, often with a library like react-dropzone for drag-and-drop.
      • Backend (Next.js API Route): Upon file upload, the file is temporarily stored or streamed.
  • Text Extraction (for files):
    • If a file is uploaded, use server-side libraries (e.g., pdf-parse for PDF, mammoth for DOCX) within the Next.js API route to extract plain text.
  • Material Storage:
    • The original file (if uploaded) should be stored in Supabase Storage buckets, with a reference in the main marketing_materials PostgreSQL table.
    • The extracted plain text content should also be saved in the marketing_materials table for quick access and re-analysis.
    • Schema (marketing_materials table):
      CREATE TABLE marketing_materials (
          id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
          user_id UUID REFERENCES auth.users(id),
          original_content TEXT NOT NULL, -- Raw text content
          file_url TEXT, -- URL to Supabase Storage if file was uploaded
          filename TEXT,
          status TEXT DEFAULT 'pending_analysis', -- e.g., 'analyzed', 'revising'
          created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
      );
      

4.3. Compliance Flagging

This is where Gemini performs the core analysis.

  • Workflow:
    1. User submits marketing material.
    2. Next.js API extracts text (if file) and saves material.
    3. retrieveRelevantRules function is called to get context from the RAG system based on the marketing material.
    4. The retrieved rules and the marketing material are sent to the Gemini API with a specific prompt (see Section 5).
    5. Gemini returns a structured JSON response detailing potential issues.
    6. The Next.js API stores this analysis result in Supabase and sends it to the frontend.
    7. Frontend displays flagged issues, highlighting problematic phrases.
  • Gemini's Role:
    • Identify direct violations of cited rules.
    • Point out phrases that are vague, misleading, or could be interpreted incorrectly per regulatory guidelines.
    • Cite the specific rule(s) from the provided context that the material might violate.
    • Assign a severity level (e.g., High, Medium, Low) to each issue.
  • Output Structure: Gemini should be prompted to return a JSON object containing an array of identified compliance issues, each with detailed fields (see Section 5 for prompt example).

4.4. Revision Suggestions

Building on the flagged issues, Gemini generates actionable revisions.

  • Workflow:
    1. After displaying flagged issues, the user can request revisions for specific issues or for all.
    2. Another call is made to the Gemini API, this time with the specific problematic phrase, the identified issue, and the relevant rule context.
    3. Gemini generates 1-2 alternative phrasings that are compliant and explains why the suggestion is better.
    4. The Next.js API relays these suggestions to the frontend.
    5. Frontend displays suggestions alongside the original problematic text, possibly with a "replace" button.
  • Gemini's Role:
    • Provide clear, concise, and compliant alternatives.
    • Maintain the original intent of the marketing material where possible.
    • Offer brief explanations for the suggested changes, reinforcing compliance understanding.
  • Iterative Process: Users can modify the suggestions, re-submit the revised material for re-analysis, and continue this loop until compliance is achieved.

4.5. Chatbot Interface

The user-facing component of the application.

  • UI Components (Built with React & Tailwind CSS):
    • Input Area: Large text area for pasting content, "Upload File" button.
    • Chat History Panel: Displays user queries (marketing material) and chatbot responses (analysis results, suggestions, conversational replies).
    • Compliance Summary Panel: A dedicated section to clearly list all flagged issues, their severity, and relevant rule citations. This should be interactive, allowing users to click on an issue to see more details or trigger revision suggestions.
    • Revision Suggestion Panel: Appears when revisions are requested, showing original phrases, issues, and multiple suggested compliant alternatives.
    • Interactive Chat Bubble: A standard chat input field for follow-up questions about rules or analysis.
  • Interaction Flow:
    1. User inputs content (paste/upload).
    2. "Analyze" button is clicked.
    3. Frontend makes an API call to /api/analyze-material.
    4. Backend orchestrates RAG and Gemini calls.
    5. Analysis results are streamed back or fully returned and rendered in the Compliance Summary Panel and/or as a chat message.
    6. User can then click on a flagged issue, triggering a Request Revisions action which calls /api/get-revisions.
    7. Revision suggestions are displayed.
    8. User can ask general questions via the chat input, triggering a call to /api/chat with current context.
  • State Management: Use React Context API or a library like Zustand/Jotai for managing application state, including chat messages, current document, analysis results, and loading indicators.

5. Gemini Prompting Strategy

Effective prompting is critical for the chatbot's performance. Here's a strategy focusing on clarity, role-playing, few-shot examples (if applicable), and structured output.

General Principles:

  • Role-Playing: Instruct Gemini to act as an expert compliance officer.
  • Contextualization: Always include retrieved relevant rules as part of the prompt.
  • Specific Instructions: Be explicit about what to analyze and what to output.
  • Output Format: Mandate JSON output for programmatic parsing on the backend.
  • Temperature: Start with a lower temperature (e.g., 0.2-0.5) for factual accuracy in flagging, slightly higher (e.g., 0.6-0.8) for creative revision suggestions.
  • Iterative Refinement: Continuously test and refine prompts with real-world marketing materials and regulatory texts.

5.1. Prompt for Compliance Flagging

This prompt aims to identify issues and explain them thoroughly.

You are a highly diligent and experienced compliance officer specializing in SEC and FINRA regulations concerning marketing and advertising for financial products and services. Your task is to meticulously review the provided marketing material for any potential violations, risks, or inconsistencies with the supplied regulatory text.

**Instructions:**
1.  Analyze the "Marketing Material" section against the "Relevant Regulations" section.
2.  For each potential issue, identify the exact problematic phrase or sentence in the marketing material.
3.  Explain *why* it's a potential violation or risk, referencing the specific part of the "Relevant Regulations" when possible.
4.  Assign a "severity" level: "High" (direct violation, significant risk), "Medium" (potentially misleading, requires clarification), "Low" (minor issue, best practice suggestion).
5.  Return your findings in a structured JSON array. If no issues are found, return an empty array for `compliance_issues` and set `overall_summary` to "No immediate compliance issues identified."

**Marketing Material:**

{user_marketing_material_text}


**Relevant Regulations:**

{retrieved_rules_text_from_RAG}


**JSON Output Format:**
```json
{
  "compliance_issues": [
    {
      "id": "issue_1",
      "phrase": "Invest with us for guaranteed 10% returns annually.",
      "potential_violation": "The phrase 'guaranteed 10% returns' is highly problematic as financial returns are rarely guaranteed and projecting specific returns can be misleading. This directly violates FINRA Rule 2210(d)(1)(A) regarding promises of specific returns and FINRA Rule 2210(d)(1)(B) regarding exaggerated claims.",
      "relevant_rule_citation": "FINRA Rule 2210(d)(1)(A), FINRA Rule 2210(d)(1)(B)",
      "severity": "High"
    },
    {
      "id": "issue_2",
      "phrase": "Our fund consistently outperforms the market.",
      "potential_violation": "While potentially true, this claim lacks disclosure of the benchmark, time period, and methodology, which can be misleading without proper context. It risks violating SEC Rule 206(4)-1(a)(5) regarding performance advertising without proper disclosures.",
      "relevant_rule_citation": "SEC Rule 206(4)-1(a)(5)",
      "severity": "Medium"
    }
  ],
  "overall_summary": "Review required for claims of guaranteed returns and unsubstantiated performance. Two high/medium severity issues identified."
}

**5.2. Prompt for Revision Suggestions**

This prompt leverages the identified issues to generate compliant alternatives.

You are a creative and compliant marketing specialist, tasked with revising problematic phrases in financial marketing materials to adhere strictly to SEC and FINRA regulations. You have been provided with an original problematic phrase, a description of the compliance issue, and the relevant rule.

Instructions:

  1. For each problematic phrase, generate 1-2 distinct, compliant alternative revisions.
  2. Ensure the revisions retain the original intent of the marketing message where possible, but prioritize compliance.
  3. Briefly explain why each suggestion is compliant or better than the original.
  4. Return your suggestions in a structured JSON array.

Problematic Phrase:

{problematic_phrase_from_flagging}

Identified Issue:

{potential_violation_description_from_flagging}

Relevant Rule Cited:

{relevant_rule_citation_from_flagging}

JSON Output Format:

{
  "revisions": [
    {
      "original_phrase": "Invest with us for guaranteed 10% returns annually.",
      "issue_description": "Directly violates FINRA Rule 2210(d)(1)(A) regarding promises of specific returns and FINRA Rule 2210(d)(1)(B) regarding exaggerated claims.",
      "suggested_revisions": [
        {
          "text": "Historically, similar investments have aimed for target returns of up to 10% annually, though past performance does not guarantee future results.",
          "explanation": "Replaces 'guaranteed' with 'aimed for target returns' and adds a crucial disclaimer, aligning with FINRA Rule 2210."
        },
        {
          "text": "Our investment strategy seeks to achieve an annual return of up to 10%, subject to market fluctuations and risks. Past performance is not indicative of future results.",
          "explanation": "Uses 'seeks to achieve' and explicitly states 'subject to market fluctuations and risks', providing necessary disclaimers as per SEC and FINRA guidelines."
        }
      ]
    }
  ]
}

### 6. Deployment & Scaling

**Deployment Strategy:**

*   **Frontend & Next.js API Routes:** Vercel is the recommended deployment platform for Next.js applications. It provides seamless CI/CD, automatic scaling, global CDN, and serverless functions for API routes, ensuring high availability and performance with minimal configuration.
*   **Supabase:** Supabase is a managed service, so deployment is handled by their platform. It offers robust infrastructure, backups, and scaling capabilities out of the box. The database, auth, and storage services will be hosted and managed by Supabase.
*   **Gemini API:** As a managed service, the Gemini API is accessed directly via HTTP requests. No specific deployment is required for the LLM itself, only API key management (secured via environment variables in Next.js API routes).

**Scaling Considerations:**

1.  **Next.js (Vercel):**
    *   **Frontend:** Vercel's global CDN automatically scales static assets and client-side rendered parts.
    *   **API Routes:** Next.js API routes run as serverless functions on Vercel, scaling automatically based on demand. This handles concurrent user requests efficiently.
    *   **Rate Limiting:** Implement rate limiting on API routes (e.g., using a library like `next-rate-limit` or Vercel's Edge Middleware) to prevent abuse and protect downstream services.
2.  **Supabase:**
    *   **PostgreSQL & `pgvector`:** Supabase instances can be scaled up (e.g., more CPU, RAM) or horizontally (read replicas) as the database load increases. Efficient `pgvector` indexing (e.g., `ivfflat` index with appropriate `lists` parameter) is crucial for scalable vector search performance as the RAG dataset grows. Monitor database performance metrics carefully.
    *   **Auth & Storage:** Supabase handles the scaling of these services automatically.
3.  **Google Gemini API:**
    *   **Rate Limits:** Be mindful of Gemini API rate limits. Implement exponential backoff and retry mechanisms in the Next.js API routes. For extremely high throughput, consider discussing higher rate limits with Google Cloud support or exploring enterprise-grade access.
    *   **Cost Management:** Monitor Gemini API usage and costs. Optimize prompt token usage by being concise and reusing context where possible.
4.  **Data Ingestion Pipeline:**
    *   For continuously updated regulatory data, establish scheduled jobs (e.g., Vercel Cron Jobs, GitHub Actions, or dedicated serverless functions) to re-run the ingestion pipeline. This ensures the RAG system always has the latest rules.
    *   Implement idempotency in the ingestion process to avoid duplicate entries when re-running.

**Monitoring:**
*   Set up monitoring for Next.js API route performance (latency, error rates) using Vercel's built-in analytics or integrated services like Sentry.
*   Monitor Supabase database metrics (CPU, memory, query performance) through the Supabase dashboard.
*   Track Gemini API usage and costs via Google Cloud Console.
*   Implement custom logging within the Next.js API routes to capture key events (e.g., material analysis requests, Gemini errors, user interactions) for debugging and auditing.

**Future Enhancements:**
*   **User Management & Roles:** Implement distinct roles (e.g., Marketing, Compliance Officer) with different permissions.
*   **Version Control for Materials:** Track revisions of marketing materials within the system.
*   **Audit Trails:** Log all analysis and revision activities for compliance auditing purposes.
*   **Integration with CMS/DAMS:** Connect directly to marketing content management systems or digital asset management systems for automated ingestion.
*   **Expanded Rule Sets:** Integrate more regulatory bodies (e.g., global financial regulations).
*   **Multi-modal Input:** Leverage Gemini's multi-modal capabilities to analyze images or video transcripts for compliance risks (e.g., text in ads, spoken claims).

Core Capabilities

  • RAG on SEC/FINRA rules
  • Marketing material scanning
  • Compliance flagging
  • Revision suggestions
  • Chatbot interface

Technology Stack

Next.jsGemini APISupabaseTailwind CSS

Ready to build?

Deploy this architecture inside Project IDX using the Gemini API.

Back to Portfolio
Golden Door Asset

Company

  • About
  • Contact
  • LLM Info

Tools

  • Agents
  • Trending Stocks

Resources

  • Software Industry
  • Software Pricing
  • Why Software?

Legal

  • Privacy Policy
  • Terms of Service
  • Disclaimer

© 2026 Golden Door Asset.  ·  Maintained by AI  ·  Updated Mar 2026  ·  Admin