
Denys Zaichenko
Forward Deployed Engineer
最近の活動
- コントリビューション
- 4,724
- 営業日あたり
- 20
- 最終リリース
- 10月14日
過去1年間で4,724件のコントリビューション、1営業日あたり20件
日付を選ぶと、その日にリリースした内容が表示されます。
9月25日 · 60 コントリビューション
- 放送音声モニタリング: 新規テナントすべてに標準のしきい値プロファイルを適用
最近のリリース
- Leelooフォームは送信後にTelegramボットへリダイレクトされます
- 受信トレイでBounceを検出、チェーンは待機せずに実行されます
- 実行中にbouncesを再確認し、制限に達したら停止する
私の仕事の進め方
すべての開発で守っている4つのルール。
まず事業を理解する
チケットではなく、仕事が実際にどう行われ、障害にいくらかかるかから始めます。そこから、何を確実にすべきか、何をシンプルなままにできるかが分かります。
本当のボトルネックを見つける
遅いプロセスの多くはボトルネックが1つです。コードを書く前にそれを特定し、症状ではなく原因を解消する開発にします。
選択肢をオープンに比較する
重要な判断ごとに、何を選び、何を見送ったか、それぞれのコストをお見せします。構築の後ではなく前に、ご意見をいただけます。
確認できるものを納品する
すべての開発は、お客様ご自身で確認できる証拠で完了します。測定できる数値、またはデプロイごとに実行されるテストです。
お客様向けの実績
不動産売却向けの書類発行サービス
不動産証明書を、2〜3週間ではなく2〜3分で。
導入前
売主は証明書1通につきEUR 200〜300を支払い、担当者が書類を手作業で集める間、2〜3週間待っていました。
導入後
2〜3分
証明書1通あたり。以前は2〜3週間でした
EUR 99
証明書1通あたり。以前はEUR 200〜300でした
95%
主要な既知ポータルで完了した書類の割合
仕組み
開発した内容
サービスが管理会社のアカウントにログインしてデータを収集し、証明書そのものを作成します。発行前に全書類で5つのチェックを実行し、未知のポータルはビジョンAIが処理します。
- 1人:お客様
不動産証明書を注文します。
- 2ソフトウェア:スクリプト
既知のポータル:アカウントにログインしてデータを収集します。
ソフトウェア:ビジョンAI未知のポータル:ページを読み取ります。
- 3ソフトウェア:サービス
証明書を作成します。
- 4ソフトウェア:サービス
5つのチェックを実行してから、証明書をお客様に送ります。
常時動作
- 失敗したステップは自動で再試行されます。
- オペレーターは全ジョブを即時に確認できます。
- オペレーターアプリ
- Next.js
- React
- Tailwind CSS
- Radix UI
- Zod
- データとジョブ
- Supabase
- PostgreSQL
- 自動化とAI
- Python
- Playwright
- Crawl4AI
- Docling
- Instructor
- Gemini
- デリバリー
- Docker
- Vitest
- EU-hosted server
メディア運用チーム向けの生放送音声品質管理
音声の異常を発生と同時に通知。以前は手作業での確認でした。
導入前
解説音声は手作業での確認で、見逃した異常が視聴者に届きかねませんでした。
導入後
1時間
ネットワーク障害中に現地のマシンへ保持される測定値。イベントは24時間分
仕組み
開発した内容
現地のエージェントが各チャンネルを測定してクラウドに送信します。オペレーターはプロジェクト、しきい値、アラートを扱うWebコンソールを使います。
- 1ソフトウェア:会場
解説音声を多数のチャンネルで送出します。
- 2ソフトウェア:現地エージェント
すべてのチャンネルをEBUラウドネス基準で測定します。
- 3ソフトウェア:現地エージェント
測定値をディスクに保存し、ネットワーク断の後に再送します。
- 4ソフトウェア:クラウドサービス
異常が一定時間続いたらアラートを発報します。
- 5人:オペレーター
コンソールでアラートとインシデントを確認します。
常時動作
- クラウドは重複した測定値を無視するため、再送しても二重計上されません。
- 現地エージェント
- Python
- EBU R128 loudness
- ONNX Runtime
- PyTorch
- SpeechBrain
- Windows build
- クラウドAPI
- FastAPI
- SQLAlchemy
- Alembic
- PDF reports
- データ
- TimescaleDB
- PostgreSQL 17
- オペレーターコンソール
- Next.js
- React
- TanStack Query
- WebSockets
- uPlot
- Zustand
- 品質とデリバリー
- Docker Compose
- GitHub Actions
- uv
- Ruff
- mypy
- pytest
- Playwright
- axe
EU市場の旅行代理店向けパッケージツアー価格ベンチマーク
競合のパッケージ価格を、障害から自動で回復するジョブが定期的に収集。
導入前
競合とのパッケージ価格の比較は手作業では追いつかず、障害のたびに収集ジョブが止まっていました。
導入後
約5倍
ブラウザをやめた1サイトでの、1分あたりの収集日数(8 → 43)
仕組み
開発した内容
スケジューラーが、ローテーションプロキシ付きのブラウザプールでベンチマークジョブを実行します。スタッフは管理コンソールを使い、お客様のAIエージェントも開始できます。
- 1人:スタッフ
比較するパッケージを選びます:出発地、日付、滞在日数、人数。
- 2ソフトウェア:スケジューラー
ベンチマークジョブを開始します。
- 3ソフトウェア:ブラウザ
ローテーションプロキシ経由で、競合の価格を収集します。
ソフトウェア:HTTPクライアントブラウザが不要な1つのソースを読み取ります。
- 4人:スタッフ
管理コンソールで価格の比較を確認します。
常時動作
- 障害後は、ブラウザプールが自動で補充されます。
- お客様のAIエージェントもベンチマークを開始できます。
- 収集
- Python
- Camoufox
- Playwright
- curl_cffi
- Rotating proxies
- Apify
- APIとデータ
- FastAPI
- Supabase
- PostgreSQL
- 管理コンソール
- Next.js
- React
- Vite
- TanStack Query
- Chart.js
- AIエージェント連携
- MCP server
- 品質
- GitHub Actions
- gitleaks
- Vitest
- pytest
建設チーム向けの書類・フォーム・トラッカー
スプレッドシートとドキュメントから、現場チーム全員が使う1つの基盤へ。
導入前
書類・フォーム・現場報告はGoogleスプレッドシートとドキュメントにあり、事務所への共有も遅れました。
導入後
書類、フォーム、トラッカー、レポートをロール付きの1つの基盤で運用でき、顧客はポータルで進捗を確認できます。
仕組み
開発した内容
データベースのルールで強制するロール、現場からの写真・フォームレポート、フォームのPDF提出、招待リンク、二要素認証、顧客向け共有ポータル、監査ログ、課金を備えた1つの基盤です。
- 1人:オーナー
セクション、トラッカー、チームを備えたプロジェクトを設定します。
- 2人:プロジェクトマネージャー
フォームを作成するかテンプレートを選び、現場に送ります。
- 3人:現場担当者
現場で写真と署名を添えて入力します。入力した回答は、電波が切れても失われません。
- 4人:プロジェクトマネージャー
承認するか、差し戻します。
ソフトウェア:基盤承認されたフォームをPDFにし、トラッカーを更新します。
- 5ソフトウェア:基盤
書類をバージョン付きフォルダに保管し、レポートをPDF・Excelに出力。
人:顧客専用ポータルでフォルダとトラッカーを確認します。
常時動作
- 各社には自社のデータだけが表示されます。
- 各ロールには許可された内容だけが見え、データベースが強制します。
- リンクは失効するため、転送しても使えなくなります。
- すべての変更が監査ログに記録されます。
- アプリ
- Next.js
- React
- Tailwind CSS
- Radix UI
- Zod
- データとセキュリティ
- Supabase
- PostgreSQL row-level security
- TOTP two-factor
- Signed file links
- ドキュメント
- React-PDF
- Resumable uploads (tus)
- ExcelJS
- E-signatures
- 課金とメール
- Stripe
- Resend
- デリバリー
- Vercel
- GitHub Actions
- Vitest
- Playwright
監査法人向けのプロジェクト・工数管理
誰に何を見せるかを、画面ではなくデータベースが決める工数管理。
導入前
顧客、プロジェクト、工数が一か所に集まり、社内の誰もがすべてを閲覧・変更できました。
導入後
87
全ロールについて実際のデータベースで検証した権限チェックボックス。何もしない30個は非表示にしました
仕組み
開発した内容
マネージドPostgres上のシングルページWebアプリです。アクセスルールはすべてデータベースにあり、デプロイのたびに自動のロールマトリクスで検証します。
- 1人:オーナー
顧客・プロジェクト・工数・レポートの領域ごとに、閲覧・作成・編集・削除をチェックしてロールを作ります。
- 2人:社員
顧客、プロジェクト、タスクに工数を記録するか、休暇を登録します。
ソフトウェア:Webアプリ締め切り前に工数が空の人へリマインドを送ります。
- 3人:プロジェクト管理者
自分のプロジェクトチームの週次タイムシートを承認または差し戻します。
- 4ソフトウェア:データベース
ロールが許す範囲だけを表示します。社員は自分の工数、プロジェクト管理者はチーム、オーナーはすべての顧客が対象です。
- 5人:オーナー
ダッシュボードとレポートで、顧客・プロジェクト・担当者別の工数を確認します。
常時動作
- 以前は、社内の誰もがすべての顧客と全員の工数を開けました。現在は、画面から要求されても、ロールが許さないものはデータベースが拒否します。
- プッシュの前に、すべてのロールをデータベースの分離したコピーでテストします。
- アプリ
- React
- Vite
- TanStack Router
- TanStack Query
- shadcn/ui
- Chart.js
- データとセキュリティ
- Supabase
- PostgreSQL row-level security
- Edge Functions (Deno)
- ホスティング
- Cloudflare
- 品質
- GitHub Actions
- Role-matrix tests
- Vitest
- Property-based tests
- Accessibility tests
料金とご契約条件
- 請求
- 月額定額制
- 一時停止・解約
- いつでも
- 返金
- 最初の1週間でご満足いただけない場合は全額返金
- ご依頼
- SlackまたはTelegramで
- 返信時間
- リスボン時間で1営業日以内
Upworkレビュー5件の平均5.0
Upworkのレビューをすべて見るよくある質問
コードを書くのにAIを使いますか?
はい。AIツールは作業の定型的な部分を高速化します。私は経験8年以上のシニア開発者であり、Claude Codeの認定ユーザーです。判断、アーキテクチャの決定、品質チェックは私自身が行います。
連絡はどのように取りますか?
基本は非同期で、SlackまたはTelegramで連絡します。Builderプランには毎週30分の同期ミーティング、Partnerプランには毎月の戦略ミーティングが含まれます。リスボン時間(WET/WEST、UTC+0/+1)で稼働しており、英国、アイルランド、ヨーロッパの大部分とはリアルタイムで重なります。米国東海岸向けの同期ミーティングは午前中に行います。
既存のコードが複雑、またはレガシーな場合は?
最適なのは、新規プロジェクトや、これまで一緒に作ってきたものの拡張です。既存のコードベースがある場合は、まず1週間のコード監査を行い、安全に作業できるかを確認します。そのうえで、続けるかどうかを一緒に決めます。
満足できなかった場合は?
最初の1週間でご満足いただけなかった場合は、全額返金いたします。理由は問いません。
サブスクリプションは一時停止できますか?
はい。メッセージ1通でいつでも一時停止できます。違約金はありません。
Forward Deployed Engineerとは何ですか?
Forward Deployed Engineerとは、顧客チームと直接協働し、遠くから汎用プロダクトを作るのではなく、そのチーム自身の課題のためにソフトウェアを開発・デプロイするエンジニアです。私もこの働き方をしています。SlackやTelegramに参加し、お客様からタスクを受け、作ったものをデプロイします。AIエンジニアやフルスタック開発者といった肩書きは私のスキルを表し、Forward Deployedはお客様との仕事の進め方を表しています。
「タスク」とは何を指しますか?
タスクとは、範囲が明確な成果物のことで、機能追加、バグ修正、連携、ページなどが該当します。大きな内容は、先に小さなタスクに分割します。作業を始める前に、何が納品されるかをご確認いただけます。
お問い合わせ
開発したい内容をお知らせください。リスボン時間で1営業日以内にご返信します。
ブログ
AIエージェント、自動化、Web開発について、実際のプロジェクトから得た知見をまとめています。