-
Design across the whole system. Make and document the architectural calls that span the AI/backend engine, the service layer, and the UI — orchestration boundaries, streaming protocols, the type-safe client-to-server contract, artifact and file-delivery flows, persistence, and error/reconnection strategy. Turn ambiguous product goals into designs the team can build against.
-
Build on the backend and AI layer. Work in the engine that powers the product — extending backend services and their capabilities, wiring model interactions and structured outputs, handling streaming, and managing state and persistence. Reason about latency, cost, and failure modes across the system.
-
Own the service layer. Extend the Node backend-for-frontend between the UI and core services — building endpoints, streaming responses (SSE) to the browser, enforcing auth, and keeping the client-to-server contract type-safe end to end.
-
Ship UI, and provide front-end coverage. Build a streaming, chat-style interface in React on a modern SSR framework — live token streams, progress indicators, and inline interactive content — and turn structured data into interactive charts, tables, and the download/preview experience for generated documents (e.g., PPTX, PDF). Be someone the team can rely on to carry meaningful front-end work when needed.
-
Provide technical guidance to the team. Set the bar in code review, weigh in on design docs, and help other engineers navigate a fast-moving AI-native codebase. Spot risk early — performance, complexity, streaming-state edge cases — and steer around it before it ships.
-
Get streaming and async right. Handle the realities of long-running, asynchronous work end to end: partial/streaming state, loading and "generating" transitions, reconnection, large-payload handling, and graceful behavior when a request fails mid-flight.
-
Raise quality. Write unit, integration, and end-to-end tests, instrument what you ship, and use logs, traces, and error tracking to debug issues that span the UI and the services behind it.
-
Understand the context you're working in. Build a working model of how the system and its downstream dependencies behave, and use it to make good product and implementation calls rather than waiting for fully-specced tickets.
-
Collaborate and mentor. Partner with product, design, and platform/backend engineers, and level up the engineers around you through review, pairing, and clear technical writing.