OpenAI Email Dashboard with Python & Streamlit

Job ID: 40544553

Budget: $250 – $750 AUD

Title: Python developer for local Outlook email operations dashboard — staged fixed-price build
I want to build a simple local Windows email operations dashboard.
This is not a SaaS product. It should run locally on my Windows laptop and be simple enough for me to maintain and modify later.
I want Stage 1 to be a useful email command centre, but I want Stage 1 broken into smaller fixed-price milestones.
Main technology preference:
• Python
• Streamlit dashboard
• Microsoft Graph API / Outlook email
• OpenAI API
• CSV/Markdown outputs
• Simple config files
• Local Windows setup
Important:
• Stage 1 is read-only/safe.
• Do not send, delete, archive, forward, or attach emails.
• Draft replies are okay, but they must only be shown or saved as Markdown files.
• No email action should happen automatically.
• I want a simple local dashboard, not a complex SaaS app.
• I want clear documentation and handover.
• I want fixed-price quotes for each minor milestone.
Stage 1A — Project setup and dashboard shell
Requirements:
• Create Python project.
• Create local Streamlit dashboard.
• Add main dashboard sections/buttons:
o Check Emails Now
o Urgent
o Waiting on Me
o Waiting on Them
o FYI Summary
o Draft Replies
o Daily Notes
o Export CSV
o Settings
• Create simple folder structure.
• Add requirements.txt.
• Add .env.example.
• Add README.md.
• Add config files:
o categories.yml
o prompts.yml
o settings.yml
Stage 1B — Outlook/Microsoft Graph email connection
Requirements:
• Connect to Outlook/Microsoft email using Microsoft Graph API/OAuth.
• Read latest unread emails or recent inbox emails.
• Extract:
o sender
o subject
o date/time
o snippet/body preview
o message ID
o conversation/thread ID if available
• Show emails in the dashboard.
• Export raw email list to CSV.
• No email modifying actions.
Stage 1C — Email classification
Requirements:
• Use OpenAI API to classify emails.
• Categories must be editable in categories.yml.
• Suggested categories:
o urgent
o waiting_on_me
o waiting_on_them
o FYI
o subcontractor_invoice
o client_issue
o internal_update
o personal_admin
o junk/no_action
• Add urgency:
o high
o medium
o low
• Add suggested action.
• Add reason for classification.
• Add confidence level.
• Display urgent/high priority emails clearly in red.
Stage 1D — Notes and FYI summaries
Requirements:
• Create daily_notes.md.
• Automatically add short notes from important emails.
• Summarise generic/group/broadcast emails into an FYI Summary section.
• FYI items should not clutter the urgent/action list.
• Daily notes should be viewable from the dashboard.
• Daily report should be saved to outputs/reports/.
Stage 1E — Follow-up tracker
Requirements:
• Create email_tracker.csv.
• Track:
o sender/person
o subject
o status
o category
o urgency
o date received
o age
o suggested action
o waiting_on_me
o waiting_on_them
o done
o FYI
• Identify emails I likely need to respond to.
• Identify emails where I am waiting for someone else.
• Show overdue items.
• Suggested default rules:
o urgent + no response after 2 hours = overdue
o waiting_on_me after 1 business day = overdue
o waiting_on_them after 3 business days = follow-up suggested
• Export tracker to CSV for Excel.
• Keep it simple and editable.
Stage 1F — Draft reply suggestions
Requirements:
• For emails marked as needing a reply, create a suggested draft response.
• Drafts should be displayed in the dashboard and saved as Markdown.
• Do not send emails.
• Do not create Outlook drafts yet unless separately approved.
• Draft should include:
o proposed reply text
o missing information
o recommended next action
o confidence level
• Buttons/options preferred:
o Generate Draft
o Regenerate Shorter
o Regenerate More Formal
o Copy Draft
Stage 1G — Alerts and usability polish
Requirements:
• Red urgent banner for urgent emails.
• Optional Windows notification for urgent emails.
• Optional sound alert for urgent emails.
• Dashboard should be simple and usable.
• Add Settings page or config instructions so I can change:
o categories
o urgency rules
o email check limit
o OpenAI model
o folder paths
o reminder thresholds
Stage 1H — Handover, backup, and recovery
Requirements:
• Include README.md with exact setup instructions.
• Include setup_new_laptop.md explaining how to restore the project on a new Windows laptop.
• Use .env for secrets and .env.example for placeholders.
• Do not store secrets in code.
• Include clear comments.
• Do a handover call showing:
o how to run it
o how to change categories
o how to change prompts
o how to export CSV
o how to recover on a new laptop
Preferred project structure:
local-admin-agent/
├── app.py
├── config/
│ ├── categories.yml
│ ├── prompts.yml
│ └── settings.yml
├── modules/
│ ├── email_connector.py
│ ├── classifier.py
│ ├── tracker.py
│ ├── notes.py
│ ├── draft_replies.py
│ └── dashboard.py
├── data/
│ ├── email_tracker.csv
│ └── daily_notes.md
├── outputs/
│ ├── reports/
│ └── drafts/
├── .env.example
├── requirements.txt
├── README.md
└── setup_new_laptop.md
Future stages after Stage 1, not required now:
Stage 2:
• Search local documents and use them as context.
• Find related contracts, rates, PDFs, Word docs, Excel files.
Stage 3:
• Create Word documents from templates.
• Create letters, scopes, briefing notes, summaries.
Stage 4:
• Suggest attachments with manual approval.
Stage 5:
• Add workflow buttons and Power Automate/browser automation.
Please quote:
1. Hours for each minor stage 1A to 1H.
2. Fixed price for each minor stage.
3. Total fixed price for all Stage 1.
4. Timeline for each minor stage.
5. Your hourly rate for future work.
6. Similar work you have done.
7. Whether you have Microsoft Graph/Outlook API experience.
8. Whether you have OpenAI API experience.
9. Whether you have built Streamlit dashboards.
10. What you need from me to start.
I prefer to start with Stage 1A and 1B first as a paid trial. If those are done well, I will continue with the remaining minor stages.