AI Business Idea Generator

import streamlit as st

from openai import OpenAI

from fpdf import FPDF

from datetime import datetime


# Initialize OpenAI client

client = OpenAI(api_key="YOUR_OPENAI_API_KEY")  # 🔑 Replace with your API key


# -------------------------------

# Function: Generate business ideas

# -------------------------------

def generate_ideas(industry):

    prompt = f"""

    You are an experienced startup strategist and product consultant.

    Suggest 3 innovative startup ideas in the {industry} industry.

    

    For each idea, include:

    1️⃣ **Startup Name / Concept Title**

    2️⃣ **Problem / Pain Points**

    3️⃣ **Proposed Solution**

    4️⃣ **Target Audience**

    5️⃣ **Monetization Model**

    6️⃣ **Recommended Tech Stack**

    7️⃣ **Potential Challenges**

    

    Keep each idea concise, creative, and practical for 2025.

    Format neatly with bullet points.

    """

    response = client.chat.completions.create(

        model="gpt-4o-mini",  # Lightweight & fast

        messages=[{"role": "user", "content": prompt}],

        temperature=0.8,

        max_tokens=800

    )

    return response.choices[0].message.content


# -------------------------------

# Function: Export to PDF

# -------------------------------

def export_to_pdf(industry, content):

    pdf = FPDF()

    pdf.add_page()

    pdf.set_font("Arial", size=12)

    pdf.multi_cell(0, 10, f"AI Business Ideas for: {industry}\nGenerated on {datetime.now().strftime('%Y-%m-%d %H:%M')}\n\n")

    pdf.multi_cell(0, 8, content)

    filename = f"business_ideas_{industry.replace(' ', '_')}.pdf"

    pdf.output(filename)

    return filename


# -------------------------------

# Streamlit UI

# -------------------------------

st.set_page_config(page_title="AI Business Idea Generator", page_icon="💡", layout="wide")


st.title("💡 AI Business Idea Generator")

st.markdown("Generate startup ideas with **real-world problems & solutions** — powered by GPT!")


industry = st.text_input("🌍 Enter your industry or niche (e.g., Healthcare, Education, FinTech):", "")


col1, col2 = st.columns([2, 1])


with col1:

    temperature = st.slider("Creativity Level (Higher = more unique ideas)", 0.2, 1.0, 0.8)


if st.button("🚀 Generate Business Ideas"):

    if industry.strip() == "":

        st.warning("Please enter an industry or niche to continue.")

    else:

        with st.spinner("Generating ideas... please wait ⏳"):

            ideas = generate_ideas(industry)

            st.success("✨ Done! Here are your AI-generated business ideas:")

            st.markdown(ideas)

            st.session_state["ideas_output"] = ideas

            st.session_state["industry"] = industry


# -------------------------------

# Export options

# -------------------------------

if "ideas_output" in st.session_state:

    st.markdown("---")

    st.subheader("📤 Export or Share Your Ideas")

    col1, col2 = st.columns(2)

    

    with col1:

        if st.button("💾 Download as Text"):

            st.download_button(

                label="Click to Download .txt",

                data=st.session_state["ideas_output"],

                file_name=f"business_ideas_{st.session_state['industry']}.txt",

                mime="text/plain"

            )

    

    with col2:

        if st.button("📄 Export as PDF"):

            filename = export_to_pdf(st.session_state["industry"], st.session_state["ideas_output"])

            with open(filename, "rb") as f:

                st.download_button(

                    label="Download PDF",

                    data=f,

                    file_name=filename,

                    mime="application/pdf"

                )


No comments: