A backend service designed to handle specific everyday tasks through email/sms. https://github.com/ajot/simple_butler_service. It currently does two things:
-
Invoice and Receipt Processing:
-
Audio Note Transcription:
- Send audio notes via email
- The service transcribes them using AssemblyAI and emails the text back to you using Resend.
Learn more about it on curiousmints.com
- Python 3.x
- AssemblyAI API key
- Resend API key
- Airtable API key
- Postmark account
-
Clone the Repository
git clone https://github.com/ajot/simple_butler_service.git cd simple_butler_service
-
Install Dependencies
pip install -r requirements.txt
-
Set Up Environment Variables
Create a
.env
file in the project root:ASSEMBLYAI_API_KEY=your_assemblyai_api_key RESEND_API_KEY=your_resend_api_key RESEND_EMAIL_FROM=your_email@example.com RESEND_EMAIL_TO=recipient_email@example.com AIRTABLE_API_KEY=your_airtable_api_key AIRTABLE_BASE_ID=your_airtable_base_id AIRTABLE_TABLE_NAME=your_airtable_table_name
-
Create Downloads Directory
mkdir -p downloads
- Forward your invoice or receipt email to the service.
- Key details are extracted and logged into Airtable.
- Send an email with an audio attachment.
- The audio is transcribed and the text is emailed back.
Start the Flask app:
python app.py
For testing with Postmark, use ngrok:
ngrok http 4000
Update Postmark's webhook with your ngrok URL and /inbound
.