{"id":18283663,"url":"https://github.com/olololoe110399/auto_interview","last_synced_at":"2026-05-19T10:31:29.068Z","repository":{"id":220568155,"uuid":"751980862","full_name":"olololoe110399/auto_interview","owner":"olololoe110399","description":" Auto Interviewer is a self-sustaining interview agent that conducts interviews, evaluates candidates, and updates a SQLite database and Google Sheets concurrently. It utilizes threading, a queue system, and an observer pattern for efficient parallelization and automatic notification of evaluators.","archived":false,"fork":false,"pushed_at":"2024-03-05T08:08:23.000Z","size":17,"stargazers_count":0,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T05:43:09.863Z","etag":null,"topics":["ai","auto-gpt","evaluator","gpt-4-turbo-preview","interviewer","json-mode","streamlit"],"latest_commit_sha":null,"homepage":"https://autointerview.streamlit.app/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olololoe110399.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-02-02T18:47:56.000Z","updated_at":"2024-12-09T14:50:17.000Z","dependencies_parsed_at":"2024-02-02T20:26:21.259Z","dependency_job_id":"6ad9d3cc-ef1b-496e-a74c-6c1de7c5c0b7","html_url":"https://github.com/olololoe110399/auto_interview","commit_stats":null,"previous_names":["olololoe110399/auto_interview"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/olololoe110399/auto_interview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olololoe110399%2Fauto_interview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olololoe110399%2Fauto_interview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olololoe110399%2Fauto_interview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olololoe110399%2Fauto_interview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olololoe110399","download_url":"https://codeload.github.com/olololoe110399/auto_interview/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olololoe110399%2Fauto_interview/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268987937,"owners_count":24340771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","auto-gpt","evaluator","gpt-4-turbo-preview","interviewer","json-mode","streamlit"],"created_at":"2024-11-05T13:10:19.690Z","updated_at":"2026-05-19T10:31:24.036Z","avatar_url":"https://github.com/olololoe110399.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auto interview and evaluation parallel system\n\n## Description\n\nAuto Interviewer is an autonomous interview agent which can perform interviews for any position. It has two processes\nwhich run in parallel to interview and evaluate and write to database in parallel asynchronously. It features threading\nfor parallelization a queue system and observer pattern for automatic notification of the evaluator of every Q and A\npairs. It writes to a sqlite database and save on gg sheets.\n\n## Features\n\n- [x] Interviewer\n- [x] Evaluator\n- [x] Database local\n- [x] Google Sheets\n- [x] Threading\n- [x] Queue\n- [x] Observer Pattern\n- [x] streamlit\n\n## Environment\n\n- Python 3.10.13\n\n## Installation\n\n### Requires\n\n```bash\npip install -r requirements.txt\n```\n\nBefore Deployment:\n\n- Config .streamlit/secrets.toml file\n- Create a google service account and download the json file and config the .streamlit/secrets.toml file with the path\n  to the json file.\n- Create a google sheet and share it with the email in the json file.\n- Create a .streamlit/secrets.toml file and add the following:\n\n```bash\n[connections.gsheets]\nspreadsheet = \"https://docs.google.com/spreadsheets/d/xxx/edit#gid=0\"\ntype = \"service_account\"\nproject_id = \"chat-with-gg-meet\"\nprivate_key_id = \"xxx\"\nprivate_key = \"xxx\"\nclient_email = \"xxx@xxx.iam.gserviceaccount.com\"\nclient_id = \"xxx\"\nauth_uri = \"https://accounts.google.com/o/oauth2/auth\"\ntoken_uri = \"https://oauth2.googleapis.com/token\"\nauth_provider_x509_cert_url = \"https://www.googleapis.com/oauth2/v1/certs\"\nclient_x509_cert_url = \"xxx\"\n```\n\n## Run app ⛄️\n\nRun cli app:\n\n```bash\npython main.py\n\n```\n\nRun app with streamlit:\n\n```bash\nstreamlit run app.py\n# OR\nsh bin/start.sh\n```\n\n## Run with Docker 🐳\n\nDocker build and run with Dockerfile:\n\n```bash\ndocker build -t auto_interview_app .       # Build the docker image\ndocker run -p 5001:5001 auto_interview_app # Run the docker image\n\n```\n\nRun with docker-compose:\n\n```bash\ndocker compose up --build -d\n```\n\n - GG Sheets: https://docs.google.com/spreadsheets/d/1bFwQc55UwS2axNfwHvA4D0Q0NKi1SO2JisHRdZczqgQ/edit#gid=998067017\n - Youtube: https://www.youtube.com/watch?v=LLFkEv4dMiU","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folololoe110399%2Fauto_interview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folololoe110399%2Fauto_interview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folololoe110399%2Fauto_interview/lists"}