こんにちは!本記事では、私がPythonAnywhere上で録音アプリを開発する中で
「うまくいかなかったこと」「解決に至ったプロセス」をリアルにご紹介します。
同じように副業・収益化を目指す方にとって、「失敗をどう乗り越えるか」のヒントになれば嬉しいです!
💡 この記事の想定読者
- PythonやFlask初心者の方
- 副業・収益化を目指している方
- エラーの連続で心が折れそうな方
🚧 最初に直面した課題リスト
- 録音停止ボタンを押しても音声が止まらない
- 音声ファイルが
<input>
に自動でセットされない - 録音後、フォームが自動送信されない
- ファイルがアップロードされず、エラー表示だけが出る
- frecord.jsとHTML側の連携ミスで何度も動作停止
- サーバーログにはエラーなし、なのに動作しない
どれも初心者の私にはひとつひとつが大きな受難です。遭遇する都度、「なぜ?どうして?」の連続でした。
ここで諦めなかったことが、今思えば大きな収穫のひとつです。
🔑 解決の決定打は?
結論から言うと、「録音停止時にBlobファイルを正しくinput[type=file]にセットして送信する」こと。
具体的な手順は次の通りです:
- MediaRecorder.stop()時にBlobを作成
- DataTransfer APIでファイルをinput要素にセット
- フォームをJavaScriptからsubmit()
この流れを正しくコード化することで、やっと「録音→停止→自動送信」という自然なUXが実現しました。
(これに気づくまで、何十回も録音・停止・リロードを繰り返しました!)
🔍 どんな気づきがあったか
- 開発中は「動くまで小さく確認を積み重ねる」ことが重要
- エラーが出ないからと言って、正常動作しているとは限らない
- 一人で悩みすぎず、早めに相談や調査をすることが結果的に早道
何より学びだったのは、「うまくいかない過程」も成果だということです。
どんなに小さな進歩でも、必ず未来の自分を助けてくれます。
🚀 収益化への一歩
この録音アプリの機能は、将来的に「発音カウンセリング」サービスとして収益化を目指しています。
自分で開発したプロダクトに、自信を持って価値を付けられる日が来る。そう信じて、今も一歩ずつ進んでいます。
📚 あわせて学びたいおすすめ教材
TechAcademyのPythonコース:
短期間で確実にPythonスキルを伸ばしたい方におすすめ。
マンツーマンメンタリングもあり、初心者も安心です。
Schoo(スクー):
ライブ配信で質問しながら学べるのが魅力。動画見放題なので、すきま時間にしっかり学習できます。
🌱 まとめ|失敗は未来への種まき
エラーも失敗も、すべては成功への道のり。
「できなかった体験」こそが、次に生かせる最大の資産です。
この体験記が、今挑戦しているだれかの役に立てますように。
🌸 小さな一歩で、自分の未来を大きく変えたいな。