実績・プロジェクト/Humphrey ポートフォリオ (Laravel + React)
Laravel 12、React 19、Inertia.js v2、そしてMCPサーバー統合で構築されたフルスタックポートフォリオ&コンテンツエンジン。

Laravel 12、React 19、Inertia.js v2で構築された、高性能なフルスタック個人ポートフォリオ、ブログプラットフォーム、そしてヘッドレスMCPコンテンツシステム。マルチ層キャッシング(HomepageCacheService)、非同期の閲覧数カウントキューワーカー、動的Schema.org JSON-LD SEOを備えたTipTap v3リッチテキストエディタ、AIエージェントとの連携のためのModel Context Protocol(MCP)ツールサーバー統合、そしてエンタープライズ向けRBAC管理パネルを特徴とする。
Key architectural decisions, concrete code implementations, and performance wins behind this project.
Enabling external AI agents to securely query and mutate portfolio content and site metrics without custom one-off API adapters.
Implemented an MCP Server using Laravel MCP tools, OAuth 2.0 discovery endpoints, and strict FormRequest-backed schema validators.
Aggregating complex relational datasets on every homepage visit causes high database CPU utilization and slow TTFB.
Built HomepageCacheService with fine-grained TTLs coupled to Eloquent Observers that surgically flush keys upon create/update/delete events.
Synchronously incrementing view counters on high-traffic content triggers database row write-lock contention.
Decoupled metrics tracking into an asynchronous queue job implementing ShouldQueue dispatched non-blockingly during requests.
Repurposing the legacy real estate 'projects' table for a software developer portfolio while preserving legacy data and polymorphic image bindings.
Executed atomic schema migration with dynamic table introspection, data copying into 'real_estate_projects', and batch updates on polymorphic morph types.
Media lookups across Project, Blog, and Deployment models were causing sequential scans as the images table expanded.
Created composite indexes targeting general queries, primary image lookups, and sequence display ordering.
High-resolution user-uploaded assets ballooning frontend payload sizes and harming Core Web Vitals.
Engineered an image processing pipeline using Intervention Image that auto-resizes uploads into small (300px), medium (800px), and large (1200px) tiers.
Static social previews fail to capture dynamic blog titles, project tech tags, and author branding when shared across social channels.
Implemented dynamic server-side image generation endpoints with disk-based caching responding to /og-image/{type}/{slug}.
Imperative policy validation inside controller actions creates boilerplate and increases the risk of forgotten permission checks.
Applied native PHP 8 #[Authorize] attributes to route handlers bound to centralized Laravel Policies and DB permission matrices.
// community_discussion
Have thoughts, questions, or ideas regarding this system's architecture? Leave a comment below with your GitHub account.