{"id":15064278,"url":"https://github.com/piotrkrosniak/interview-agent","last_synced_at":"2026-02-02T09:04:45.257Z","repository":{"id":256747941,"uuid":"855222998","full_name":"PiotrKrosniak/interview-agent","owner":"PiotrKrosniak","description":"Interview Agent - Python application to help you answer hard questions with transparent mode and live transcription. ","archived":false,"fork":false,"pushed_at":"2024-09-14T06:35:39.000Z","size":24662,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-04T02:44:07.383Z","etag":null,"topics":["ai","chatgpt","flet","interview-preparation","python","whisper-ai"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PiotrKrosniak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-10T14:21:09.000Z","updated_at":"2025-03-11T14:28:19.000Z","dependencies_parsed_at":"2024-09-14T18:14:02.931Z","dependency_job_id":null,"html_url":"https://github.com/PiotrKrosniak/interview-agent","commit_stats":null,"previous_names":["piotrkrosniak/interview-agent"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PiotrKrosniak/interview-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrKrosniak%2Finterview-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrKrosniak%2Finterview-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrKrosniak%2Finterview-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrKrosniak%2Finterview-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PiotrKrosniak","download_url":"https://codeload.github.com/PiotrKrosniak/interview-agent/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrKrosniak%2Finterview-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29009448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T08:40:12.472Z","status":"ssl_error","status_checked_at":"2026-02-02T08:40:10.926Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chatgpt","flet","interview-preparation","python","whisper-ai"],"created_at":"2024-09-25T00:14:40.273Z","updated_at":"2026-02-02T09:04:45.210Z","avatar_url":"https://github.com/PiotrKrosniak.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interview - Agent \n\nA interview agent build with Flet and OpenAI Whisper.\n[![YouTube](http://i.ytimg.com/vi/Cv_0TmJ9lv0/hqdefault.jpg)](https://www.youtube.com/watch?v=Cv_0TmJ9lv0)\n\n\nThis application is designed to transcribe audio input in real-time, detect questions within the transcriptions, and provide answers based on the user's CV and the job position they are applying for. The application leverages OpenAI's GPT-4o-mini model for generating responses and Whisper API for transcriptions.\n\n## Main Functionalities\n1. Real-Time Audio Transcription\nAudio Input Selection: Users can select their preferred audio input device from a dropdown menu.\nEnergy Threshold Adjustment: An energy slider allows users to set the minimum energy level required to start decoding speech, helping to filter out background noise.\nVolume Bar: A visual representation of the current audio input energy level, which changes color based on the set threshold.\n2. Question Detection and Answering\nQuestion Detection: The application uses heuristic to detect questions within the transcribed text.\nAnswer Generation: When a question is detected, the application sends the transcription chunk, along with the user's CV and job position, to OpenAI's GPT-4o-mini model to generate answers.\nAnswer Display: Answers are displayed in a dedicated \"Answers\" tab, with optional background color based on user preference.\n3. User Interface\nTabs for Transcriptions and Answers: The application features two main tabs:\nTranscriptions: Displays the transcribed text returned by the Whisper API.\nAnswers: Displays the answers to detected questions.\nText Background Option: Users can toggle a checkbox to enable or disable background color for the transcribed text and answers.\nAlways on Top: An option to keep the application window always on top of other windows.\n4. File-Based Configuration\nCV and Position Loading: The application reads the user's CV and job position from text files (uploaded_cv_text.txt and position_name.txt), ensuring that the latest information is used for generating answers.\n5. Asynchronous Processing\nNon-Blocking Transcription: The application processes transcription chunks and generates answers on separate threads to ensure smooth and uninterrupted transcription.\n\n## Setting Up An Environment\nOn Windows:\n```\ncd transcriber_app\npy -3.9 -m venv venv\nvenv\\Scripts\\activate\npip install -r requirements.txt\nflet run main.py\n```\nOn Unix:\n```\ngit clone https://github.com/PiotrKrosniak/interview-agent.git\ncd transcriber_app\npython3.9 -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\nflet run main.py\n```\n\nYou also need to setup audio device using BlackHole https://existential.audio/blackhole/support/\n\n## Usage\n* Upload Your CV and add Position you are applying too. \n* Select an input source using the dropdown.\n* Click \"Start Transcribing\"\n\nYou need to specify the device to which Agent will listen to for example if you have interview overt MS Teams select it as audio source so ONLY the questions asked by the Panel will be answered. \n\nApplication require Open AI API that you can get from their website here https://platform.openai.com/api-keys\n\n**Application only answers questions and ignore all other not relevant discussions.**\n\nYou can also make the window transparent and set the text background, this is useful for overlaying on other apps. \n\n\n\nRead more about Whisper here: https://github.com/openai/whisper\n\nRead more about Flet here: https://flet.dev/\n\nInspiration and parts of the code are implemented based on https://github.com/davabase/transcriber_app\n\n\n##EDUCATIONAL PURPOSE ONLY \n\nFree for personal None-commercial use. \n[![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrkrosniak%2Finterview-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiotrkrosniak%2Finterview-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrkrosniak%2Finterview-agent/lists"}