OpenAI - Audio Processing & transcription Web Application

Job ID: 37806211

Budget: $250 – $750 USD

The project involves developing a comprehensive web app designed to process audio files, transcribe them, summarize the transcripts, and integrate with Google Sheets. This role requires expertise in both backend and frontend development, with a strong emphasis on secure, scalable, and efficient solutions.

*********write audio on top of your bid*********
Backend Development

1. Endpoint for File Upload:
- Create a RESTful API endpoint to receive audio file uploads.
- Ensure the endpoint supports the specified audio formats.
- Validate the uploaded files for type and size constraints.

2. File Name Processing:
- Extract the phone number from the uploaded file's name using a regex or string processing, based on the provided naming convention.

3. File Splitting:
- If the audio file exceeds 25 MB, split it into 25 MB segments for processing.
- Maintain the order of the segments for accurate transcription concatenation later.

4. Transcription with OpenAI API:
- Send each audio segment to OpenAI's Speech-to-Text API for transcription.
- Ensure that API requests are handled asynchronously and efficiently.

5. Transcript Concatenation:
- Concatenate the transcribed text from each segment in the correct order to create a complete transcript.

6. Transcript Summarization:
- Generate a detailed summary of the complete transcript using OpenAI's summarization feature.
- Implement functionality to allow customization of the OpenAI prompt from the frontend.

7. Google Sheets Integration:
- Use the Google Sheets API to send the data to a specified spreadsheet.
- Record the timestamp of the file submission and the extracted phone number.
- Store the combined transcript and its summary in the spreadsheet.

Frontend Development

1. File Upload Interface:
- Design a file upload component that allows users to select and submit audio files.

2. Data Display:
- Retrieve and display a list of processed transcriptions and summaries from the backend.
- Implement pagination or infinite scroll if the list is expected to be long.

3. Editing OpenAI Prompt:
- Provide a text input field for users to edit the OpenAI prompt used for summarization.
- This input should be sent to the backend and used when generating the summary.

4. Editing and Updating Google Sheets Data:
- Allow inline editing of the transcript and summary before it's sent to Google Sheets.
- Send updated data back to the backend for re-submission to Google Sheets if edited.

Security and Performance

- Ensure secure file transfers using HTTPS.
- Authenticate users before allowing file uploads or edits.
- Sanitize file names and user input to prevent injection attacks.
- Implement rate limiting and handle API quota limits for OpenAI and Google Sheets.

Testing

- Write unit and integration tests for each API endpoint.
- Test the file upload and splitting functionality with various file sizes.
- Validate the transcription and summarization accuracy.
- Test the Google Sheets API integration thoroughly.

Documentation

- Document all API endpoints with their expected inputs and outputs.
- Provide clear instructions for the frontend team on how to use the backend services.
- Include usage examples for the Google Sheets integration.

This backend system will require working with file I/O, external API integration (OpenAI and Google Sheets), and possibly a database to track the status of processing jobs. The frontend will need to interact seamlessly with the backend and provide a user-friendly interface for non-technical users.
Related categories: PHP JavaScript Python Django OpenAI