{"settings":[{"data":{"seo":{"title":"Tech Studio Lab｜スマホアプリ × AI のフリーランスエンジニア 渡辺","description":"面倒な業務を、手軽に仕組み化。iPhone・Androidアプリ開発とAIの組み込みを専門に、業務システム・EC構築までご相談から納品・保守まで一人で担当するフリーランスエンジニア 渡辺のポートフォリオです。ランサーズ公認ランサー、評価満足100%。"},"hero":{"lead":{"en":"","ja":""},"image":"","label":{"en":"Freelance engineer | Mobile apps × AI","ja":"フリーランスエンジニア｜スマホアプリ × AI"},"story":[{"text":{"en":"Tell me what slows your team down.","ja":"「こんなことで困っている」を、気軽にご相談ください。"},"label":{"en":"Consult","ja":"相談"}},{"text":{"en":"I turn paperwork and manual tasks into a simple system.","ja":"紙や手作業の業務を、使いやすい仕組みに置き換えます。"},"label":{"en":"Design","ja":"仕組み化"}},{"text":{"en":"Apps and AI take over the daily routine.","ja":"アプリとAIで、毎日の作業を自動で回します。"},"label":{"en":"Automate","ja":"自動化"}},{"text":{"en":"I stay with you until it pays off.","ja":"導入後も運用に伴走し、成果につなげます。"},"label":{"en":"Results","ja":"成果"}}],"title":"Tech Studio Lab","tagline":{"en":"Turning tedious work into simple systems.\nMobile apps and AI that lighten your load.","ja":"面倒な業務を、手軽に仕組み化。\nスマホアプリとAIで、はたらくを軽くします。"},"primaryButton":{"url":"#contact","text":{"en":"Start a project","ja":"お仕事のご相談"}},"secondaryButton":{"url":"#works","text":{"en":"See my work","ja":"実績を見る"}}},"logo":{"sub":{"en":"Freelance engineer · mobile apps × AI","ja":"スマホアプリ × AI のフリーランスエンジニア"},"text":"Tech Studio Lab","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755297067-qjk6hd-avatar-logo.webp"},"badges":[{"url":"https://www.lancers.jp/profile/bestengineer","note":{"en":"","ja":""},"unit":{"en":"","ja":""},"title":{"en":"Lancers","ja":"ランサーズ"},"value":{"en":"Verified Lancer","ja":"公認ランサー"},"emblem":"crane","caption":{"en":"","ja":""}},{"url":"https://www.lancers.jp/profile/bestengineer","note":{"en":"","ja":""},"unit":{"en":"jobs","ja":"件"},"title":{"en":"Other platforms","ja":"外部実績"},"value":{"en":"217","ja":"217"},"emblem":"knot","caption":{"en":"On Lancers profile","ja":"ランサーズ登録"}},{"url":"#articles","note":{"en":"","ja":""},"unit":{"en":"","ja":"本"},"title":{"en":"Articles","ja":"技術記事"},"value":{"en":"47","ja":"47"},"emblem":"brush","caption":{"en":"Qiita, Zenn, note","ja":"Qiita・Zenn・note"}},{"url":"","note":{"en":"","ja":""},"unit":{"en":"+ yrs","ja":"年以上"},"title":{"en":"Experience","ja":"開発経験"},"value":{"en":"10","ja":"10"},"emblem":"pine","caption":{"en":"","ja":""}}],"footer":{"links":["github","qiita","zenn","note"],"copyright":"© 2026 渡辺@Tech Studio Lab"},"notice":{"url":"","text":{"en":"","ja":""}},"contact":{"email":"watanabe@techstudiolab.jp","links":["lancers","crowdworks","qiita","zenn","note","github"],"formKey":"95feccd0-bf08-44fc-bc5e-4d0c613062d7"},"sealText":"渡辺","siteName":"渡辺@Tech Studio Lab","platforms":[{"id":"lancers","url":"https://www.lancers.jp/profile/bestengineer","label":{"en":"Verified Lancer","ja":"公認ランサー"}},{"id":"crowdworks","url":"https://crowdworks.jp/public/employees/5855926","label":{"en":"Contract development","ja":"受託開発"}},{"id":"qiita","url":"https://qiita.com/TechStudioLab","label":{"en":"Tech articles","ja":"技術記事"}},{"id":"zenn","url":"https://zenn.dev/techstudiolab","label":{"en":"Tech articles","ja":"技術記事"}},{"id":"note","url":"https://note.com/techstudiolab","label":{"en":"Columns","ja":"コラム"}},{"id":"github","url":"https://github.com/TechStudioLab","label":{"en":"Source code","ja":"ソースコード"}}]}}],"entries":[{"id":"b126f981-c4c2-4e29-870a-9e08770a4440","collection":"projects","position":0,"visible":true,"data":{"url":"","role":{"en":"Solo, from first call to delivery","ja":"ご相談〜納品まで単独で担当"},"slug":"mobility-iphone-ipad-app","tags":["スマホアプリ","iPhone","iPad","リピート"],"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755275985-4d5jbf-lancers-749575.webp","title":{"en":"iPhone & iPad app for the automotive and motorcycle industry","ja":"自動車・バイク業界向け iPhone・iPad アプリ"},"client":{"en":"","ja":""},"period":{"en":"25 days","ja":"25日"},"points":{"en":["Designed for both iPhone and iPad screen sizes","Tested with real-world use in mind","Repeat order from the client"],"ja":["iPhone・iPad両方の画面サイズと操作性に合わせた設計","実運用を意識した動作確認","継続発注（リピート）"]},"review":{"en":"They quickly came back with concrete proposals and adjusted things to our wishes, so the project is going smoothly.","ja":"具体的な内容を迅速に出していただきました。希望に沿った調整も対応いただけておりスムーズに進められています。"},"source":"https://www.lancers.jp/profile/bestengineer/portfolio","details":{"en":"I developed and tuned an iPhone and iPad app around how it would actually be used, from confirming the specification through to delivery. The layout and controls were designed for both screen sizes. The client ordered again, so this is a repeat engagement on Lancers.","ja":"ご要望と仕様を確認しながら、現場で使われることを前提にiPhone・iPadアプリを開発・調整し、納品まで対応しました。iPhoneだけでなくiPadでの利用も想定し、画面サイズごとの操作性を考慮して設計しています。本案件は継続してご依頼いただき、ランサーズ上でもリピート実績となりました。"},"category":"app","features":{"en":["Requirements and specification review","Screen implementation","Feature development","iPhone / iPad tuning","Testing","Fixes and delivery"],"ja":["要件・仕様確認","アプリ画面実装","機能実装","iPhone / iPad 向け調整","動作確認・テスト","修正対応・納品"]},"industry":{"en":"Manufacturer (cars and motorcycles)","ja":"メーカー（自動車・バイク）"},"siteType":{"en":"iPhone & iPad app","ja":"iPhone・iPad アプリ"},"description":{"en":"A mobile app built for real-world use; the client came back for a repeat order.","ja":"実際の利用環境を想定したモバイルアプリを開発し、継続してご依頼いただきました。"},"technologies":["Swift","iOS","iPadOS","Flutter"]},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"754a8dcf-d97d-44c4-a7e7-659d638f4678","collection":"categories","position":0,"visible":true,"data":{"icon":"ai","name":{"en":"AI & automation","ja":"AI活用・業務自動化"},"slug":"ai","color":"#c8102e","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755279766-v8tlng-pillar-automate.webp","subtitle":"AI & AUTOMATION","description":{"en":"Business automation with AI agents, and data collection and AI analysis tools.","ja":"AIエージェントによる業務自動化や、データ収集・AI分析ツールの実績です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"dbe22d4f-4378-4011-a7e8-c4ff3b1df5d2","collection":"topics","position":0,"visible":true,"data":{"icon":"app","name":{"en":"Mobile apps × AI","ja":"スマホアプリ × AI"},"slug":"mobile","color":"#1f4e9c","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755280593-z5pirw-topic-mobile--mSBRJPc.webp","subtitle":"MOBILE × AI","description":{"en":"On-device AI, choosing Flutter or React Native, moving to the New Architecture — deep dives into my specialty.","ja":"オンデバイスAI、Flutter / React Native の選び方、New Architecture への移行まで。専門のスマホアプリを深掘りします。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"7a5fca1e-7d63-4260-940d-3f29dfd40a58","collection":"sections","position":0,"visible":true,"data":{"body":{"en":"My strength is AI-driven business efficiency: automating work with generative AI and agents, collecting web data and analysing it with AI, and turning paper and spreadsheet work into systems. We map your workflow together to decide what is worth automating and where a system will lighten the load, then start where the payoff is largest. My main line of development is smartphone apps (iOS / Flutter / React Native). I handle everything from the first call to design, development and maintenance, so decisions are quick and nothing gets lost in translation.","ja":"強みは、業務効率化 × AI活用です。生成AI・AIエージェントによる業務自動化、Webデータの自動収集とAI分析、紙やExcelで回している業務のシステム化まで。「何を自動化すべきか」「どこを仕組み化すれば負担が減るか」を業務フローから一緒に整理し、効果の大きいところから形にします。開発の主力はスマートフォンアプリ（iOS / Flutter / React Native）。ご相談から設計・開発・保守まで一人で担当するので、話が早く、意図がそのまま形になります。"},"lead":{"en":"","ja":""},"slug":"about","type":"mission","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755279007-bycgtg-about-CM33-JKf.webp","label":"About","stats":[],"steps":[],"theme":"white","title":{"en":"Turning tedious work\ninto simple systems","ja":"面倒な業務を、\n手軽に仕組み化する"},"pillars":[],"navLabel":{"en":"About","ja":"私について"},"services":[],"buttonUrl":"#works","buttonText":{"en":"See my work","ja":"実績を見る"},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"82f2233d-10fd-43d8-93a6-434203bc101c","collection":"articles","position":0,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/neb01e08e17c3","slug":"neb01e08e17c3","tags":["AI","最近の学び","暮らし","テクノロジー","野菜"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755281856-t5fy28-note-neb01e08e17c3.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"On a Night When Tomatoes Are Expensive, Stop Deciding the Menu First","ja":"トマトが高い夜、献立を先に決めるのをやめてみる"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Letting prices and what is at hand decide dinner, with a little help from apps.","ja":"「今日はカレーにしよう」と決めてから店に入ります。じゃがいも、たまねぎ、にんじんをかごへ。サラダ用にトマトも手に取ろうとして、値札の前で少し止まります。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-28","readingMinutes":11},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"cc176894-dc5c-4b3d-8161-60af1f318f41","collection":"members","position":0,"visible":true,"data":{"bio":{"en":"A freelance engineer whose strength is AI-driven business efficiency: automating work with generative AI and agents, and collecting and analysing data automatically, so tedious manual work becomes a system. My main line of development is smartphone apps (iOS / Android). I handle everything myself, from the first call through design, development and maintenance.","ja":"業務効率化 × AI活用を強みとするフリーランスエンジニアです。生成AI・AIエージェントによる業務自動化やデータの自動収集・分析で、面倒な手作業を仕組みに変えます。開発の主力はスマートフォンアプリ（iOS / Android）。ご相談から設計・開発・納品後の保守まで、一人で一貫して担当します。"},"name":{"en":"Watanabe","ja":"渡辺"},"role":{"en":"Freelance engineer","ja":"フリーランスエンジニア"},"photo":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755280423-embpha-avatar.webp","skills":["OpenAI API","Claude API","Python","Dify","React Native","Flutter","Swift","Firebase","Next.js","Laravel"],"highlights":[{"unit":{"en":"+ yrs","ja":"年以上"},"label":{"en":"Years building software","ja":"開発経験"},"value":"10"},{"unit":{"en":"+","ja":"件以上"},"label":{"en":"Jobs delivered","ja":"実績（ランサーズ＋外部実績）"},"value":"230"},{"unit":{"en":" yrs","ja":"年"},"label":{"en":"iPhone / React Native","ja":"iPhone / React Native"},"value":"9"}],"certifications":{"en":["Specialist in AI-driven business efficiency","230+ jobs delivered (Lancers and elsewhere)","Smartphone apps (iOS / Android) as the main line","One person from the first call to maintenance"],"ja":["業務効率化 × AI活用のスペシャリスト","実績230件以上（ランサーズ＋外部実績）","スマホアプリ開発（iOS / Android）が主力","ご相談から保守まで一人で一貫対応"]},"responsibilities":{"en":["Mapping the workflow and proposing what to automate","Business automation with generative AI and agents","Designing and building smartphone apps","Admin panels, web and e-commerce","Maintenance and improvement after launch"],"ja":["業務フローの整理と「何を自動化すべきか」のご提案","生成AI・AIエージェントによる業務自動化","スマホアプリの設計・開発","管理画面・Web・ECの開発","納品後の保守・改善"]}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"63996223-ee8a-4abf-9732-6425a4a23585","collection":"experiences","position":0,"visible":true,"data":{"role":{"en":"Independent development: AI-driven efficiency and smartphone apps","ja":"業務効率化 × AI活用とスマホアプリ開発を軸に、単独で受託開発"},"team":{"en":"Solo — from first call to delivery and maintenance","ja":"単独（ご相談〜納品・保守まで一人で担当）"},"title":{"en":"Freelance engineer","ja":"フリーランスエンジニア"},"period":{"en":"Jul 2023 - Present","ja":"2023年7月 - 現在"},"company":{"en":"Tech Studio Lab (sole proprietor)","ja":"Tech Studio Lab（個人事業）"},"achievements":{"en":["Taken on AI-agent business automation, web data collection with AI analysis, business systems, iPhone / iPad apps and e-commerce builds through Lancers","100% satisfied ratings on Lancers (12 reviews), including repeat clients; 217 more jobs on other services (listed on the Lancers profile)","Handle both client contact and development alone: requirements, design, build, testing and post-launch fixes","Regularly publish technical articles on AI, apps and web development on Qiita, Zenn and note"],"ja":["ランサーズで、生成AI・AIエージェントによる業務自動化、Webデータの自動収集・AI分析、業務システム、iPhone・iPadアプリ、EC構築などを受注","ランサーズでの評価は満足100%（12件）、継続発注のクライアントあり。ほかのサービスでの実績は217件（ランサーズのプロフィールに登録）","要件整理から設計・実装・テスト・納品後の修正まで、窓口と開発を一人で担当","Qiita・Zenn・note で、AI・アプリ・Web開発の技術記事を継続して発信"]}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"9f0c03cc-95b4-4f9f-a7d3-de67f8fe6154","collection":"topics","position":1,"visible":true,"data":{"icon":"ai","name":{"en":"AI agents in business apps","ja":"AIエージェントと業務アプリ"},"slug":"agent","color":"#c8102e","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755279428-71silr-topic-agent.webp","subtitle":"AI AGENTS","description":{"en":"Permissions and approvals, audits and evals, MCP and PII masking — design for AI you can keep trusting.","ja":"権限と承認フロー、監査と評価、MCP、個人情報のマスキング。AIに仕事を任せ続けるための設計です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"e684f658-c39e-477c-8156-cb58746062fb","collection":"sections","position":1,"visible":true,"data":{"body":{"en":"Collecting information, copying it over, totting it up, checking it: much of what people repeat every day can be handed to AI and automation. On Lancers I have built and delivered business automation with generative AI and AI agents, and a dashboard that gathers web data and analyses it with AI.\n\nWe start by mapping your workflow to decide what is worth automating, then begin small where the payoff is largest.\n\n“The work was fast and accurate — far beyond what we expected. We are 200% satisfied.”\n— client of the AI automation system (review on Lancers)","ja":"情報収集、転記、集計、確認。人が毎日くり返している作業の多くは、AIと自動化で仕組みに置き換えられます。ランサーズでも、生成AI・AIエージェントによる業務自動化システムや、Webデータを自動収集してAIが分析するダッシュボードを開発・納品してきました。\n\n「何を自動化すべきか」を業務フローから一緒に整理し、効果の大きいところから小さく始めます。\n\n「作業も非常に迅速かつ正確で、期待していた以上の成果に出来栄えも200％の大満足です。」\n── AI業務自動化システムのクライアント様（ランサーズの評価より）"},"lead":{"en":"That task can be handed to AI. I turn tedious manual work into systems that run on AI and automation","ja":"その作業、AIに任せられます。面倒な手作業を、AIと自動化で仕組みに変えます"},"slug":"ai","type":"custom","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755279428-71silr-topic-agent.webp","label":"AI & Automation","stats":[{"unit":{"en":"+","ja":"件以上"},"label":{"en":"Jobs delivered (Lancers and elsewhere)","ja":"実績（ランサーズ＋外部実績）"},"value":"230"},{"unit":{"en":" days","ja":"日"},"label":{"en":"To build the AI analysis dashboard","ja":"AI分析ダッシュボードの開発期間"},"value":"7"},{"unit":{"en":"+ yrs","ja":"年以上"},"label":{"en":"Years building software","ja":"開発経験"},"value":"10"}],"steps":[],"theme":"gray","title":{"en":"A specialist in AI-driven business efficiency","ja":"業務効率化 × AI活用のスペシャリスト"},"pillars":[],"navLabel":{"en":"AI","ja":"AI・効率化"},"services":[{"icon":"ai","text":{"en":"Hand repetitive collecting, checking and copying to AI.","ja":"情報収集・確認・転記など、人がくり返している作業をAIに任せます。"},"title":{"en":"Automate work with generative AI and agents","ja":"生成AI・AIエージェントで業務を自動化"}},{"icon":"analytics","text":{"en":"Scattered information is gathered automatically, summarised by AI and shown on a dashboard.","ja":"散らばった情報を自動で集め、AIが整理・要約してダッシュボードで見える化します。"},"title":{"en":"Collect web data and analyse it with AI","ja":"Webデータの自動収集とAI分析"}},{"icon":"management","text":{"en":"Project and progress tracking moves to a web system people actually like using.","ja":"案件や進捗の管理を、現場で使いやすいWebシステムに置き換えます。"},"title":{"en":"Replace paper and spreadsheets","ja":"紙・Excel業務のシステム化"}},{"icon":"idea","text":{"en":"OCR for documents, ChatGPT and Claude APIs, and masking personal data before it reaches AI.","ja":"OCRでの書類取り込み、ChatGPT・Claude のAPI連携、個人情報のマスキングまで。"},"title":{"en":"Build AI safely into today’s work","ja":"いまの業務にAIを安全に組み込む"}}],"buttonUrl":"/works/ai","buttonText":{"en":"See AI & automation work","ja":"AI・自動化の実績を見る"},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"8c0915e7-ece4-4943-8637-1b4601a8f456","collection":"categories","position":1,"visible":true,"data":{"icon":"management","name":{"en":"Business systems","ja":"業務システム"},"slug":"system","color":"#d9480f","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755280000-9owmof-industry-Dcg-Ibme.webp","subtitle":"BUSINESS SYSTEM","description":{"en":"In-house web systems that replace paper and spreadsheet management.","ja":"紙やExcelの管理を置き換える、社内向けWebシステムの実績です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"1fb7661d-c7c5-4abe-9c64-0092d6339b06","collection":"projects","position":1,"visible":true,"data":{"url":"","role":{"en":"Solo, from first call to delivery","ja":"ご相談〜納品まで単独で担当"},"slug":"ai-agent-business-automation","tags":["AI自動化","AIエージェント","スクレイピング","ダッシュボード"],"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755276395-6rtdfb-lancers-749568.webp","title":{"en":"Business automation with generative AI and AI agents","ja":"生成AI・AIエージェントによる業務自動化システム"},"client":{"en":"","ja":""},"period":{"en":"15 days","ja":"15日"},"points":{"en":["Manual research replaced by automation","A dashboard non-engineers can follow","Praised for speed and accuracy"],"ja":["手作業の情報収集を自動化","非エンジニアでも分かるダッシュボード","スピードと正確さを評価いただきました"]},"review":{"en":"They understood our requests carefully and replied quickly throughout. The work was fast and accurate — far beyond what we expected. We are 200% satisfied.","ja":"要望を丁寧にくみ取っていただき、終始レスポンスも早く、安心してお任せすることができました。作業も非常に迅速かつ正確で、期待していた以上の成果に出来栄えも200％の大満足です。"},"source":"https://www.lancers.jp/profile/bestengineer/portfolio","details":{"en":"To cut the manual collection and checking work in an advertising business, I built scraping-based data collection with structured storage, plus a dashboard that non-engineers can read at a glance.","ja":"広告・プロモーション関連の業務効率化を目的に、手作業で行っていた情報収集・確認作業を自動化しました。Webスクレイピングでデータを取得して整理・蓄積する仕組みと、非エンジニアの方でも状況を把握しやすい専用ダッシュボードを実装しています。"},"category":"ai","features":{"en":["Requirements","Web scraping","Data processing and automation","Backend development","Database design","Admin dashboard","Testing and tuning"],"ja":["要件整理","Webスクレイピング","データ処理・自動化","バックエンド開発","データベース設計","管理ダッシュボード","テスト・調整"]},"industry":{"en":"Advertising and promotion","ja":"広告・プロモーション"},"siteType":{"en":"Automation system and dashboard","ja":"業務自動化・ダッシュボード"},"description":{"en":"Automated collecting, organising and visualising information from the web, with a dedicated dashboard.","ja":"Web上の情報収集から整理・可視化までを自動化し、専用ダッシュボードまで構築しました。"},"technologies":["Python","Webスクレイピング","API","データベース","AI"]},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"e8ab9da9-3944-4b22-b041-407226eb02cb","collection":"experiences","position":1,"visible":true,"data":{"role":{"en":"Mobile app and frontend development","ja":"モバイルアプリ・フロントエンド開発"},"team":{"en":"","ja":""},"title":{"en":"App & web engineer","ja":"アプリ・Webエンジニア"},"period":{"en":"2020 - 2024","ja":"2020年 - 2024年"},"company":{"en":"Web service and e-commerce development","ja":"Webサービス・EC関連の開発現場"},"achievements":{"en":["Built smartphone apps for e-commerce (iOS / Android)","Improved purchase flows and navigation","Designed React components and migrated legacy code"],"ja":["EC向けスマートフォンアプリの開発（iOS / Android）","購入フロー・画面遷移の改善","React コンポーネントの設計・実装、旧来のコードからの移行"]}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"0f3a3aef-33ee-441d-b54c-5d550a395fae","collection":"articles","position":1,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/nc14ceefdc8d2","slug":"nc14ceefdc8d2","tags":["AI","最近の学び","暮らし","ファッション","テクノロジー"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755282509-8pspmx-note-nc14ceefdc8d2.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"24 Unworn Pieces in the Autumn Closet: Can an App Spot the Clothes You Never Wear?","ja":"秋服を出したら24着眠っていた、「着ない服」をアプリは見抜けるか"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"What data an app would need to tell which clothes you really wear.","ja":"たとえば、そんな衣替えの場面を想像してみてください。ニット、薄手のコート、長袖のシャツ。そこで一着を持ち上げて、手が止まります。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-28","readingMinutes":11},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"97170672-8572-421d-94a4-5e61d21617dd","collection":"articles","position":2,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n5185578ba378","slug":"n5185578ba378","tags":["最近の学び","暮らし","DX","テクノロジー","防災"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755282962-507ud7-note-n5185578ba378.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Forgetting the Emergency Food the Day After: Treating Supplies as Inventory","ja":"非常食を買った翌日から忘れる、備蓄は「在庫管理」にすると続くのか"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Would home emergency supplies last if we managed them like stock?","ja":"水を何本か買う。レトルト食品も入れる。缶詰、乾麺、パックご飯も足す。ちょっと安心して、それらを棚の奥へしまいます。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-28","readingMinutes":11},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"cefd3b6e-2e6e-4dea-b99a-b6a1e8d91602","collection":"sections","position":2,"visible":true,"data":{"body":{"en":"","ja":""},"lead":{"en":"AI-driven efficiency and, as my main line, smartphone apps — with everything around them covered","ja":"業務効率化 × AI と、主力のスマホアプリ開発。二つの柱で、周辺の開発もまとめてお引き受けします"},"slug":"service","type":"service","image":"","label":"Service","stats":[],"steps":[{"text":{"en":"I learn about your current workflow and challenges","ja":"現在の業務フローと課題を伺います"},"title":{"en":"Hearing","ja":"ヒアリング"}},{"text":{"en":"I find where a system will lighten the load","ja":"どこを仕組み化すれば負担を減らせるかを整理します"},"title":{"en":"Organize","ja":"業務整理"}},{"text":{"en":"Demo screens help us agree on requirements","ja":"デモ画面で使うイメージを共有しながら要件を固めます"},"title":{"en":"Demo & requirements","ja":"デモ・要件定義"}},{"text":{"en":"Designed and built down to the last detail","ja":"細部までこだわって設計・開発します"},"title":{"en":"Build","ja":"開発"}},{"text":{"en":"Setup, improvements and maintenance after launch","ja":"納品後の設定や改善、保守・運用まで支援します"},"title":{"en":"Operate","ja":"保守・運用"}}],"theme":"white","title":{"en":"Areas of focus","ja":"得意分野"},"pillars":[{"text":{"en":"Business automation with generative AI and agents, web data collection with AI analysis, OCR for paper and fax, internal data integration — first we decide together what is worth automating, then start where the payoff is largest.","ja":"生成AI・AIエージェントによる業務自動化、Webデータの自動収集とAI分析、紙やFAXの書類のOCR取り込み、社内データの連携まで。「何を自動化すべきか」を一緒に整理してから、効果の大きいところから仕組みにします。"},"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755279766-v8tlng-pillar-automate.webp","items":[{"icon":"ai","text":{"en":"","ja":""},"title":{"en":"AI, automation, OCR & data integration","ja":"AI活用、業務自動化、OCR・データ連携"}},{"icon":"management","text":{"en":"","ja":""},"title":{"en":"Business management & internal matching","ja":"業務管理／社内マッチングシステム"}},{"icon":"analytics","text":{"en":"","ja":""},"title":{"en":"Social media, data collection & analytics","ja":"SNS運用、データ収集・分析ツール"}}],"label":"AUTOMATE","title":{"en":"Streamline — hand tedious work to AI and systems","ja":"効率化する — 面倒な作業をAIと仕組みに任せる"}},{"text":{"en":"My main line is smartphone apps in React Native, Flutter and Swift. I build the admin panels, web systems and Shopify / EC-CUBE stores around them myself too — screens people never get lost in, built to run for years.","ja":"開発の主力はReact Native・Flutter・Swiftによるスマホアプリ。アプリと連携する管理画面や業務Webシステム、Shopify・EC-CUBEのECサイトも同じ手でつくります。使う人が迷わない画面と、長く運用できる設計が信条です。"},"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755296827-hn97sl-pillar-build.webp","items":[{"icon":"app","text":{"en":"","ja":""},"title":{"en":"Smartphone apps (iOS / Android)","ja":"スマートフォンアプリ開発（iOS / Android）"}},{"icon":"code","text":{"en":"","ja":""},"title":{"en":"Web systems & SaaS","ja":"Webシステム／SaaS"}},{"icon":"ec","text":{"en":"","ja":""},"title":{"en":"E-commerce & Shopify builds","ja":"ECサイト、Shopify構築・機能追加"}}],"label":"BUILD","title":{"en":"Build — smartphone apps, my main line","ja":"つくる — 主力のスマホアプリを形にする"}},{"text":{"en":"Services shaped around clinics, dental offices, home-visit care and education — and the person who built it stays on after launch for setup, improvements and maintenance.","ja":"医療・歯科・訪問医療、教育・教材管理など、現場の事情に合わせたサービスづくり。作った本人が、納品後の設定や改善、保守・運用まで伴走します。"},"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755281359-t516gb-pillar-support.webp","items":[{"icon":"medical","text":{"en":"","ja":""},"title":{"en":"Medical, dental & home-visit care","ja":"医療・歯科・訪問医療向けサービス"}},{"icon":"education","text":{"en":"","ja":""},"title":{"en":"Education & course materials","ja":"教育・講義・教材管理サービス"}},{"icon":"maintenance","text":{"en":"","ja":""},"title":{"en":"Improving & maintaining existing systems","ja":"既存システムの改善、保守・運用支援"}}],"label":"SUPPORT","title":{"en":"Support — stay with the people who use it","ja":"支える — 現場に寄り添い、動かし続ける"}}],"navLabel":{"en":"Service","ja":"サービス"},"services":[{"icon":"app","text":{"en":"iPhone, iPad and Android apps built with React Native, Flutter and Swift.","ja":"React Native・Flutter・Swiftで、iPhone・iPad・Androidアプリを開発します。"},"title":{"en":"Smartphone apps (iOS / Android)","ja":"スマートフォンアプリ開発（iOS / Android）"}},{"icon":"ai","text":{"en":"","ja":""},"title":{"en":"AI in apps & business automation","ja":"アプリへのAI組み込み、業務自動化"}},{"icon":"management","text":{"en":"","ja":""},"title":{"en":"Admin panels & business systems for apps","ja":"アプリと連携する管理画面・業務システム"}},{"icon":"ec","text":{"en":"","ja":""},"title":{"en":"E-commerce & Shopify builds and features","ja":"EC・Shopify の構築、機能追加"}},{"icon":"maintenance","text":{"en":"","ja":""},"title":{"en":"Improving & maintaining existing apps and systems","ja":"既存アプリ・システムの改善、保守"}}],"buttonUrl":"","buttonText":{"en":"","ja":""},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"11ee8f44-908d-45f0-8c8a-42623eb03a17","collection":"experiences","position":2,"visible":true,"data":{"role":{"en":"Website and frontend development","ja":"Webサイト・フロントエンド開発"},"team":{"en":"","ja":""},"title":{"en":"Web engineer","ja":"Webエンジニア"},"period":{"en":"2018 - 2020","ja":"2018年 - 2020年"},"company":{"en":"Web production and contract development","ja":"Web制作・受託開発の現場"},"achievements":{"en":["Built and maintained corporate websites","Migrated from jQuery to React","Improved quality through code review and testing"],"ja":["企業Webサイトの開発・保守","jQuery から React への移行","コードレビュー・テストによる品質改善"]}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"96e31aa5-4918-41f5-8c90-4b4498cb444e","collection":"topics","position":2,"visible":true,"data":{"icon":"management","name":{"en":"DX and automation for small businesses","ja":"小さな会社のDX・自動化"},"slug":"dx","color":"#d9480f","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755280781-zzyhgl-topic-dx.webp","subtitle":"SMALL BUSINESS DX","description":{"en":"OCR for paper invoices, automating repeated input, working with AI — practical first steps.","ja":"紙の請求書のOCR取り込み、繰り返し入力の自動化、AIとの付き合い方。無理なく始めるための記事です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"9cae8128-d7b7-407d-87c6-8b8328f62934","collection":"projects","position":2,"visible":true,"data":{"url":"","role":{"en":"Solo, from first call to delivery","ja":"ご相談〜納品まで単独で担当"},"slug":"web-data-ai-analysis-dashboard","tags":["データ分析","AI","ダッシュボード","業務自動化"],"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755276658-25kogx-lancers-749516-D-TjE5tv.webp","title":{"en":"A dashboard that collects web data and analyses it with AI","ja":"Webデータを自動収集・AI分析する業務ダッシュボード"},"client":{"en":"","ja":""},"period":{"en":"7 days","ja":"7日"},"points":{"en":["From collection to charts in one screen","AI summaries of collected data","An admin UI that shows processing status"],"ja":["収集から分析・可視化まで一画面に集約","AIによる整理・要約","処理状況が分かる管理画面のUI"]},"review":{"en":"","ja":""},"source":"https://www.lancers.jp/profile/bestengineer/portfolio","details":{"en":"A business system that gathers scattered information from the web automatically and shows AI analysis on a dashboard: collection, storage, AI summaries, status tracking, search and charts — built end to end from requirements to testing.","ja":"Web上に分散している情報を自動収集し、AIによる分析結果をダッシュボードで確認できる業務システムを開発しました。自動収集、データベースへの保存、AIによる整理・要約、ステータス管理、検索・絞り込み、グラフ表示までを実装し、要件整理からテストまで一貫して担当しています。"},"category":"ai","features":{"en":["Requirements","Database design","Data collection","API and backend","AI analysis","Dashboard","Testing"],"ja":["要件整理","DB設計","データ収集","API・バックエンド開発","AI分析","ダッシュボード","テスト"]},"industry":{"en":"IT and internet","ja":"IT・通信・インターネット"},"siteType":{"en":"Web system and data analysis","ja":"Webシステム・データ分析"},"description":{"en":"Collection, analysis and visualisation of web information in a single admin screen.","ja":"Web情報の収集・分析・可視化を一つの管理画面にまとめました。"},"technologies":["Python","API","Webスクレイピング","AI・LLM","データベース"]},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"6d1cd050-c667-45ed-b25b-fd1c042f4864","collection":"categories","position":2,"visible":true,"data":{"icon":"app","name":{"en":"Smartphone apps","ja":"スマホアプリ開発"},"slug":"app","color":"#1f4e9c","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755279603-vm6rys-mobile.webp","subtitle":"MOBILE APP","description":{"en":"My specialty: smartphone apps for iPhone and iPad.","ja":"専門のスマートフォンアプリ開発。iPhone・iPad アプリの実績です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"022cab2e-f8d1-487a-b9b8-000cd888ee8d","collection":"articles","position":3,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n4b262175f090","slug":"n4b262175f090","tags":["AI","最近の学び","暮らし","テクノロジー","家事"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755283393-58sw2o-note-n4b262175f090.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Typing Every Expiry Date Is Impossible, So Put OCR on the Fridge","ja":"賞味期限を全部入力するのは無理だから、冷蔵庫にOCRを置いてみる"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Could a camera and OCR keep track of what is in the fridge?","ja":"冷凍食品は溶ける前にしまいたい。牛乳は冷蔵庫へ。野菜も袋から出したい。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-28","readingMinutes":11},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"92b7f2d6-d839-4e08-9751-59cdce48bca7","collection":"categories","position":3,"visible":true,"data":{"icon":"ec","name":{"en":"E-commerce & Shopify","ja":"EC・Shopify"},"slug":"ec","color":"#6741d9","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755280186-1971sz-services.webp","subtitle":"E-COMMERCE","description":{"en":"Shopify, MakeShop and EC-CUBE builds, migrations and custom features.","ja":"Shopify・MakeShop・EC-CUBE の構築、移行、機能カスタマイズの実績です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"60ca4ae5-bedc-4813-80b3-406530587477","collection":"topics","position":3,"visible":true,"data":{"icon":"medical","name":{"en":"IT in clinics and classrooms","ja":"医療・教育の現場とIT"},"slug":"field","color":"#0e9f8e","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755280937-rc5g0q-topic-field.webp","subtitle":"IN THE FIELD","description":{"en":"Clinic reminders, linking patient cards, classrooms with AI — IT that fits the people using it.","ja":"クリニックの予約リマインドや診察券との連携、AIのいる教室。現場に寄り添うITの話です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"fe6360d7-47d7-4f30-a8ea-0e96e2d1fcbb","collection":"projects","position":3,"visible":true,"data":{"url":"","role":{"en":"Solo, from first call to delivery","ja":"ご相談〜納品まで単独で担当"},"slug":"manufacturer-progress-management","tags":["業務システム","進捗管理","DX","リピート"],"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755276904-306zta-lancers-749549.webp","title":{"en":"Work and progress management system for a manufacturer","ja":"メーカー向け 業務・進捗管理システム"},"client":{"en":"","ja":""},"period":{"en":"25 days","ja":"25日"},"points":{"en":["Demo screens removed misunderstandings early","Well received by the on-site team","Repeat order from the client"],"ja":["デモ画面で認識のズレを事前に解消","現場チームにも好評","継続発注（リピート）"]},"review":{"en":"Quick and understanding throughout, and popular with our on-site team. Seeing demo screens let us picture the system, and solving issues during requirements made the whole process clear and reassuring.","ja":"とても迅速かつ理解ある対応で、現場チームにも好評で大変進めやすかったです。デモ版の画面で使用する想像ができ、要件定義で問題点を解決していくやり方は、とても分かりやすく安心して進めることができました。"},"source":"https://www.lancers.jp/profile/bestengineer/portfolio","details":{"en":"Rather than starting from a finished specification, I mapped the current workflow and issues, then used demo screens to agree on how the system would be used. Screens were designed so work items, project status and progress are easy to read and operate.","ja":"完成した仕様を受け取る形ではなく、現在の業務フローや課題を確認しながら必要な機能を整理し、デモ画面で実際の利用イメージを共有しながら要件定義を進めました。業務情報・案件状況・ステータスを分かりやすく確認できるよう、操作性と視認性を重視して設計しています。"},"category":"system","features":{"en":["Interviews and requirements","Screen structure and UI design","Database design","Frontend and backend development","Admin and progress tracking","Testing and release"],"ja":["業務ヒアリング・要件整理","画面構成・UI設計","データベース設計","フロントエンド／バックエンド開発","管理画面・進捗管理機能","テスト・本番納品"]},"industry":{"en":"Manufacturer","ja":"メーカー"},"siteType":{"en":"Business web system","ja":"業務管理Webシステム"},"description":{"en":"From requirements to screen design and development, built to be easy to use on the shop floor.","ja":"要件整理から画面設計・開発まで一貫して担当し、現場で使いやすい仕組みを構築しました。"},"technologies":["Webシステム","データベース","API","管理画面"]},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"06ee63f5-5c71-4b56-bee7-3b4b4bd3139c","collection":"sections","position":3,"visible":true,"data":{"body":{"en":"I choose between React Native (9 years), Flutter (7 years) and Swift to build apps for both iOS and Android, with 9 years of iPhone and 7 years of Android SDK experience.\n\nMy strength is practical business apps: Firebase data sync and push notifications, maps with the Google Maps API, LINE Messaging API integration, and building AI such as OpenAI and Claude into the app — taken from first call to release by one person.","ja":"React Native（9年）・Flutter（7年）・Swift を使い分け、iOS・Android の両方に対応したアプリを開発します。iPhoneアプリ開発は9年、Android SDK は7年の経験があります。\n\nFirebase によるデータ連携やプッシュ通知、Google Maps API を使った地図機能、LINE Messaging API との連携、そしてOpenAI・Claude などのAIをアプリに組み込むこと。業務で使いやすいアプリを、ご相談から公開まで一人で仕上げます。"},"lead":{"en":"iPhone, iPad and Android apps from planning to development","ja":"iPhone・iPad・Android に対応したアプリを、企画から開発まで"},"slug":"app","type":"custom","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755279603-vm6rys-mobile.webp","label":"Mobile App","stats":[],"steps":[],"theme":"white","title":{"en":"Smartphone apps are my main line","ja":"開発の主力は、スマートフォンアプリです"},"pillars":[],"navLabel":{"en":"Apps","ja":"アプリ開発"},"services":[],"buttonUrl":"#contact","buttonText":{"en":"Discuss an app","ja":"アプリ開発のご相談"},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"fbead0da-2831-4751-b415-6d7cc6a780b9","collection":"projects","position":4,"visible":true,"data":{"url":"","role":{"en":"Solo, from first call to delivery","ja":"ご相談〜納品まで単独で担当"},"slug":"shopify-theme-renewal-seo","tags":["Shopify","EC","SEO","リニューアル"],"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755277424-don83x-lancers-749564.webp","title":{"en":"Full Shopify theme renewal, keeping SEO intact","ja":"Shopify テーマ全面リニューアル（SEO維持）"},"client":{"en":"","ja":""},"period":{"en":"25 days","ja":"25日"},"points":{"en":["A new design without losing SEO","Easy to update afterwards","Guided the client through settings after delivery"],"ja":["デザイン刷新とSEO維持の両立","更新しやすい構成","納品後の設定方法まで案内"]},"review":{"en":"They handled small fixes and spec changes flexibly and reported clearly every time, so we felt safe leaving it to them. The careful guidance on settings after launch was a great help too.","ja":"細かな修正や仕様変更にも柔軟にご対応いただき、毎回わかりやすくご報告くださったので、安心してお任せできました。実装後の設定方法まで丁寧にご案内いただけた点も大変助かりました。"},"source":"https://www.lancers.jp/profile/bestengineer/portfolio","details":{"en":"Working from the existing store and its daily operations, I rebuilt the theme with a new design while protecting SEO: restructuring the theme, Liquid changes, page-by-page UI improvements, responsive layouts, content migration and launch checks — all under GitHub version control.","ja":"既存ストアの構成や運用フローを踏まえ、デザインの刷新だけでなくSEOへの影響を抑えてテーマを再構築しました。テーマ構造の整理、Liquidでの改修、各ページのUI改善、レスポンシブ対応、既存コンテンツの引き継ぎ、公開時の確認まで一貫して担当し、GitHubでの管理体制も維持しています。"},"category":"ec","features":{"en":["Existing theme audit","Requirements","Shopify theme changes","Liquid development","UI and layout","Responsive design","SEO impact checks","Launch support"],"ja":["既存テーマの調査","要件整理","Shopifyテーマ改修","Liquid実装","UI・レイアウト改善","レスポンシブ対応","SEO影響確認","公開前後の調整"]},"industry":{"en":"Online store operator","ja":"ECサイト運営"},"siteType":{"en":"Online store (Shopify)","ja":"ECサイト（Shopify）"},"description":{"en":"Rebuilt the whole Shopify theme without losing search rankings.","ja":"SEOを維持しながら、Shopifyテーマを全面改修・再構築しました。"},"technologies":["Shopify","Liquid","GitHub"]},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"c245c331-6b3b-4c15-ba6d-ce1ae58e63a2","collection":"sections","position":4,"visible":true,"data":{"body":{"en":"","ja":""},"lead":{"en":"Projects I took on and delivered myself through Lancers. Client names are withheld for confidentiality","ja":"ランサーズで私が直接お受けし、納品した案件です。クライアント名は守秘のため伏せています"},"slug":"works","type":"works","image":"","label":"Works","stats":[{"unit":{"en":"","ja":"件"},"label":{"en":"Jobs on Lancers","ja":"ランサーズでの受注"},"value":"13"},{"unit":{"en":"%","ja":"%"},"label":{"en":"Satisfied (12 reviews)","ja":"満足評価（12件）"},"value":"100"},{"unit":{"en":"","ja":"社"},"label":{"en":"Repeat clients","ja":"リピートのクライアント"},"value":"2"},{"unit":{"en":"","ja":"件"},"label":{"en":"Jobs on other services","ja":"ほかのサービスでの実績"},"value":"217"}],"steps":[],"theme":"white","title":{"en":"Work delivered on Lancers","ja":"ランサーズでの実績"},"pillars":[],"navLabel":{"en":"Works","ja":"実績"},"services":[],"buttonUrl":"https://www.lancers.jp/profile/bestengineer","buttonText":{"en":"See my Lancers profile","ja":"ランサーズのプロフィールを見る"},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"4a23031b-5947-468e-a593-0a13bd893d71","collection":"articles","position":4,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n2cd8aa696add","slug":"n2cd8aa696add","tags":["AI","最近の学び","暮らし","社会","テクノロジー"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755283861-kfxrp0-note-n2cd8aa696add-dF-GtOKw.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"\"Which Bin Does This Go In?\" Why Photographing a Power Bank Is Not Enough","ja":"「これ何ごみ？」モバイルバッテリーを撮るだけでは答えられない理由"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"What an AI would really need to know to sort a mobile battery correctly.","ja":"燃えないごみでしょうか。小型家電でしょうか。それとも、電池として別に出すのでしょうか。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-28","readingMinutes":11},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"00840f01-0eba-42e5-ad49-7e7dff323778","collection":"topics","position":4,"visible":true,"data":{"icon":"code","name":{"en":"Web and e-commerce notes","ja":"Web・EC開発の技術メモ"},"slug":"web","color":"#6741d9","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755281130-4dsdbg-topic-pm.webp","subtitle":"WEB & E-COMMERCE","description":{"en":"Qiita notes on Next.js, Remix, Laravel, Shopify, GraphQL and other web technologies.","ja":"Next.js・Remix・Laravel・Shopify・GraphQL など、Web開発の技術を整理したQiitaの記事です。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"5615abda-7248-4d5d-b1c6-5ad2c2718ab4","collection":"articles","position":5,"visible":true,"data":{"url":"https://zenn.dev/techstudiolab/articles/ehr-sharing-clinic-app-design","slug":"ehr-sharing-clinic-app-design","tags":["security","設計","認可","fhir","医療dx"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755284342-hr1q5y-clinic-apps-in-the-medical-dx-era.webp","style":{"en":"Design notes","ja":"設計ノート"},"title":{"en":"Designing Clinic Apps for the Era of Shared Electronic Medical Records","ja":"電子カルテ共有時代の周辺アプリ設計"},"topic":"field","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Where booking, questionnaire and patient apps should stop when medical records are shared.","ja":"対象読者：医療機関向けのWeb・モバイルアプリを設計するエンジニア、医療DXに関わる開発者、機微な情報を扱うシステムの責任分界に悩んでいる方。"},"audience":{"en":"","ja":""},"platform":"zenn","priority":2,"publishedAt":"2026-09-28","readingMinutes":23},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"09b79418-4263-4afc-b798-d18d71a473bf","collection":"projects","position":5,"visible":true,"data":{"url":"","role":{"en":"Solo, from first call to delivery","ja":"ご相談〜納品まで単独で担当"},"slug":"makeshop-creator-mode-migration","tags":["MakeShop","EC","移行","レスポンシブ"],"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755277931-zoq1iw-lancers-749577.webp","title":{"en":"Moving a MakeShop store to Creator mode","ja":"MakeShop をクリエイターモードへ移行"},"client":{"en":"","ja":""},"period":{"en":"15 days","ja":"15日"},"points":{"en":["Migrated without changing the look","Now responsive on phones","Launched ahead of schedule"],"ja":["既存デザインを維持したまま移行","スマホ対応（レスポンシブ）","予定より早い公開"]},"review":{"en":"","ja":""},"source":"https://www.lancers.jp/profile/bestengineer/portfolio","details":{"en":"The store had many custom HTML/CSS changes that would break if the mode were simply switched. I rebuilt it in responsive Creator mode while keeping the design and structure, working in stages to prevent layout or operational problems.","ja":"独自のHTML・CSSカスタマイズが多く、そのままモードを切り替えるとレイアウトが崩れる既存ECサイトを、現在のデザインと構成をできる限り維持しながら、レスポンシブ対応のクリエイターモードへ再構築しました。移行に伴う表示崩れや運用上の問題を防ぐため、段階的に確認しながら進めています。"},"category":"ec","features":{"en":["Audit of the existing HTML/CSS","Migration risk review","Move to Creator mode","Recreating the existing design","Responsive tuning","Testing and final checks"],"ja":["既存サイト・HTML/CSS構成の確認","移行時の影響・リスク確認","クリエイターモードへの移行","既存デザインの再現","レスポンシブ調整","動作確認・最終調整"]},"industry":{"en":"Online store operator","ja":"ECサイト運営"},"siteType":{"en":"Online store (MakeShop)","ja":"ECサイト（MakeShop）"},"description":{"en":"Careful checks and risk management led to launching earlier than planned.","ja":"細かな確認とリスク管理を徹底し、予定より早いサイト公開を実現しました。"},"technologies":["MakeShop","HTML","CSS"]},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"242d09cf-3832-4d41-a0eb-c4d925f144e5","collection":"topics","position":5,"visible":true,"data":{"icon":"idea","name":{"en":"Everyday life and technology","ja":"暮らしとテクノロジー"},"slug":"life","color":"#2f9e44","image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755281359-t516gb-pillar-support.webp","subtitle":"LIFE & TECH","description":{"en":"Dinner plans, wardrobes, emergency stock and prices — everyday questions seen through apps and AI, on note.","ja":"献立、衣替え、備蓄、物価。身近なニュースや暮らしの困りごとを、アプリとAIの目線で考えるnoteのコラムです。"}},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"42562998-555c-4e01-90ed-6c209349c9f2","collection":"sections","position":5,"visible":true,"data":{"body":{"en":"","ja":""},"lead":{"en":"Old vs. renewed site under the same conditions (mobile, median of 5 runs). Measured September 2026.","ja":"旧サイトとリニューアル後のサイトを同じ条件（モバイル・各5回計測の中央値）で比較しました。2026年9月計測。"},"slug":"performance","type":"stats","image":"","label":"Performance","stats":[{"unit":{"en":"%","ja":"%"},"label":{"en":"SEO score","ja":"SEOスコア"},"value":"+20","detail":{"en":"83 → 100","ja":"83 → 100"}},{"unit":{"en":"%","ja":"%"},"label":{"en":"Performance score","ja":"パフォーマンススコア"},"value":"+22","detail":{"en":"68 → 83","ja":"68 → 83"}},{"unit":{"en":"% faster","ja":"%短縮"},"label":{"en":"Largest Contentful Paint","ja":"メイン表示までの時間（LCP）"},"value":"51","detail":{"en":"7.5s → 3.7s","ja":"7.5秒 → 3.7秒"}},{"unit":{"en":"% lighter","ja":"%削減"},"label":{"en":"Page weight","ja":"ページ容量"},"value":"84","detail":{"en":"5.4MB → 0.8MB","ja":"5.4MB → 0.8MB"}}],"steps":[],"theme":"white","title":{"en":"Improvements made on this site (measured with Google Lighthouse)","ja":"このサイトで実施した改善（Google Lighthouse 計測）"},"pillars":[],"navLabel":{"en":"","ja":""},"services":[],"buttonUrl":"","buttonText":{"en":"","ja":""},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"4df566af-9b63-4a78-a79c-6634dacd6598","collection":"projects","position":6,"visible":true,"data":{"url":"","role":{"en":"Solo, from first call to delivery","ja":"ご相談〜納品まで単独で担当"},"slug":"eccube-order-payment-customize","tags":["EC-CUBE","EC","決済","在庫管理"],"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755278395-me45i4-lancers-749609.webp","title":{"en":"Customising order and payment handling in EC-CUBE","ja":"EC-CUBE 受注・決済処理のカスタマイズ"},"client":{"en":"","ja":""},"period":{"en":"25 days","ja":"25日"},"points":{"en":["Changes that keep live payment, stock and orders working","Cancellation that matches the business flow","Checked against existing plugins"],"ja":["動いている決済・在庫・受注処理を壊さない改修","業務フローに合わせたキャンセル処理","既存プラグインとの整合性を確認"]},"review":{"en":"","ja":""},"source":"https://www.lancers.jp/profile/bestengineer/portfolio","details":{"en":"Cancelling orders from statuses such as \"payment in progress\" now correctly returns stock and points. I traced how EC-CUBE, the payment plugin and order statuses interact, and changed things carefully so the live shop was never affected.","ja":"「決済処理中」などの受注ステータスからキャンセルする際に、在庫やポイントの戻し処理まで適切に行えるよう、既存の受注フローを確認したうえで改修しました。EC-CUBE本体だけでなく、決済処理・プラグイン・受注ステータスとの関係を確認し、運営中のショップに影響を与えないよう慎重に対応しています。"},"category":"ec","features":{"en":["EC-CUBE environment audit","Order and payment flow review","Order status changes","Cancellation handling","Stock and point restoration","Testing and fixes"],"ja":["既存EC-CUBE環境の調査","受注・決済フローの確認","受注ステータス処理の改修","キャンセル処理の調整","在庫・ポイント戻し処理","動作テスト・修正"]},"industry":{"en":"Online store operator","ja":"ECサイト運営"},"siteType":{"en":"Online store (EC-CUBE)","ja":"ECサイト（EC-CUBE）"},"description":{"en":"Improved the post-payment order and cancellation flow without disrupting the running store.","ja":"既存ECの運用を崩さず、決済後の受注・取消フローを業務に合わせて改善しました。"},"technologies":["EC-CUBE","PHP","MySQL"]},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"9ffdde1a-9d1b-43d1-8ddb-f004ccc170eb","collection":"articles","position":6,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/ee69cbb344412d937915","slug":"qiita-ee69cbb34441","tags":["業務効率化","LINEmessagingAPI","FastAPI","Python","WebAPI"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755285066-8i4w1v-line-messaging-api-dental-reminder.webp","style":{"en":"Hands-on","ja":"ハンズオン"},"title":{"en":"Building Clinic Appointment Reminders with the LINE Messaging API","ja":"LINE Messaging APIでクリニック予約リマインドを組む"},"topic":"field","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Sending appointment reminders to patients through LINE, from data model to scheduling.","ja":"歯科やクリニック向けの予約システムを考えると、予約を登録する機能だけでなく「予約日が近づいたら患者さんへ知らせたい」という要件が自然に出てきます。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-28","readingMinutes":27},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"0b83c4e0-706b-4c02-a8a6-4507a18e7367","collection":"sections","position":6,"visible":true,"data":{"body":{"en":"","ja":""},"lead":{"en":"AI-driven efficiency and smartphone apps as the two pillars, with the web, e-commerce and infrastructure around them","ja":"業務効率化 × AI とスマホアプリ開発を二本柱に、その周りのWeb・EC・インフラまで対応します"},"slug":"skills","type":"tech","image":"","label":"Skills","stats":[],"steps":[],"theme":"gray","title":{"en":"Strengths and coverage","ja":"強みと対応範囲"},"pillars":[],"navLabel":{"en":"Skills","ja":"技術"},"services":[],"buttonUrl":"","buttonText":{"en":"","ja":""},"techGroups":[{"items":["OpenAI API","Claude API","AIエージェント開発 3年","Dify","Python 4年","Webスクレイピング","OCR","Computer Vision 6年","AI音声合成 5年","AI予測分析 4年"],"label":{"en":"Strength: AI-driven efficiency","ja":"強み：業務効率化 × AI活用"},"featured":true},{"items":["iOS（iPhone / iPad）9年","React Native 9年","Flutter 7年","Android SDK 7年","Swift","Firebase","Google Maps API 3年","LINE Messaging API 6年"],"label":{"en":"Main line: smartphone apps","ja":"主力：スマートフォンアプリ開発"},"featured":true},{"items":["TypeScript","React","Next.js 7年","Vue.js","PHP","Laravel","Django"],"label":{"en":"Also covered: web & admin panels","ja":"対応範囲：Web・管理画面"}},{"items":["Shopify 5年","EC-CUBE","MakeShop","WordPress 6年"],"label":{"en":"Also covered: e-commerce & CMS","ja":"対応範囲：EC・CMS"}},{"items":["AWS 10年以上","Supabase","PostgreSQL 5年","MySQL","Google Analytics 5年"],"label":{"en":"Also covered: infrastructure & data","ja":"対応範囲：インフラ・DB"}},{"items":["C# / .NET 9年","C++ 6年","Java 6年","FileMaker 4年"],"label":{"en":"Other experience","ja":"その他の経験"}}],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"d55734c1-59cc-45d9-8e6f-3364e5192049","collection":"articles","position":7,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/3a01ec0ebfd411419afa","slug":"qiita-3a01ec0ebfd4","tags":["Security","LINEmessagingAPI","FastAPI","PostgreSQL","Python"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755285683-wg2wzr-a-morning-at-the-clinic-reception.webp","style":{"en":"Design notes","ja":"設計ノート"},"title":{"en":"Safely Linking LINE Users to Patient Card Numbers","ja":"LINEと診察券番号を安全に紐付ける医療連携設計"},"topic":"field","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"How to connect a LINE account to the right patient in a clinic system without leaking data.","ja":"医療系のLINE連携を考えるとき、最初に悩むのはメッセージの送り方よりも「LINE上の利用者と、院内システムの患者をどう結び付けるか」です。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-28","readingMinutes":24},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"18300d69-10a6-49e3-9837-7f3ac595596b","collection":"sections","position":7,"visible":true,"data":{"body":{"en":"","ja":""},"lead":{"en":"Tech Studio Lab is the studio name of Watanabe, a freelance engineer for AI-driven business efficiency — on Qiita, Zenn, note and GitHub as “techstudiolab”","ja":"Tech Studio Lab（テックスタジオラボ）は、業務効率化 × AI のフリーランスエンジニア 渡辺の屋号です。Qiita・Zenn・note・GitHub では「techstudiolab」のIDで発信しています"},"slug":"team","type":"team","image":"","label":"Profile","stats":[],"steps":[],"theme":"gray","title":{"en":"About Tech Studio Lab","ja":"Tech Studio Lab について"},"pillars":[],"navLabel":{"en":"Profile","ja":"プロフィール"},"services":[],"buttonUrl":"","buttonText":{"en":"","ja":""},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"225024d9-d459-4d2f-b7d5-7c9abc9b7d9a","collection":"articles","position":8,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/05ee17e13cb921a8e11b","slug":"qiita-05ee17e13cb9","tags":["業務効率化","Flutter","MLKit","coreML","AI"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755285928-wx29pg-mobile-vision-inspection-helper-factory.webp","style":{"en":"Design notes","ja":"設計ノート"},"title":{"en":"Prototyping Camera Inspection in Flutter: ML Kit and Core ML Design","ja":"Flutterでカメラ検品を試作するML Kit・Core ML設計"},"topic":"mobile","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Why a phone-camera inspection prototype should start by helping people check, not by judging defects automatically.","ja":"スマホのカメラを使った検品というと、最初から「傷をAIで自動判定する」「不良品を自動で弾く」と考えたくなります。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-28","readingMinutes":33},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"b939ef47-171c-4bc2-ada6-43f65e991b03","collection":"sections","position":8,"visible":true,"data":{"body":{"en":"","ja":""},"lead":{"en":"","ja":""},"slug":"career","type":"career","image":"","label":"Career","stats":[],"steps":[],"theme":"white","title":{"en":"Watanabe's career","ja":"渡辺の経歴"},"pillars":[],"navLabel":{"en":"Career","ja":"経歴"},"services":[],"buttonUrl":"","buttonText":{"en":"","ja":""},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"534d3ab5-9388-47de-9377-832436b07bb8","collection":"sections","position":9,"visible":true,"data":{"body":{"en":"","ja":""},"lead":{"en":"Articles published on Qiita, Zenn and note, grouped by theme","ja":"Qiita・Zenn・note で公開した記事を、テーマごとにまとめています"},"slug":"articles","type":"articles","image":"","label":"Articles","stats":[],"steps":[],"theme":"gray","title":{"en":"Articles I have published","ja":"発信している記事"},"pillars":[],"navLabel":{"en":"Articles","ja":"記事"},"services":[],"buttonUrl":"","buttonText":{"en":"","ja":""},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"f5cf2e63-fb95-4127-894c-a6a6ec87969a","collection":"articles","position":9,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/nc0b7999dba06","slug":"nc0b7999dba06","tags":["最近の学び","スポーツ","テクノロジー","エンタメ","バスケットボール"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755286496-fe8zvh-note-nc0b7999dba06.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Watching a Match from Anywhere on the Court Without Being in the Stadium","ja":"スタジアムにいないのに、コートの好きな場所から試合を見る未来"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"How new viewing technology changes where we watch sports from.","ja":"私たちは試合を見ているつもりで、実際には「誰かが選んだ場所」から試合を見ています。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-27","readingMinutes":9},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"83324710-19a2-4d5b-8e24-34b5a6f96592","collection":"articles","position":10,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n3441ab6e15dd","slug":"n3441ab6e15dd","tags":["仕事について話そう","社会","ニュース","DX","採用"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755287161-iq6j11-note-n3441ab6e15dd.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"When Sending a Résumé Becomes the Way In for a Cyberattack","ja":"履歴書を送るだけだった採用面接が、サイバー攻撃の入口になる"},"topic":"dx","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"What a new joint security advisory means for small businesses that hire online.","ja":"ところが2026年9月18日、日本の警察庁と国家サイバー統括室は、米国、豪州、ドイツの関係機関とともに、少し怖い注意喚起を公表しました。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-27","readingMinutes":10},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"21a7c59f-ed76-4bd4-8600-1686078fac6b","collection":"sections","position":10,"visible":true,"data":{"body":{"en":"I work mainly by email (text).","ja":"ご連絡はメール（テキスト）でのやり取りを基本としています。"},"lead":{"en":"Feel free to reach out about system development or automating your work.\nI usually reply within 24 hours.","ja":"システム開発・業務の仕組み化のご相談はお気軽にどうぞ。\n通常24時間以内にご返信します。"},"slug":"contact","type":"contact","image":"","label":"Contact","stats":[],"steps":[],"theme":"white","title":{"en":"Let's work together","ja":"お仕事のご相談"},"pillars":[],"navLabel":{"en":"","ja":""},"services":[],"buttonUrl":"","buttonText":{"en":"","ja":""},"techGroups":[],"imagePosition":"right"},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"99289373-315c-4527-a786-e56b5f874d0d","collection":"articles","position":11,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n2b3dacfa32aa","slug":"n2b3dacfa32aa","tags":["最近の学び","暮らし","経済","データ","テクノロジー"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755287544-jhi0z5-note-n2b3dacfa32aa.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"New Rice Is on the Shelf, but the Price Does Not Fall: The Numbers Behind the Tag","ja":"新米が並んでも値段は下がらない？値札の裏で動く数字たち"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"What moves behind the price tag of rice.","ja":"米売り場には、新米の袋が並んでいます。つやのある米粒の写真。産地や品種。そして、その横には値札があります。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-27","readingMinutes":11},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"7feea004-d4b2-46fa-a69e-286b7a4d89e9","collection":"articles","position":12,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n154a0c92c23c","slug":"n154a0c92c23c","tags":["最近の学び","暮らし","経済","テクノロジー","家計"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755288003-85qweb-note-n154a0c92c23c.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Prices Up 1.9%, Yet Shopping Feels More Expensive: Why","ja":"物価は1.9％上昇。それでも買い物がもっと高く感じる理由"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"The gap between the official inflation figure and how shopping feels.","ja":"2026年9月18日に総務省統計局が公表した8月の消費者物価指数では、総合指数は前年同月比で1.9％上昇しました。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-27","readingMinutes":10},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"639c3642-c579-40c2-a87f-629296a7d606","collection":"articles","position":13,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n090370b15c97","slug":"n090370b15c97","tags":["ゲーム","テクノロジー","文化","振り返り","エンタメ"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755288493-u4xf18-note-n090370b15c97.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Why Is a Game Show Five Days Long? How \"Play\" Changed in 30 Years","ja":"ゲームショウはなぜ5日間に？30年で変わった「遊ぶ」の意味"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Thirty years of game shows and what they say about how we play.","ja":"2026年9月17日から21日まで、幕張メッセを中心に東京ゲームショウ2026が開かれました。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-27","readingMinutes":9},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"2a133074-e2e2-4f47-bf13-e39dd0973a39","collection":"articles","position":14,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/e22516f828f806770243","slug":"qiita-e22516f828f8","tags":["業務効率化","tesseract","pytesseract","pillow","Python"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755289408-rsdrfi-that-tedious-task-can-become-a-system-CL.webp","style":{"en":"Design notes","ja":"設計ノート"},"title":{"en":"Absorbing Tesseract OCR Misreads with a Human Review Screen","ja":"Tesseract OCRの誤読を人の確認画面で吸収する設計"},"topic":"dx","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Designing the review screen so OCR mistakes are caught by people instead of chasing perfect accuracy.","ja":"書類をOCRして業務システムへ取り込む仕組みを考えると、最初は「どうすれば認識精度を上げられるか」に目が向きます。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-27","readingMinutes":24},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"c6452b9f-9263-4fc3-a205-b3d840437a89","collection":"articles","position":15,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/c892681b1df67e7175fc","slug":"qiita-c892681b1df6","tags":["業務効率化","pydantic","OpenAI","Python","生成AI"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755289612-mlss4s-agent-ready-business-apps-01-principles.webp","style":{"en":"Hands-on","ja":"ハンズオン"},"title":{"en":"Pinning LLM Invoice Extraction to Types and Business Rules with Pydantic","ja":"LLMの請求書抽出をPydanticで型と業務ルールまで固定する"},"topic":"agent","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Using Pydantic to validate LLM output before it becomes business data.","ja":"書類の読み取りを自動化するとき、OCRの次に困るのが「LLMから返ってきた値を、そのまま業務データとして扱ってよいのか」という問題です。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-27","readingMinutes":25},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"beff4153-0070-4cba-bb3c-722b574b03ee","collection":"articles","position":16,"visible":true,"data":{"url":"https://zenn.dev/techstudiolab/articles/ai-agent-audit-log-evaluation-design","slug":"ai-agent-audit-log-evaluation-design","tags":["security","設計","評価","aiエージェント","監査ログ"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755289764-dvrz4u-agent-ready-business-apps-03-logs-and-ev.webp","style":{"en":"Design notes","ja":"設計ノート"},"title":{"en":"Designing Audit Logs and Evaluations to Keep Trusting an AI Agent","ja":"AIエージェントを任せ続ける監査と評価の設計"},"topic":"agent","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Why audit logs are kept apart from application logs, and how to evaluate an agent over time.","ja":"通常のアプリケーションログと監査ログを、なぜ分けて考えるのか"},"audience":{"en":"","ja":""},"platform":"zenn","priority":2,"publishedAt":"2026-09-27","readingMinutes":21},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"8f0b51c5-a5a9-4c18-b7c8-8779151a6db7","collection":"articles","position":17,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/6382de661869124899ed","slug":"qiita-6382de661869","tags":["業務効率化","Dify","PostgreSQL","TesseractOCR","Python"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755290221-x50czr-dify-ocr-invoice-to-postgres.webp","style":{"en":"Hands-on","ja":"ハンズオン"},"title":{"en":"Importing Paper Invoices into PostgreSQL with Dify and OCR","ja":"Dify＋OCRで紙の請求書をPostgreSQLへ取り込む"},"topic":"dx","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"A workflow that ends manual typing of paper invoices and faxes, with a person confirming the result.","ja":"紙の請求書やFAXが残っている業務では、システム化した後にも「紙を見ながら入力する」という作業が残りがちです。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-27","readingMinutes":24},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"d0d5a029-a926-47e2-9690-53ea2dff6ec7","collection":"articles","position":18,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n942c82708a25","slug":"n942c82708a25","tags":["AI","AI活用","仕事について話そう","業務効率化","中小企業"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755290765-in80c9-note-n942c82708a25.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Calling an AI Agent a \"New Hire\" Misses Something","ja":"AIエージェントを「新入社員」と呼ぶと、少し見誤ると思う"},"topic":"dx","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"How much work to hand to an AI agent, seen from an ordinary office evening.","ja":"午後6時半。そろそろ帰る人が出てきた事務所で、机の上には今日中に確認したい書類が残っています。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-26","readingMinutes":11},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"6477cc35-0e87-49e2-a3b3-28e0ecd2a027","collection":"articles","position":19,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n8b923a8a8657","slug":"n8b923a8a8657","tags":["最近の学び","暮らし","社会","テクノロジー","熱中症"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755291228-wofwis-note-n8b923a8a8657.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"707 Heatstroke Transports in September: Is \"Autumn\" on the Calendar Still Useful?","ja":"9月なのに熱中症搬送707人、「秋」という暦はまだ使えるのか"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"When the calendar and the weather no longer match.","ja":"朝、クローゼットを開けて、半袖にするか長袖にするか少し迷う。店には秋物が並び、コンビニには秋らしい商品が増える。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-26","readingMinutes":9},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"0ba24402-cbc3-47a0-bf47-cd14ad1022d0","collection":"articles","position":20,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n478f4065ce25","slug":"n478f4065ce25","tags":["AI","生成AI","教育","最近の学び","社会"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755291893-85b7by-note-n478f4065ce25-BiaIO2-Q.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"A Classroom with AI Next to the Textbook: What Happens to \"Thinking for Yourself\"?","ja":"教科書の隣にAIがいる教室で、「自分で考える」はどう変わる？"},"topic":"field","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"How homework and learning change when AI sits beside the textbook.","ja":"中学生が数学の宿題をしています。どうしても分からない問題がある。以前なら教科書を戻って読み、ノートを見返し、それでも分からなければ翌日先生に聞いたかもしれません。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-26","readingMinutes":10},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"db5f2222-db6c-48a3-81c8-2fae6b73be78","collection":"articles","position":21,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n2467a14afd9a","slug":"n2467a14afd9a","tags":["AI","仕事について話そう","業務効率化","中小企業","業務改善"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755293108-ylw9r3-note-n2467a14afd9a.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"\"The Same Input Again\": Where AI at Work Really Starts","ja":"「また同じ入力か」その面倒くささから始めるAI活用の話"},"topic":"dx","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Starting AI adoption from the small, repeated chores in a small office.","ja":"午後6時半。小さな事務所に、キーボードを打つ音が残っています。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-26","readingMinutes":10},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"96d2ba5b-8f2a-493d-bf3a-87c61fbcc7ec","collection":"articles","position":22,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n20decab74186","slug":"n20decab74186","tags":["最近の学び","ニュース","経済","テクノロジー","金利"],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755293542-orw410-note-n20decab74186.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Why the Bank of Japan Moving Rates Reaches All the Way to Phone Payments","ja":"日銀の金利が動くと、コンビニのスマホ決済まで話がつながる理由"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"How an interest rate decision connects to paying with your phone at a convenience store.","ja":"飲み物と夕食を手に取り、レジへ。スマートフォンをかざして支払いを終える。数秒の、いつもの買い物です。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-26","readingMinutes":9},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"acfde781-944f-4d43-b428-c655dc4eb603","collection":"articles","position":23,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n1382344db0e8","slug":"n1382344db0e8","tags":[],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755294048-nfy6td-note-n1382344db0e8.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"Running, Swimming, and Sports Beside Them: The Boundaries Seen at the Asian Games","ja":"走る、泳ぐ、その隣にスポーツ。アジア大会が映すスポーツの境界"},"topic":"life","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"What the Asian Games schedule says about where \"sport\" begins and ends.","ja":"愛知・名古屋で開かれているアジア競技大会の予定表を見ると、午前7時30分から男女のマラソンがあります。選手は自分の脚で長い距離を走ります。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-09-26","readingMinutes":10},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"075b9a05-46f4-421c-8a0b-494b243f0565","collection":"articles","position":24,"visible":true,"data":{"url":"https://zenn.dev/techstudiolab/articles/flutter-react-native-selection-criteria","slug":"flutter-react-native-selection-criteria","tags":["flutter","reactnative","技術選定","モバイル設計"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755294426-u99qg2-flutter-vs-react-native-2026-client-deci.webp","style":{"en":"Design notes","ja":"設計ノート"},"title":{"en":"Flutter or React Native: How to Choose Project by Project","ja":"FlutterかReact Nativeか、案件ごとの選定軸"},"topic":"mobile","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"The criteria I use to pick Flutter or React Native for each client project.","ja":"FlutterとReact Nativeを、単純な「どちらが優れているか」ではなく、案件の条件から選ぶための判断軸を整理します。特に、チームの得意分野、UI、ネイティブ機能、既存資産、長期保守をどう見ているかを書きます。"},"audience":{"en":"","ja":""},"platform":"zenn","priority":2,"publishedAt":"2026-09-26","readingMinutes":21},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"61663a19-9c5b-4f42-93a4-1b73dc4b2c79","collection":"articles","position":25,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/c173c20c9abb1b8cf88b","slug":"qiita-c173c20c9abb","tags":["保守運用","reactnative","NewArchitecture","TypeScript","モバイルアプリ"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755294602-5civqy-react-native-new-architecture-upgrade-ch.webp","style":{"en":"Checklist","ja":"チェックリスト"},"title":{"en":"Bringing an Old React Native App Up to the New Architecture","ja":"古いReact NativeアプリをNew Architectureへ上げ直す"},"topic":"mobile","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"What actually breaks when a years-old React Native app is upgraded, and the order to fix it in.","ja":"数年前に作ったReact Nativeアプリを久しぶりに開くと、JavaScriptのコードそのものより、周辺環境の変化に戸惑うことがあります。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-26","readingMinutes":17},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"b1815562-221c-481e-b9eb-c173869125a9","collection":"articles","position":26,"visible":true,"data":{"url":"https://zenn.dev/techstudiolab/articles/ai-agent-approval-flow-supabase-rls","slug":"ai-agent-approval-flow-supabase-rls","tags":["postgresql","security","設計","supabase","aiエージェント"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755294796-yncfde-agent-ready-business-apps-02-approval-an.webp","style":{"en":"Design notes","ja":"設計ノート"},"title":{"en":"Design Before Giving an AI Agent Write Access","ja":"AIに書き込み権限を渡す前の設計"},"topic":"agent","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Where to put human approval and how far to narrow permissions with PostgreSQL and Supabase RLS.","ja":"AIエージェントに業務データの更新を任せるとき、どこに人の承認を置き、PostgreSQLとSupabase RLSでどこまで権限を絞るかを整理します。"},"audience":{"en":"","ja":""},"platform":"zenn","priority":2,"publishedAt":"2026-09-26","readingMinutes":26},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"b2c6b977-9491-49fb-b2cd-47c0008ca671","collection":"articles","position":27,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/906d86684fbcb92eedbd","slug":"qiita-906d86684fbc","tags":["Security","MCP","ClaudeCode","SQLite","Python"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755294978-3h7x3u-mcp-server-readonly-business-db.webp","style":{"en":"Hands-on","ja":"ハンズオン"},"title":{"en":"Exposing a Business Database to Claude as a Read-Only MCP Server","ja":"業務DBを読み取り専用MCPにしてClaudeから参照する"},"topic":"agent","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Letting AI read internal data through a read-only MCP server, with the safety boundaries that matter.","ja":"AIから社内データを参照できるようにすると、「未対応のタスクを確認して」「この顧客の状態を調べて」といった自然文から業務データを扱えるようになります。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-26","readingMinutes":19},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"f4838715-7318-4e8e-ada9-26fd7cceafad","collection":"articles","position":28,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/83349e8b4cdf07b97cd1","slug":"qiita-83349e8b4cdf","tags":["Security","Python","正規表現","LLM","生成AI"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755295221-o8bicv-python-pii-masking-before-llm.webp","style":{"en":"Hands-on","ja":"ハンズオン"},"title":{"en":"Masking Personal Data in Python Before Sending It to Generative AI","ja":"生成AI送信前にPythonで個人情報をマスキングする"},"topic":"agent","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"A practical Python preprocessor for masking personal data before it reaches an LLM, and its limits.","ja":"社内システムとLLMをつなごうとすると、モデルへの問い合わせそのものより先に考えたいことがあります。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-26","readingMinutes":23},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"f9d77889-8149-4db1-b8a0-197bd06b5352","collection":"articles","position":29,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/1d08c21fd53cecaff4c4","slug":"qiita-1d08c21fd53c","tags":["モバイル開発","Flutter","Swift","FoundationModels","AI"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755295441-uv1pq5-flutter-apple-foundation-models-on-devic.webp","style":{"en":"Hands-on","ja":"ハンズオン"},"title":{"en":"Calling Apple's Foundation Models from Flutter: A Minimal Setup","ja":"FlutterからFoundation Modelsを呼ぶ最小構成"},"topic":"mobile","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"A minimal platform-channel setup for using Apple on-device models from a Flutter iOS app.","ja":"FlutterでiOSアプリを作っていると、Apple固有の新しいAPIを使いたい場面があります。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2026-09-26","readingMinutes":28},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"f0db41ba-c914-45de-a58b-9f843d8f2490","collection":"articles","position":30,"visible":true,"data":{"url":"https://note.com/techstudiolab/n/n483f889ea132","slug":"n483f889ea132","tags":[],"cover":true,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755296014-5koy0t-note-n483f889ea132.webp","style":{"en":"Essay","ja":"エッセイ"},"title":{"en":"With Claude Around, Are Engineers Still Needed?","ja":"Claudeがあれば、もうエンジニアはいらない？"},"topic":"dx","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Thinking through the \"no more engineers\" debate from the side of someone who builds systems.","ja":"最近、Web開発の世界でAIの存在感が急速に大きくなっています。"},"audience":{"en":"","ja":""},"platform":"note","priority":2,"publishedAt":"2026-08-14","readingMinutes":5},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"d879d7dc-8fbf-4783-8893-7dd141cea811","collection":"articles","position":31,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/f1f97af952fcb8df39d6","slug":"qiita-f1f97af952fc","tags":["Python","MachineLearning","DeepLearning","AI","GenerativeAI"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755296213-09ujet-ai-agent-is-a-prep-cook-not-a-new-hire.webp","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Six Research Frontiers That Define Generative AI in 2025","ja":"2025年の生成AIを定義する6つの研究フロンティア"},"topic":"agent","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"An overview of the six research themes moving generative AI from demos to infrastructure.","ja":"― 次世代AIの課題と可能性を裏付けるエビデンスベースの分析 ―"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-12","readingMinutes":5},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"ad5da04c-2967-4ef0-8039-86aff5eeaeb0","collection":"articles","position":32,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/f138730be1c1434578f5","slug":"qiita-f138730be1c1","tags":["PHP","Laravel"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Laravel: Its Strengths and Weaknesses in Detail","ja":"Laravelフレームワークの利点と欠点を徹底解説"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"When Laravel is the right choice for balancing development speed and quality.","ja":"近年、多くの企業において、プロダクトをいかに迅速に市場へ投入できるかがビジネス成長の鍵となっています。競合の動きを待つ余裕はなく、「開発スピード」と「品質」を両立するための最適なフレームワーク選びが重要です。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-10","readingMinutes":4},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"071194f0-69c2-4d89-96aa-7a2097f848e0","collection":"articles","position":33,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/20e337015c3f0b29c1ce","slug":"qiita-20e337015c3f","tags":["SEO","Lighthouse"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Understanding Lighthouse: A Complete Guide to the Web Performance Audit Tool","ja":"Lighthouseの理解：ウェブパフォーマンス監査ツールの包括的ガイド"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"What each Lighthouse category measures and how to act on it.","ja":"ウェブ開発の世界では、パフォーマンスが優れ、アクセス可能で、SEOに最適化されたウェブサイトを提供することが最も重要です。開発者やSEOスペシャリストがこれらの目標を達成するために使用する最も強力なツールの1つがLighthouseです。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-09","readingMinutes":5},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"7a955b23-efbc-42a3-b43a-eb85e0994173","collection":"articles","position":34,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/a1df9d49bc9a054dfbfd","slug":"qiita-a1df9d49bc9a","tags":["bubble.io"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Bubble.io: The Pros and Cons","ja":"Bubble.io の長所と短所を整理してみた"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Where no-code Bubble fits among ways to build web apps.","ja":"近年、Web アプリケーション開発の手法は多様化しており、従来の HTML ／ CSS ／ JavaScript を用いたコーディング以外にも、数多くの選択肢が登場しています。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-08","readingMinutes":3},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"4568f8fa-2a96-4f0a-a257-1b6c838b72ab","collection":"articles","position":35,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/f504afd017611ea719ec","slug":"qiita-f504afd01761","tags":["React","Shopify","hydrogen"],"cover":false,"image":"https://pwgsrmjnpeqwknkxwohb.supabase.co/storage/v1/object/public/media/uploads/1790755296638-jr5io6-shopify-agentic-commerce-product-data-au.webp","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Shopify Hydrogen and Oxygen: A React Framework for a New Era","ja":"Shopify Hydrogen と Oxygen ― 新時代の React フレームワーク解説"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"How Hydrogen and Oxygen work for headless Shopify storefronts.","ja":"Shopify が提供する Hydrogen は、Remix を基盤としたサーバーサイドレンダリング（SSR）対応の React フレームワークで、Shopify のデータへ直接アクセスできる カスタムストアフロント を構築するための最新ソ…"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-07","readingMinutes":5},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"c844ef5d-aaf0-4239-8a27-5dee840b80e8","collection":"articles","position":36,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/4bdbd5a8bb17beebc666","slug":"qiita-4bdbd5a8bb17","tags":["Heroku","Remix","Shopify","Fullstack","shopify-apps"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"A Shopify App with Remix: Frontend Plus Background Workers on Heroku","ja":"Remix で構築するフルスタック Shopify アプリ：フロントエンド + バックグラウンドジョブ用 Workers（Heroku 上）"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Structuring a Remix Shopify app with background job workers.","ja":"もし、Shopify CLI を使用して Remix を使ったフルスタック Shopify アプリを構築している場合、最終的にバックグラウンド処理（例えば、商品データの同期やウェブフックイベントの処理、メール送信など）を Workers に…"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-05","readingMinutes":5},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"0c092b47-db06-4908-9a3d-0ebaaa3041f5","collection":"articles","position":37,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/4924937080971561db2f","slug":"qiita-492493708097","tags":["JavaScript","TypeScript","Next.js"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"SSR vs CSR in Next.js: Choosing the Right Rendering Strategy","ja":"Next.js における SSR と CSR の違いと使い分け ― 最適なレンダリング戦略を選ぶために"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"When to render on the server or the client in Next.js.","ja":"Next.js は、モダンな Web 開発において非常に強力なフレームワークとして広く利用されています。特に、サーバーサイドレンダリング（SSR）とクライアントサイドレンダリング（CSR）の両方を柔軟に扱える点が大きな特徴です。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-05","readingMinutes":4},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"b7230275-6887-4829-ae99-4520ed466fdc","collection":"articles","position":38,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/781ee27e8d5d7899d849","slug":"qiita-781ee27e8d5d","tags":["Python","React","GraphQL","Next.js"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Implementing Authentication and Authorization in a GraphQL API","ja":"GraphQL API における認証と認可の実装方法"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Separating authentication and authorization in GraphQL applications.","ja":"GraphQL を用いたアプリケーションでは、認証（Authentication）と認可（Authorization）の概念が重要です。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-04","readingMinutes":8},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"d1d9e7e1-2ec8-4ec8-b431-b8c90585e2d4","collection":"articles","position":39,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/d01e8ce6428c85793fac","slug":"qiita-d01e8ce6428c","tags":["TypeScript","Remix","Next.js"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"The Future of Web Architecture: Why Remix Could Overtake Next.js in 2025","ja":"Webアーキテクチャの未来：なぜRemix.jsは2025年にNext.jsを凌駕するのか"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Comparing Remix and Next.js for full-stack React development.","ja":"2025年におけるフルスタックWeb開発のReactフレームワーク競争は、新たな局面を迎えています。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-02","readingMinutes":5},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"970321d3-5116-455d-961a-4ce671ba6320","collection":"articles","position":40,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/b1ee8d081d6501bd7ae9","slug":"qiita-b1ee8d081d65","tags":["TypeScript","SEO","React","JaveScript","vite"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"An SEO Guide for React + Vite Projects","ja":"React + Vite プロジェクトの SEO 最適化ガイド"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Making a React + Vite single-page app discoverable by search engines.","ja":"SEO（Search Engine Optimization）は、ウェブアプリケーションの発見性を高めるために非常に重要です。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-12-01","readingMinutes":8},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"87f3e17c-3ee4-4f07-bdf6-116ec6030b2d","collection":"articles","position":41,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/1bd0252172406fb9fd68","slug":"qiita-1bd025217240","tags":["TypeScript","React"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"React in 2025: Trends and Tools Worth Watching","ja":"2025年の React.js 開発: トレンドと注目ツールまとめ"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"A roundup of tools shaping React development in 2025.","ja":"フロントエンド開発の世界では、日々新しい技術やツールが登場し、開発者やチームにとって「何を採用すべきか」の判断はますます難しくなっています。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-11-30","readingMinutes":4},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"ac69d05c-faa8-42a9-b3fb-8fe4f5dd2048","collection":"articles","position":42,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/3c5c5d839b5ac5430af4","slug":"qiita-3c5c5d839b5a","tags":["TypeScript","React","TanStackQuery","TanStackRouter","Tanstack"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Using TanStack Query (React Query) for Efficient Data Fetching","ja":"TanStack Query（React Query）の使い方 - 効率的なデータフェッチングのための包括的ガイド"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Fetching, caching and syncing server data in React with TanStack Query.","ja":"Reactを使ったアプリケーションで、データの取得はしばしば重要な課題です。従来、手動でのAPIリクエストや状態管理の複雑さを解決するために、TanStack Query（旧React Query）が登場しました。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-11-29","readingMinutes":5},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"a7f5046f-67fc-436b-bc18-1bec8c2bbbce","collection":"articles","position":43,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/edda96451975d181b6bf","slug":"qiita-edda96451975","tags":["JavaScript","TypeScript","Vue.js","Nuxt"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"The \"Perfect Storm\" Approaching Vue.js","ja":"Vue.js に迫る「Perfect Storm（大嵐）」 — なぜ多くの開発者が気づいていないのか 🌀"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Changes around Vue.js that many developers may not have noticed yet.","ja":"この記事は、Vue.js の現状とこれから起こりうる「大きな変化（＝Perfect Storm）」について論じたもので、フロントエンド開発者に対する警鐘と提案を含んでいます。主な論点を以下に整理します。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-11-27","readingMinutes":2},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"d159633d-3775-42ec-908c-90bfbda53348","collection":"articles","position":44,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/5ad309015a23920f16fd","slug":"qiita-5ad309015a23","tags":["PHP","Laravel","AI"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Laravel Trends in 2025","ja":"2025年の Laravel トレンド — 知っておきたい最新の潮流 🚀"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"The latest directions in the Laravel ecosystem.","ja":"PHP の代表的フレームワークである Laravel は、2025年現在も進化を続けており、開発現場における主流のひとつです。最近話題となっている「2025年版の Laravel トレンド」を、主要なポイントごとに整理しました。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-11-26","readingMinutes":2},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"521df5f0-362d-4fe3-8456-45afc08ebaba","collection":"articles","position":45,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/ae7abfad783fba18be9d","slug":"qiita-ae7abfad783f","tags":["JavaScript","Node.js","TypeScript","React","Next.js"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Best Practices for Speeding Up a Next.js App","ja":"Next.js アプリの速度を向上させるためのベストプラクティス【記事解説】"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"Practical ways to improve Next.js performance.","ja":"この記事では、Next.js アプリのパフォーマンスを向上させるために有効なベストプラクティスがまとめられています。"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-11-25","readingMinutes":3},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"},{"id":"7b77773f-8b71-4d99-8e2a-85a5d964a05a","collection":"articles","position":46,"visible":true,"data":{"url":"https://qiita.com/TechStudioLab/items/000e9fdfea3cba1f22b2","slug":"qiita-000e9fdfea3c","tags":["JavaScript","TypeScript","React","GraphQL","Next.js"],"cover":false,"image":"","style":{"en":"Explainer","ja":"解説"},"title":{"en":"Telling Queries from Mutations at Runtime in GraphQL","ja":"GraphQL で実行時に Query と Mutation を判別する方法"},"topic":"web","trend":{"en":"","ja":""},"series":{"en":"","ja":""},"status":"published","visual":{"en":"","ja":""},"outline":{"en":[],"ja":[]},"sources":[],"summary":{"en":"How to detect the operation type of a GraphQL request at runtime.","ja":"GraphQL では、Query と Mutation はスキーマ上でははっきり分かれていますが、"},"audience":{"en":"","ja":""},"platform":"qiita","priority":2,"publishedAt":"2025-11-24","readingMinutes":3},"created_at":"2026-09-30T08:01:37.346961+00:00","updated_at":"2026-09-30T08:01:37.346961+00:00"}]}