<aside>
Mail Buddy is a simple professional mail builder or generator powered by Gemini Ai.
<aside> 👉 There are issues that arise for first-time users when it comes to mailing
</aside>
After understanding the problem needs and expectations, I designed an application based on the problem solving frameworks and created high-fidelity prototype.
Checkout the live site here : https://huggingface.co/spaces/ahmadmizannh/mail_buddy
I used Streamlit to build the UI elements.
# App Title
st.title("💌 Mail Buddy")
st.write("Generate professional emails effortlessly with Gemini AI!")
# Step 1: Gemini API Key Input (Temporary)
with st.expander("Gemini API"):
gemini_api_key = st.text_input(
"Enter your Gemini API Key",
type="password",
help="Your key will not be stored."
)
if not gemini_api_key:
st.warning("Please enter your Gemini API Key to proceed.")
st.write("""
**How it Works**:
- Input your Gemini API key.
- Chat with Mail Buddy to generate your email.
- Download the generated email as a text file.
""")
with st.chat_message("ai"):
st.write("Hello 👋 human, What is your email all about?")
# Place the form and generated email output inside an expander
#with st.expander("Generate Your Email"):
# Input Form Section
with st.form(key="email_form"):
st.subheader("SECTION - Email Input")
# Email subject field
subject = st.text_input("Email Subject", placeholder="What is the subject of the email?")
# Email content fields
email_content = st.text_area(
"Email Content",
placeholder="What is your email all about? e.g., Provide updates on the project status or request details for a meeting."
)
# Sender and recipient name fields
sender_name = st.text_input("Sender Name", placeholder="Your Name")
recipient_name = st.text_input("Recipient Name", placeholder="Recipient's Name")
# Tone selector
tone = st.selectbox(
"Select the tone of the email:",
options=["Formal", "Friendly", "Persuasive", "Neutral"],
index=0
)
# Submit button
generate_button = st.form_submit_button(label="Generate Email NOW!")
with st.chat_message("ai"):
for role, message in st.session_state["chat_history"]:
if role == "ai":
st.text_area("Generated Email", value=message, height=200)
Through developing Mail Buddy, I learned how crucial early user feedback is. Getting input during the initial stages helped me understand common email writing challenges, like finding the right words and tone. This insight led me to design a more user-friendly AI-powered solution that specifically addresses these pain points. The feedback process also guided the development of features like tone selection and guided input forms, resulting in a more practical and effective email writing tool.