newmo 技術ブログ

技術で地域をカラフルに

2025-01-01から1年間の記事一覧

テキストエディタで愛用しているカスタムショートカットたち

こんにちは、newmo の 伊藤 です。 この記事では、筆者が特に工夫して設定しているテキストエディタのカスタムショートカットについて、周辺ツールの利用例を交えて紹介します。 記事で紹介する内容は、特定のテキストエディタには依存しないものとなってい…

あなたが支払ったタクシー料金は、どうやって乗務員の給料になるのか

newmoでソフトウェアエンジニアとして働いている @nozomuikuta です。この記事では、12月17日に投稿された「タクシーの給与計算のDX」の記事に関連して、あなたがタクシーの乗客として支払った料金が、タクシー乗務員に給料として支払われるまでの全体像を、…

Datadog DASH NYC 登壇と自動運転 Waymo 視察

Datadog の国際イベント DASH NYC に CfP から挑戦して登壇した準備の流れと、当日の様子を時系列で振り返ります。あわせてサンフランシスコで商用運行中の自動運転タクシー Waymo に乗った体験も紹介します。

Android 16でBluetoothチャネルサウンディングを試す

はじめに Bluetoothエンジニアのharadaです。 Android 16でBluetooth 6.0のチャネルサウンディングがサポートされましたね チャネルサウンディングは、従来のRSSI (電波強度) を使った距離推定とは異なり、センチメートル級の精度で距離を測定できる 技術で…

2025年下半期 QAチームの取り組み:品質向上と効率化への挑戦

2025年下半期 QAチームの取り組み:品質向上と効率化への挑戦 はじめまして、newmo QAチームのfujiemonです。 2025年下半期、私たちQAチームは品質保証プロセスの抜本的な改革に取り組みました。「限られたリソース(時間・人)で、品質を高めながら、いかに効…

ログのテイルベースサンプリングを OpenTelemetry Collector のカスタムプロセッサとして組み込む

はじめに 背景 Datadog における Ingestion コストの課題 OpenTelemetry Collector によるテレメトリ転送 テイルベースサンプリング ヘッドベースサンプリングとの違い 懸念点 1. リソース消費 2. スケーリングの難しさ ログのテイルベースサンプリングとは…

3つのプラットフォーム(iOS/Frontend/Android)での開発と振り返り

はじめに 2025年は、iOS、Frontend、Androidの3つのプラットフォームで開発しました。本記事では、各プラットフォームでの開発を簡単に振り返り、プラットフォーム間の移動について、ゆるく考えたことをまとめました。 3つのプラットフォームでの開発 メイン…

タクシーの給与計算のDX

newmoでsoftware engineerとして働いているtazoeと言います。この記事では、最近(2025年12月現在)取り組んでいるタクシー会社のDXにおける給与計算のチームのドメインや背景などについてご紹介します。 給与計算のドメイン 私達のチームでは、給与計算のド…

ソフトメーターを考える

newmoのメーター連携の課題を解決する可能性のあるソフトメーターの調査とOBDでの車速取得の検証をしました。

Coding Agentと幾何学アルゴリズムを活用した地図上の滑らかなピン操作の実現

本記事では、バックエンドから配信される複雑な「乗降車禁止エリア」を回避しつつ、ユーザーにストレスを感じさせない滑らかな操作感を実現するために行った幾何学アルゴリズムの選定と、Coding Agentを活用したTDD(テスト駆動開発)の実装アプローチについ…

腕で始めるフィジカルAI

はじめに こんにちは、newmoの自動運転開発チームのigaryoです。 newmoでは、自動運転タクシーの運行に向けて、自社の車両によって収集したデータを元に自動運転モデルを学習・構築し、そのモデルで車両を動かすことに挑戦しています。そのためには、 高品質…

音声AI Agentの評価・テスト基盤を支えるUserSimulatorの実装

newmoではタクシーの音声配車AIエージェントの「Maido」を開発しています。前回の記事では、LLM評価フレームワークのDeepEvalを用いたMaidoの会話評価基盤について紹介しました。 この記事では、その基盤を支えるもう一つの主役である「UserSimulator」の実…

PayloadCMSを「管理画面基盤」として使う — 半年の学びと設計判断

この記事は newmo Advent Calendar 2025 15日目の記事です。 はじめに newmoでは2025年6月から求人サービス「newジョブ」の開発を進めており、その中でHeadless CMSとしてPayloadCMSを採用しました。 本記事では、約半年の本番運用を通じて得た知見を共有し…

プロダクトチーム全員でAIエージェント縛りの開発を一週間試しました

newmoのプロダクトチームで、AIエージェント活用開発トライアル(AI Agent Development Trial = AADT)を実施しました。1週間、チーム全員でClaude CodeやDevinを使ってコードを書くという取り組みです。 この記事では、なぜこのトライアルを行ったのか、何…

なぜ「時間」がわかれば「場所」がわかるのか〜時計・測位に関する人類の歴史〜

はじめに newmoではタクシー配車アプリや自動運転に必要な測位技術など様々なサービスで位置情報を取り扱っています。今では当たり前のように使うGPSなどによる衛星測位技術ですが、人類の歴史的に見ると運用が始まったのはごく最近の話です。これまでにも人…

生成AIの入出力品質は「フォーマット」で決まる ― 中間表現とテンプレートの組み合わせ

生成AIにドキュメントからテストケースを生成してもらったり、仕様書からコードを生成してもらったりする機会が増えてきました。しかし、こんな経験はないでしょうか? 入力の理解が不十分 - AIが仕様を読み飛ばす、重要な制約を見落とす 出力フォーマットが…

今 newmo で流行っている 3D プリンタを使った創作

はじめに 今日は newmo のプロダクトエンジニアの間で最近流行している 3D プリンタを使った創作について紹介します。 newmo の東京オフィスには大きめの 3D プリンタがあり、社員が交代で印刷しています。 3D プリンタが実際に稼働している様子 オフィスに…

ergo - Goのエラーライブラリを自作して1年間利用してみた振り返り

はじめに Goのエラー処理 Goのエラー処理に何かライブラリを利用していますか? この質問はGo 1.0のリリースから10年以上経つ今でも、日本のGoコミュニティでよくされる質問です。筆者(tenntenn)もよく他社の方からされます。 pkg/errorsやgolang.org/x/xe…

LangfuseとDSPyを使った定量的なプロンプト評価と改善の仕組み

(この記事は心のこもった手書きでお届けしております) @kuといいます。 10月に放送された「ガイアの夜明け」で紹介された、タクシーに乗りたいお客さまからの電話を受けて指定場所に迎車するLLMプロダクトmaido(Mobility AI Dispatch Operator)の開発に携わ…

Design Tokenが変化することを前提にした型安全なCSS — newmoでPanda CSSを採用した理由

© 2023-Present Segun Adebayo newmoでは、1行目のCSSを書く前に1つ目のDesign Tokenを定義しました。Design Tokenを起点にした開発を実現するため、CSSスタイリングフレームワークにはPanda CSSを採用しています。 しかし、創業期のスタートアップでは、デ…

仕様解読困難な状況を AI と共に解読した話

はじめに newmoグループでは参画してくれたタクシー会社のDXを行っています。タクシー業界は老舗企業が多く、運用されているシステムに関する知見が社内に残っていないケースが珍しくありません。また、長年稼働してきたシステムは技術的にもレガシー化が進…

LLMの安定した出力のために - Prompt Linterの活用

newmoでは様々なタクシー業務の内製化・効率化(DX)に取り組んでいます。 タクシーはアプリを利用して呼ぶこともできますが、電話による配車も昔からのお客さまや、事業者の方などから根強い人気があります。 私はるふ(@_ha1f)の所属するMaido(Mobility AI …

newmoでのAlloyDBの最適化の日々

1. はじめに newmoではメインのデータベースとしてGoogle CloudのAlloyDBを利用しています。サービスの成長に伴い、GraphQLやgRPCを通じたリクエストが増加し、最近、本番環境のデプロイ時にCPU負荷が90%を超えるという問題に直面しました。 本番環境へのデ…

ルックバック ニューモ エンジニアリング 2025

はじめに newmo Engineering として、はじめて Advent Calendar を実施する運びになりました。 いままでも一部のエンジニアは各々カンファレンスなどで発表しておりますが、普段発信しないメンバーも含めて newmo に所属のエンジニアがどのようなことを行っ…

Google ADK × DeepEvalで構築する音声AI Agentの会話評価基盤

newmoでは、GoogleのAgent Development Kit(ADK)を用いて音声配車AIエージェント「Maido」を開発しています。 これは従来オペレーターが電話で行っていた配車を、音声対話で自動化する取り組みです。Maidoについては以下のnoteで詳しく解説しているので、…

GitHub ActionsでESLintのShardingを実装して、CIの実行時間を51%削減しました

newmoでは、pnpm workspaceで管理している複数のアプリケーションやライブラリに対してESLintを実行しています。 プロジェクトの成長とともにLint対象のファイル数が増加し、CI実行時間とメモリ使用量が増加していました。GitHub Actionsのmatrixオプション…

monorepoでのApollo Client v4移行 - pnpm named catalogとLLMによる段階的移行

Apollo Client v4が2025年9月にリリースされました。エラーハンドリングの改善やバンドルサイズの削減など多くの改善が含まれていますが、破壊的変更も多く含まれています。特にmonorepo環境では、複数のアプリケーションや共有ライブラリが同じパッケージに…

Go Conference 2025 でワークショップ「†開発を加速させる黒魔術講座†」を開催しました!

先日開催された Go Conference 2025 にて、newmo のエンジニアから「†開発を加速させる黒魔術講座†」というワークショップを開催させていただきました。本記事では、現在も公開しているこのワークショップの内容について紹介します! †開発を加速させる黒魔…

renovatebotとpnpm catalogで実現する依存関係の自動アップデートとハンドブックによる安全な更新

はじめに モノレポ環境での依存関係管理は、プロジェクトの規模が大きくなるほど複雑になります。 newmoでpnpm catalogを導入してOne Version Ruleを実装し、パッケージのバージョンを一元管理する仕組みを構築しました。詳細はmonorepo内でのパッケージのバ…

feature flag 入門と newmo の feature flag 基盤について

こんにちは。Platform Team の tobi (@iam__tobi) です。 本記事では feature flag の基礎的事項の説明と、Platform Team で開発してきた newmo 独自の feature flag 基盤の設計思想と全貌について二段構成でご紹介します。 これから feature flag を導入し…