16
22

【個人開発, 生成AI】エンジニア面接練習用アプリを作りました(概要紹介)

Last updated at Posted at 2024-09-01

はじめに

こんにちは!MaTTaです。

この度、「面接シミュレータRというミニアプリを開発しました!

AIを活用したリアルな面接シミュレーションを通じて、未経験エンジニアや転職希望のジュニアエンジニアの皆様の面接スキル向上をサポートします。

サービスURL

Githubリポジトリ

テーマ選定理由

以前、人事部門での勤務時に、数多くの面接やキャリア相談を担当させていただきました。この経験を通じて、求職者が面接で直面する特有の困難さや、準備不足による不安を目の当たりにしました。異動して現在の部署にいる今でも、その時に感じた課題を解決したいという強い思いがこのアプリの開発につながりました。具体的には以下の課題を解消したいと考えています。

  1. エンジニア面接特有の難しさ

    • 技術的な質問への対応
    • 自身のスキルや経験を適切に表現すること
  2. 面接練習の機会の少なさ

    • 実際の面接でしか経験できない緊張感
    • フィードバックを得る機会の不足
    • 夜型なのでCAさんと時間が合わない...

スクリーンショット

面接練習と、フィードバック振り返りの2モード
090101.jpg

AI面接担当者とは音声、マイクで擬似的な会話を行います
090102.jpg
*面接担当者の動画はVidnoz で生成された架空の人物です。同サービスのアバターは無料プランでも商用利用可能です。

アプリの特徴

1. リアルな面接シミュレーション

  • AIによる動的な質問生成
  • 音声ベースのインタラクション

3種類のAI(Chat、Text-to-Speech、Speech-to-Text)を組み合わせることで、リアルな面接環境を再現しています。この仕組みによりユーザーは音声で回答しAIの面接担当者も音声で質問するという、より実際の面接に近い体験を提供しています。なお、面接担当者の動画は音声再生中に口パクでループ再生させるという処理で代用しています。

2. パーソナライズされた体験

  • GitHubプロフィール分析によるカスタム質問

GitHubリポジトリのREADMEデータを取得しAI面接担当者に入力することでポートフォリオ面談ができるようにしました。コードの記述自体を質問するようなこともしたいのですが、リポジトリによっては情報量が多過ぎてしまうため、現時点ではREADMEで代用しています。

3. 包括的なフィードバック

  • 回答の質、デリバリー、技術的正確性の評価
  • 具体的な改善点の提示

面接モードを終了するとAIを用いてフィードバックを聞くことができます。自身の回答も文字起こしされた上で記録されるので冷静に振り返りをすることが可能です。

実装しなかったこと

「実際に面接で受けた質問を共有する機能」など、就活用SNS的な構想も当初ありましたが、個人情報や個別企業に関する投稿に伴うコンプライアンスリスクの管理が難しいと判断し実装を取りやめています。あくまで個人用のアプリに閉じました。

使用技術

分類 技術
バックエンド Ruby on Rails
フロントエンド React.js
データベース MySQL
CSS Tailwind CSS, DaisyUI
AI/ML OpenAI API (GPT-4o-mini, Text to Speech, Speech to Text)
インフラ Docker, Heroku
CI/CD GitHub Actions
モニタリング Google Analytics

今後の展望

  • 複数の面接担当者アバター追加
  • 難易度設定の実装(新卒、ジュニア、シニアなど)
  • フィードバック内容の充実
  • 音声認識と自然言語処理の精度向上
  • ユーザーの音声そのものの解析(感情、話し方など)
  • VRアプリ化

さいごに

今回はアプリの紹介まで。機能ごとの開発記録も後日書こうと思います。フィードバックやご意見がありましたら、ぜひコメントにてお寄せください。

最後までお読みいただき、ありがとうございました!


【この記事を書いた人のX】

16
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
22