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:
Post a Comment