「webアプリTokiwa-Calendar」開発
【概要】IoT連携タスク管理アプリ「Tokiwa Calendar」 【チーム構成】学生4人(フロント1、バックエンド兼インフラ1、ハード2) 【担当箇所】バックエンド・インフラ構築 【利用技術】Go 【開発環境】AWS Lambda, Firebase, MQTT 【開発背景】大学のサークルによる夏の開発合宿より発足 「チーム開発を始めたばかりでタスク管理に不慣れな学生を助ける」というコンセプトで開発した、webカレンダーアプリです。 特徴は、「ログイン不要、URL共有で誰でも手軽に編集可能な機能」と、タスク放置を防ぐ「物理的なリマインド機能(期日が迫るとパトロールランプをガンガンに回す、冷房で部屋をガンガンに寒くする等)」の二つです。 当初は手軽に使えるwebカレンダーとして作りましたが、『技育キャラバン(2025/6/15)』で企業の方から「Googleカレンダーでよくない?差別化が弱い」とフィードバックを頂きました。 そこから課題を洗い出し、ペルソナを詰め直し、現在の「物理的介入で強制的に行動を促す」コンセプトに落ち着きました。 その後、『技育博vol.4(2025/9/13)』にてフィードバックを集め、現在さらなる規模拡大に向けアーキテクチャから再設計を行っています。 【頑張ったところ/工夫したところ】 最もこだわったのは、「実装したいユーザー体験から逆算した技術選定」です。 ただのWebアプリからIoT連携へと再設計した際、フロントエンドとハードウェアの通信をバックエンド側でどう確立するかが課題でした。 そこで私はMQTTを採用しました。MQTT通信にすることで、パトロールランプや冷房など、機能の異なるハードウェアを切り替えられるようにしました。これにより、ユーザー自身が「自分が一番タスクを実行できる手段」を選べる拡張性を持たせました。当時は42tokyoで体系的なプログラミングを学ぶ前で、GoやAWSも手探り状態でしたが、公式ドキュメントを読んでシステムを構築しました。 「ユーザーのフィードバックを受け止め、分析し、必要な技術を実装する」という経験が、現在の「ユーザー体験を意識して技術を選定する」という私の開発姿勢になっています。