関数型まつりをスタッフ視点で振り返る
2025年6月14日〜15日にかけて開催された『関数型まつり』に、運営スタッフ&登壇者として参加しました。 自分が担当した箇所を中心に、この半年間をスタッフ視点で振り返ってみます。
登壇者視点の振り返りも書きました: Elmと関数型まつり(2025) | Zenn
※ 関数型まつりの運営チームを代表するものではありません、予めご了承ください
運営チームに参加(2024年12月)
SNS上で 準備委員会キックオフミーティング の案内が目に留まったのがきっかけでした。
以前から私自身は Elm のイベントを運営していたのですが、あまり大きなコミュニティではないので、企画や運営に苦労していました。 関数型まつりを成功させることで、日本のElmコミュニティも活性化させることができたらいいなと思い、登録してみました。
運営チームではWebサイトやSNSの運用を担当するPRチームに所属しました。 私自身がWebサイトの開発・運用に携わった経験があったので、その部分で貢献できそうでした。
ロゴのデザイン(2025年1月〜2月)
『関数型まつり』の情報を発信するにあたって新しいロゴがほしいということになりました。 個人的にデザインの知識があったので進行を担当しました。 デザイン作業自体への興味を惹かれつつも、Webサイト開発のほうで手一杯になる予感はあったので、外部のデザイナーさんを紹介していただいて依頼する形で進めることに。 結果的に、これはとても良い判断だったと思います。 発注側の責任者として行動することで、1人のデザイナーに閉じることなく、より多くのメンバーの意見を反映することができました。
とはいえ、関数型プログラミングを象徴するロゴのデザインには非常に苦労しました。 特定の言語に限ったイベントであれば固有のシンタックスをモチーフにして簡単にデザインできはずですが、今回は複数の言語に跨っています。 PRチームのメンバーで議論を重ね、デザイナーさんにも試作を繰り返していただきながら、少しずつ目指す形が見えてきました。
最終的に、小さな関数の組み合わせで成り立っている関数型プログラミングを象徴する、素敵なロゴが完成しました! 「関数型プログラミングらしさ」を視覚的に表現するという難しい課題に対して、チームで議論を重ねながら、良いものを作ることができたと思います。
Webサイトのデザイン&実装(2025年1月〜)
ロゴのデザインと並行して、Webサイトの開発に着手しました。 私が参加するよりも前に、他の方が簡易なLP(ランディングページ)を整備して下さっていたのですが、SSGフレームワークの選定に関して400人規模のイベントを支えるには機能不足だと感じ、再構築を提案しました。 (コンテンツのマークアップを全てFrontmatter部分に記述させるようなフレームワークもあることを知った)
ということで、まずはフレームワーク選定から。 候補を elm-pages と lume に絞り込み、PRチームで検討した結果「せっかく関数型まつりなので、Webサイトも関数型にしよう」ということでelm-pagesが採用されました。
-
- Elm製のSSGフレームワーク(v3からはSSRにも対応)
- アプリケーションコードもElmで書けるので、機能不足で詰む心配がない
- 「ないものは自分で作ればいい」ができる
- それなりに大きなフレームワークなので、Elmの入門目的で触るのはあまりお勧めできないかも
- TEA(The Elm Architecture)やSPAを構築する場合のボイラープレートの存在を知っていると進めやすいはず
- 個人的に使い慣れていたので、開発メンバーのサポートもできると判断した
-
- JavaScript製で、Denoランタイムで動作するSSGフレームワーク
- 使用感は流行りのAstroに近いはず(Astro触ったことない)
- PRチームのメンバーにlumeを使っている人がいたので、候補として有力だった
- 検討用のPR は作成済みで、十分な手応えがあった
- JavaScript製で、Denoランタイムで動作するSSGフレームワーク
WebサイトのデザインはFigma上で進めました。 「一度の改修の差分を小さくし、CSSに不慣れな人でも実装を進めやすいこと」や「関数型プログラミングの敷居を高く感じさせないこと」を意識しています。限られたリソースやスケジュールの中では上手くできたと思いますが、来年は関数型まつりの楽しさをさらに伝えられるようなデザインを目指したいですね。
タイムテーブル周りの実装は、JSONデコーダーやカスタム型(代数的データ型)によるパターンマッチなど、関数型プログラミングやElmのエッセンスが多いので楽しめると思います。 https://github.com/fp-matsuri/2025.fp-matsuri.org/blob/main/src/Data/Schedule.elm
そんなこんなで熱心に取り組んだWebサイト実装ですが、1人きりだと少しずつ心が荒みます。 その点、今回の関数型まつりではPRチームのメンバーが適度に実装参加してくださって、救われました。 PRチームの皆さんありがとうございました🙇♂️
SNSの運用
私自身は既にX(旧Twitter)をやめてBlueskyに移行していたので、Xでの告知はPRチームの他メンバーに担当頂きました。 Blueskyにもアカウントは作ってあり、手動でXアカウントの投稿に追従させていました。 クロスポストやカスタムドメインに対応させる余裕はなかった...来年やりましょう。
スポンサーの募集
「関数型まつり」としては初めての開催にもかかわらず、前身の「ScalaMatsuri」からスポンサー企業の皆さまに引き続きご支援いただきました。 また、対象を関数型プログラミング全般に広げたことで、より多くの企業様にご支援をいただけたことは本当に心強いことでした。
とは言うものの決して順調に進んだわけではなく、スポンサーチームの地道な活動を常に感じた半年間でした。 PRチームとしては、スポンサー企業様の価値を適切に伝えることを重視し、提出いただいたロゴと広告を迅速に掲載することを心がけました。 スポンサーチームと連携しながら、企業様にとって価値のある露出機会を提供できるよう努力しました。
『関数型まつり』をご支援いただいたスポンサーの皆さま、運営スタッフの1人として改めて御礼申し上げます。 本当にありがとうございました🙇♂️
会場装飾
PRチームとしての活動とは別に、会場入口バナーやトラックA/Cのバックパネルのデザインも担当させて頂きました。登壇者、スポンサー企業様、そして関数型まつりの3者を効果的に演出すべく試行錯誤し、プラチナスポンサーが確定した段階で黒背景のデザインを提案しました。
Tシャツのデザイン(2025年5月)
スタッフTシャツと一般販売用Tシャツの両方をデザインしました。
スタッフ用Tシャツについては、ひと目でスタッフと分かることを最優先にしています。 配色はいくつか提案したのち、ScalaMatsuriからの継承として赤色が採用されました。
一般販売用のTシャツは当初は計画しておらず、5月下旬に着手しました。 思いつくままに20種類以上のデザインを用意してみたところ、どれもそれなりに購入いただけたので、作者として嬉しく思います。
「関数型まつり当日に会場で購入したかった」というご意見も頂いたのですが、販売の目的が収益の改善だったので在庫を抱えるリスクを取るわけにもいかず、会場での販売は見送りました。 (私の思いつきで始めたので、関数型まつりの直前になってスタッフの負担を増やしたくなかったのもある)
Tシャツは 関数型まつり 公式オンラインストア で購入いただけますので、引き続きよろしくお願いします。
関数型まつり 当日
運営は当日スタッフの皆さんにお任せし、私は記録撮影のバックアップとしてカメラ片手に会場を巡回していました。 自分の発表もあったので結局は大忙しの2日間でしたが、皆さんに楽しんでいただけたようで良かったです。 おつかれさまでした。
2日目終了後にはスタッフ向けのBBQもあり、本当に盛りだくさんの2日間でした。
補足:当日に タイムテーブル の差し替えが発生することを想定し、レイアウトを自動で更新できるように準備していたのですが、ついに出番はありませんでした(登壇者の皆さんに感謝)。
関数型まつり2026に向けて
現時点では2026年の開催は未定です。 とても好評だったので、来年の開催も期待したいですね!
今回限りのスタッフ参加だと思って頑張ってみましたが、「ぜひ来年も」というお誘いをいただいており、どうするか迷っています。 継続開催には今年と異なる難しさがあると思うので、安易に「やります!」とは言えないなー。
いずれにせよ今回担当したポストは他の方に委ねることになると思うので、まずはスムーズに引き継ぎできるよう準備を進めます。 関数型言語でWebサイトを作りたい方を募集しています(Elm以外も歓迎です!)。
就活中です
少し前にUIデザインの仕事を退職して、現在は求職中です。 関数型まつりがひと段落ついて、就職活動を再開するところ。 UIデザイン、エンジニアのどちらのキャリアを伸ばすか迷っていたのですが、関数型まつりの経験を経てもう一度エンジニアをやってみたいなと考え中です。
前々職では金融系のスタートアップでElmを5年間使っていたので、Elmを採用したい会社さんがあれば全力で支援したいですね。 関数型まつりで色々な言語の発表を目にしたので、他の言語のモチベーションも高まってきています。 お仕事のオファーなどありましたら、ご連絡いただけると嬉しいです!