🎸

スピード重視のスタートアップから、安定と挑戦が共存するSKIYAKIへ

に公開

株式会社SKIYAKI開発部にて主にバックエンドエンジニアとして働いております辻井と申します。

20代は数式と向き合い、30代は教育分野で活動。そして30代後半でエンジニアに転身し、現在エンジニア歴6年目になります。

これまでのキャリアの多くはスタートアップ。
スピード重視、細かいことは後回し、とにかく0→1を素早く形にする環境で鍛えられてきました。

一方、現在携わっているファンプラットフォーム Bitfan は、既に多くのユーザーに利用される大規模システム。
「安定したリリースを最優先しながら、改善スピードも落とさない」――これまでとは異なるバランス感覚が求められる現場で、新鮮な挑戦を楽しんでいます。

正社員入社のきっかけと感じた魅力

実はSKIYAKIとは、知り合いのマネージャーを通じて特別に業務委託として半年間お世話になっていました。
その経験を通じて、社内の雰囲気やプロダクトの魅力を肌で感じることができ、次の点に特に惹かれました。

  • エンタメ領域のプロダクトが純粋に面白い
  • サービスやユーザーへの愛が社内全体から伝わる
  • 必要な情報や既存仕様について、気軽に確認・相談できる環境が整っている

特に最後の点については、Slackには開発環境の質問を気軽に投稿できる「dev_開発環境」チャンネルや、開発中のちょっとした疑問・不具合の共有を歓迎する「dev_開発_気軽に投稿」チャンネルがあり、反応も早いです。「困ったときはチーム全体で支える」という雰囲気が、日常的に感じられます。

6月から正社員として正式にジョインし、SlackやNotion、各種ミーティングを通じてプロジェクト全体の動きを俯瞰できるようになり、開発のしやすさが格段に向上しました。

SKIYAKIは、「世界中のファンとクリエイターをつなぐプラットフォームへ」 をミッションに掲げています。
単なるシステム開発ではなく、アーティストやファンの体験を豊かにするという大きな目的のもとで動いている点も、日々のモチベーションにつながっています。

最近携わった開発

直近では、Bitfanのグループチャット機能 に以下の新機能を追加しました:

  • チャット内ルールや説明の表示
  • タグ機能の追加
  • メッセージの固定アナウンス

https://bitfan.id/news/413

これらのうち、私はAPI開発を全面的に担当しました。APIは Ruby on Rails を用いて実装しています。

特に メッセージの固定アナウンス機能 では新規APIを設計・追加しました。

また、タグ機能 に関しては、仕様上、絵文字(正確には4バイト文字)が利用できない制約があるにも関わらず、これまでバリデーションが存在していなかったため、入力時にエラーメッセージが正しく表示されるようにバリデーションを追加し、ユーザー体験の改善を図りました。

さらに、既存機能との整合性を保つためにテストコードを整備し、品質を担保しながら安全なリリースを実現しました。

現在進行中の開発と取り組み

グループチャットの翻訳対応

現在は、グループチャットの翻訳対応 に取り組んでいます。

Bitfanは既に英語・韓国語・簡体字中国語に対応しており、記事やメッセージ投稿機能では翻訳機能が実装済みです。
本プロジェクトではそれを グループチャット にも展開することを目標としています。

グループチャットは多数のユーザーが頻繁に短文を投稿するため、すべてのメッセージに翻訳ボタンを出すとUIが煩雑になりやすいです。そこで以下の方針を採っています。

  • インライン(メッセージ横)の翻訳ボタン
    • メッセージの言語判定結果が「アプリの表示言語」と異なると判断された場合にのみ表示する
  • メニューからの翻訳
    • ユーザーが任意で翻訳を呼べる経路を常に残す。ただし「明らかに翻訳不要」なメッセージはメニューでも翻訳不可にする

外部APIを安易に全件呼び出すとコストやレイテンシの問題が出るため、軽量な処理を優先して必要な場合にのみ外部判定を行う設計にしています。

  1. 投稿直後に簡易判定
  • 絵文字・記号・数字・メンション・URLのみで構成されたメッセージは翻訳対象外とする(インライン・メニューともに非表示)
  • 自前の簡易判定で「ほぼ確実に日本語・韓国語」と識別できる場合は、その結果を採用し外部API呼び出しをスキップする
  1. 簡易判定で不確定な場合は外部APIにフォールバック
  • Google Cloud Translation API を呼んで言語を判定し、アプリの言語設定と比較してインライン表示の可否を決定する
  • 言語判定結果が und (言語判定不可)の場合は翻訳対象外として、インライン・メニューともに非表示とする

これらにより、不要なAPIコールを抑えつつ、実用的なUXを確保しています。

グループチャットのパフォーマンス改善

並行して、グループチャットのパフォーマンス改善 にも取り組んでいます。
チャットには10万件以上のメッセージを保持するルームも増えており、APIレスポンスの遅延が課題となってきました。

そこで、

  • New Relic を用いたレスポンス計測・ボトルネック特定
  • AWS CloudWatch / Database Insights を用いたスロークエリ調査

などを行い、原因分析とコード改善を進めています。
安定性を保ちながら、ユーザー体験の向上を目指した改善を継続中です。

最後に

SKIYAKIは、エンタメとテクノロジーが交わる面白い現場です。
もしBitfanやSKIYAKIの開発に興味がある方がいれば、ぜひ採用情報を覗いてみてください。

エンタメを愛し、技術で世界を変えたいエンジニアの皆さんと一緒に働けることを楽しみにしています!

SKIYAKI Tech Blog

Discussion