僕がDjangoによるバックエンド開発に関わった音声メモアプリがサービス公開した話

記事
IT・テクノロジー
久しぶりの投稿なので簡単に自己紹介すると、最近は主にGPT-3 (生成AIのAPI)を使ったWebアプリケーション(Django)開発や、それを解説した技術ブログの寄稿を主にやらせていただいておりますべナオと申します。

今回のブログでは、ココナラさんで実際に仕事をお受けした時の体験談を、そこまでの経緯も合わせて紹介したいと思います。

想定する読者さんは、以下のような方です。
・「Pythonエンジニアの働き方に興味がある」
・「Pythonエンジニアの普段見れない裏側を知りたい」
・「暇つぶしにべナオの記事でも読んでみるか」


1. 外部サイトでPythonの記事を3年書き続けていたらネットで依頼が来るように

もともとは外部の某ブログサイトでPythonの技術ブログを趣味で書いていました。扱うテーマはチャットボットや機械学習やSNS分析などです。始めた当時(4年前)は今ほど日本のPythonエンジニアが多くなかったので、ネットで公開するだけでPVが伸びていたのを覚えています。

それからも自作のプログラムを中心に、技術ブログを数ヶ月おきに書いてきました。ほとんどのnoteは無料で、自分の知識の整理やSNSを介しての他のエンジニアの方との交流を目的として地味に続けてきました。

知り合いのバーを借りて、エンジニア向けの交流会を開いてパスタを自分で作ってお客さんに出していたりもしました(料理は今でも好きです)。

そんなこともあってTwitterで少しは目立っていたのか、IT系の方にフォローされることが増えていきました。そこでこんなことを思いついたのです。
「これだったらネットで仕事を受ける窓口さえあれば、実際にお仕事が来るのではないか?」

実際に窓口を作ってみました。もちろん、作ってからしばらくは閑古鳥が鳴いていたのを覚えています。

するとある日、こんな依頼がやってきます。
※お客様に許可を貰った上で公開しています。

1686391960988-kzulRAwa9K (1).jpeg

どうやらDjangoを使った新規サービスの開発を1人でしていて、苦戦しているとのこと。なかなかの勇者ですね。脱サラして始めた、みたいな感じでしょうか。

気持ちがわからないわけではないので、詳しい話を聞いてみることに。
どうやら手伝える部分がありそうということで、一部の機能開発を受けることに。

1686392851519-YZ5of8e8Ar.jpeg

詳しい機能開発の様子はここでは公開を避けますが、マイクで音声を入力して、Googleの音声認識APIでテキストに変換する機能を主に担当しました。

僕の働き方は、主にこういったやりとりの連続で構成されています。もともと趣味ブロガーだったので、マーケティングの知識が多少なりともあったことを活かしてみた形ですね。

このネットを介してラフに仕事を受けるやり方のメリットは、そのままなら出会うことがなかったような方々と一緒に、今までやったことのないような仕事ができることです。

こういった仕事で得た知識や経験をもとに、記事を書いたり新しい技術を触ったりするきっかけにすることも多いです。

2. 音声メモアプリ「声に線を」の紹介

ココナラさんの規約で外部サイトのリンクを張るのはNGなので、開発に協力させて頂いたアプリの画面と簡単な紹介だけさせて頂きます。

picture_pc_f8ad087680033042688f6eadc0d80a6e.gif

このようにPCのマイクで発話した内容がアプリ画面上に自動で入力され、マウスによるドラッグアンドドロップで自由に整理できます。

1686471692062-KpePLe4nkY (1).jpeg

これはPythonでWebアプリケーションを開発するときに使われるDjangoというフレームワークの構成図です。ブラウザからアクセスして、データベースのデータをHTML上に表示するまでの流れを図示したものを作ってみました。

テキストとテキストの間に自由に矢印が引けるので、このようなチャート図を資料用によく作るという方は役立ちそうです。

単純なメモアプリであれば普通はPythonを使うこともないでしょうが(RubyPHP、Javaで十分)、今回は音声を認識して文字起こしするという特殊な入力方法を実現するためにPythonを使いました。機械学習を用いる機能を作りやすいのがPythonの特徴です。

同じ音声認識ライブラリといえば、最近ChatGPTで有名なOpenAIの公開しているWhisperもPythonで使うことができます。ChatGPTのAPIを使えば、AIと対話できるようなチャットボットを開発することもできます。

エンジニアに興味のある方に伝えたいこととしては、自分が作りたいアプリがどんなものなのかのイメージをはっきりとさせることで、自分が学ぶべきプログラミング言語が見えてくるということです。

またWebアプリ開発を依頼する側の方がもしいましたら、AIを使ったWebアプリの開発にはPythonが使えるエンジニアがおすすめ、ということだけお伝えしておきます。

それでは最後までお読みいただきありがとうございます。少しでも参考になったという方はいいね&フォロー頂けますと嬉しいです。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す