はこだて未来大×企業エンジニア 大LT2025 に参加した話
お久しぶりです、uiroです
2025年5月17日 (土曜日) に 公立はこだて未来大学 で開催された、 はこだて未来大×企業エンジニア 大LT2025 というLTイベントに、運営兼登壇者として参加してきました!
LTとは、Lightning Talk (ライトニングトーク) の略で、短時間で行うプレゼンテーション形式の発表のことです。今回は、技術に関する話題、最近アツい技術や、おすすめしたい技術について、それぞれが発表するイベントになっていました!
未来大に企業エンジニアの方々を招いて行うLTイベントは、2年ぶりの開催であり、私にとっては初めての参加になりました。
発表準備や当日の雰囲気、および作成したサービスについて、体験記としてまとめてみたいと思います。
発表準備
発表内容決め
登壇者として、LTでどんなことを話すかについて、2週間ほど前から考えました。
いくつか候補があったのですが、LTに使うためのスライド(プレゼンテーション)をどんな環境でも見られるサービスが作りたい、と以前から思っていたので、その内容で進めることに決めました。
PowerPointやKeynote、Googleスライドなどに分散していたものをまとめ、ブラウザから閲覧できるようにしました。
せっかくなので、テンプレートからスライドを作成できたり、ユーザーごとに管理できたり、PDFとしてエクスポートできたりする、盛りだくさんな内容にしました。
また、今までに使ったことがない技術を使ってみたいと考えていたために、今回はHono.js, Vercel Blob(オブジェクトストレージ), Neon(データベース)を用いた、完全サーバーレスの構成に挑戦しました。
制作にあたっての計画
話す内容が決まったので、具体的にどのようなプロダクトとして仕上げたいかを、Notionに起こしながら考えました。
今回うまくいったな、と思うポイントは、スライド配信システムに必須な機能と、追加で自分が欲しい機能を分けて考え、制作が間に合うようにあらかじめ計画を立てた点です。
他の課題や開発に追われていたことがあり、個人開発に取り掛かるのがかなり遅れてしまったため、最終的には1週間という短い期間で完成させることになってしまいました。 (ここは反省、もう少し余裕を持って進めたかった)
過ぎてしまったことは仕方がないので、残された期間で何ができるかを考えた際に、昨年度のP2HACKSで得た反省を思い出しました。P2HACKSでは、プロダクトに欲しい機能を並べ、優先順位をつけたはいいものの、具体的にどのラインまでの実装にするか、どの機能がどの程度プロダクトの本筋と結びついているかという視点が抜けていたために、1つのプロダクトとしての価値を最大限高めることができず、歯痒い思いをしました。
この経験から、このラインまでできていればスライド配信システムとして問題ない、あわよくばこの機能を足したい、という考え方を取り入れてみました。これによって、自分が実装したかった機能を完全に実装しきることは叶いませんでしたが、スライド配信システムを作るにあたって必須の機能や、確実にニーズがあると考えていた機能(PDFエクスポートの対応など)に焦点を絞って開発を進められたので、無事にLTに間に合わせることができました。
結果として、もう少し完成度を高めたかった気持ちはありつつも、満足のいく事前準備を行うことができました。
制作したサービスの紹介
使用技術
冒頭にも書きましたが、今回は以下の技術スタックを採用しました。
フロントエンドとバックエンドにはNext.jsを採用し、APIの実装にはHono.jsを採用しました。Hono.jsは軽量で高速なWebフレームワークで、どこにでもデプロイできるという特徴から、サーバーレス環境での動作に適しています。また、Hono RPCという技術を用いて、バックエンドの型をフロントエンドで利用できる設計になっています。これによって、フロントエンドで型を定義する必要がなく、不整合を防げるというメリットがあります。
データベースにはNeonを採用しました。NeonはPostgreSQLベースのサーバーレスデータベースで、ORMとしてDrizzle ORMを使用することで、TypeScriptにとって便利なデータベース操作を実現しています。
インフラにはVercel+Vercel Blob+Neon(Vercel Postgres)を採用しました。無料で使える完全サーバーレスの構成にしたことで、サーバーの管理コストを気にしなくて済みます。
また、PDFエクスポート機能にはjsPDFとhtml-to-imageを組み合わせて使用し、スライドを1ページずつ画像化してPDFとして出力する仕組みを実装しました。
機能紹介
主な機能として、以下を実装しました。
- スライドの作成・管理
- ブラウザ上でのスライド閲覧
- キーボード操作対応: 矢印キーやスペースキーでスライドを進めたり戻したりできます
- フルスクリーン表示: 発表時に便利なフルスクリーンモードを搭載しています
- PDFエクスポート: ワンクリックでスライドをPDFとしてダウンロードできます。オフライン環境での閲覧や配布に便利です
- 共有機能
意識したこと
開発にあたって、特に意識したのは「どこからでもアクセスできる」という点です。PowerPointやKeynoteなどのファイルは、環境によっては開けなかったり、フォントが崩れたりすることがあります。ブラウザベースで閲覧できるようにすることで、そうした問題を解消できました。
また、LTなどの発表の場では、聴衆に対してスライドのURLやQRコードを見せて共有したいという場面がよくあります。そのため、短いURLを発行し、QRコードをワンクリックで表示できる機能を優先的に実装しました。
当日
LT当日は、運営として、昼頃から会場の準備や参加者の誘導にあたりました。
他の方の発表を聞いて
企業エンジニアや学生の方の発表は、どれも専門的な内容や勢いのある内容ばかりで、とっても楽しかったです。
自分の発表
いよいよ、自分の番がやってきました。当日はこのスライドを使って発表しました。
https://slidex.uiro.dev/s/cQf7yN
出来立てほやほやのスライド配信システムで、かつ大勢の人の前で、講堂でLTをする機会なんてなかなかありません。ひゃー、緊張する。
普段から人前に立つと緊張しがちな性格なので、かなりドキドキしていました。
一部話が抜けてしまったことなどはありましたが、おおよそ言いたいことを順番に話すことができました。会場の雰囲気もよく、見ている方の反応もTwitterや現実でいただけたため、とても手応えのある発表になりました
これは非常に心残りな点なのですが、制限時間により、スライドの最後の方を話しきることができませんでした。今後このプロダクトをどのように伸ばしていきたいかなど、今後の展望に関する話題がすっぽり抜け落ちてしまったので、「作った」という事実ベースの発表になってしまいました…
簡単に意識できたら楽な話なのですが、やはり話しながら時間も管理しながら進めていくことは難しいです、悔しい。もう少し発表に慣れる、発表練習を増やすことで、なんとか改善していきたいところです。
懇親会
LTが全て終わり、懇親会会場の「魚鮮水産 函館五稜郭公園前店」さんにお邪魔しました。
私は友達の車で会場まで移動していて、先に着いていたので、バスで移動していた組の登場を見届けました
懇親会中の写真は、残念ながら撮っていなかったのですが、函館の海の幸や、美味しい揚げ物、サラダなどもあり、ご飯を食べながら他の発表者や企業エンジニアの方と様々なお話をする機会をいただきました。今まであまりイメージできていなかった企業エンジニアとしての生活や、今後意識しておきたいことについて、さまざまなお話を聞くことができ、とても学びの多い懇親会になりました。
とても長い一日であり、緊張からうまくいかない場面もありましたが、全体を通して普段なかなか得られない貴重な経験となりました。当日お世話になった運営の方々、企業エンジニアの皆さま、そして未来大の学生の皆さま、本当にありがとうございました。
以上で、「はこだて未来大×企業エンジニア 大LT2025 に参加した話」を終わります。
非常に学びになる体験となったので、来年以降また開催されていた際には、ご都合のつく方はぜひ参加してみてはいかがでしょうか!
uiro (@famisics)
Twitter: uiro - Twitter