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
日々のオンラインコミュニケーションにはやっぱりこれ。