Tech Stacks

HQでのプロダクト開発は多くのツールやサービスに支えられています。私たちがよく使うツールやサービスたちを紹介します。

Tools

  • Go

    サーバーサイドの開発には主にGoを使っています。 大きなコミュニティが存在することや、GCP向けSDKが充実していること、メモリフットプリントが小さくシングルバイナリを生成できることなどを理由に採用しました。
  • TypeScript + Next.js

    クライアントコードの開発にはTypeScriptとNext.jsを使っています。 またサーバーサイドの書き捨てのコードを一部Node.jsで書くこともあります。
  • GraphQL

    APIにはGraphQLを使っています。 サーバーとクライアントの中間にapi-gatewayサーバーを設置し、サービスのGraphQLとCMSのGraphQLを統合することで、クライアントからあらゆるデータを統一的に取得することができるようになっています。 便利です。
  • Postgres

    GCPのCloud SQLがマネージするPostgresをコアのデータベースとして使っています。 Goから接続する際は下手なORマッパーは使わずにsqlcを使っています。
  • Terraform

    インフラ構成を記述するために使っています。

Services

  • Google Cloud

    HQのサービスの多くのコンポーネントがGoogle Cloudにデプロイされています。 Cloud Run, BigQuery, Cloud SQLなどをよく使います。
  • MeiliSearch

    検索やあなたへのおすすめなどの機能のバックエンドとして。 今後ますます使い込んでいきたいサービスの一つです。
  • Strapi

    サポートページのコンテンツなどユーザーエンゲージメントを高めるため臨機応変な変更が必要になるようなデータを中心にStrapiを使って管理を行なっています。
  • Google Vertext AI / Azure OpenAI Service

    Google Vertex AI や Azure OpenAI Service を通して大規模な生成AIモデルを利用しています。
  • Bubble

    リモートHQのサービスは、当初ノーコードツールのBubbleで開発していました。サービスを拡大するにあたり、 大部分は自社開発のサービスに置き換わりましたが、今でも一部の社内業務システムで使われています。 また、短期で高速に開発ができるので、プロトタイプ開発として有用です。
  • Figma

    デザインのモックを共有するだけでなくオンラインのホワイトボードとしても。
  • GitHub

    コードはGitHub上のモノリポジトリに格納しています。 GitHub Actionsもチームでよく使われるサービスです。
  • Zenhub

    GitHub Projectsを使ったスクラムに限界を感じた一方でそのために新しくツールを導入してIssuesが二重管理になることを避けたかったのでZenhubを使っています。
  • Notion

    会社全体のドキュメント管理にはNotion。 開発ドキュメントだけでなくOKRなども。
  • Slack

    日々のオンラインコミュニケーションにはやっぱりこれ。