← Home
04
REST API · MCP Servers

Platform Tooling

Core APIs, retrieval infrastructure, and agent tooling — the foundation layer that makes the rest of Athena usable in real workflows.

Problem

The hardest platform problems usually show up before the product experience does. At Sony, valuable capabilities existed, but they were difficult to access from modern applications, internal tools, and emerging agent workflows. That created a bottleneck where every higher-level product depended on specialized implementation knowledge before a team could even start experimenting. Before Athena could help users plan, hand off, or debug workflows, the underlying capabilities had to be exposed through clear, reusable APIs and tools that made the platform feel approachable.

Solution

I built the foundation layer as two complementary surfaces: a versioned REST API for application developers and MCP servers for AI agents. On top of that, I created a retrieval system that ingests documentation, normalizes it, and serves it back through usable tools instead of static files alone. That let the same underlying platform support web apps, coding agents, and Athena’s own workflow products. The goal was to turn fragmented capabilities and documents into infrastructure that other experiences could reliably build on — including the collaborative planning layer and the local developer tooling that sit above it.

The REST API surface — versioned HTTP endpoints with live request/response inspection, making the camera SDK feel like any networked product
The REST API surface — versioned HTTP endpoints with live request/response inspection, making the camera SDK feel like any networked product

Design & Technologies

The retrieval layer was built in Python with document ingestion, semantic chunking, embeddings, vector storage, and MCP-backed search tooling so LLMs could query the knowledge base as structured tools. The execution layer wrapped lower-level capabilities behind a REST surface and shared typed contracts with downstream clients, making it usable from browser apps, local CLIs, and agent runtimes. I treated this layer as product infrastructure rather than just backend plumbing: the main design goal was to create stable, reusable access patterns for both humans and agents.

MCP Server — Intent Mapper, Search Layer, and Reranking behind a shared API Router, deployed on Railway
MCP Server — Intent Mapper, Search Layer, and Reranking behind a shared API Router, deployed on Railway

Role

I led problem discovery, AI prototyping, feature scoping, and the longer-term roadmap for how agent workflows should sit on top of the platform. My biggest contribution in this layer was defining the core data types, MCP tool definitions, and document transformation/schema pipeline so higher-level products had stable building blocks to rely on. I also owned observability strategy across Statsig and LangSmith, used Claude Code and Codex to help productionalize and deploy the system, and worked with engineers to review and test changes before release. The role was equal parts product architecture and technical systems design.

Trade-offs & Prioritization

The main priority was broad accessibility, so I optimized first for clear APIs and fast developer access rather than exhaustive feature coverage on day one. That meant accepting some duplication across retrieval, REST, and MCP surfaces in exchange for making the platform usable by multiple product layers quickly. I also chose explicit interfaces over clever hidden abstractions because downstream products needed predictable behavior more than maximum elegance. The biggest trade-off was spending time on foundational tooling before the user-facing workflows were fully polished.

Lessons & Improvements

This work reinforced that platform tooling is only valuable when it reduces friction for the next team in the chain, not just when it exposes raw capability. Users and product teams benefited most when the infrastructure was opinionated enough to feel trustworthy, not merely flexible. If I were extending this further, I would invest in even stronger interoperability between the REST and MCP layers so product teams could adopt one shared contract more directly. I would also deepen observability around retrieval quality and tool usage so platform improvements could be prioritized from real usage patterns rather than assumptions.