Emilio Cignetti

Senior Full-Stack Engineer

Italian and Argentine citizen

Frontend depth, full-stack reach, AI in production.

Seven years on B2B SaaS, four of them on a platform of microservices serving brands and creators. I build accessible interfaces and the design systems behind them — Vue, React, TypeScript, WCAG 2.1 AA — and I ship across Node, Go, GraphQL and Kubernetes.

I work with LLMs and AI agents in production: Claude agentic pipelines, MCP servers and skills.

  • TypeScript
  • JavaScript
  • Vue 3
  • React
  • Node.js
  • Go
  • GraphQL
  • PostgreSQL
  • Anthropic API
  • Claude Code
  • Model Context Protocol
  • OpenID Connect
  • OAuth 2.0
  • Kubernetes
  • Terraform
  • AWS
  • Docker
  • Storybook
  • WAI-ARIA
  • WCAG 2.1 AA
  • Jest
  • Vitest
  • Playwright
  • ESLint
  • Prettier
  • WebSocket
  • Jira
  • Scrum

I give the model the context, the patterns and the constraints, and I take the technical decisions myself. How I work with AI.

Read the resume (CV)See the work

Italian and Argentine citizen. Six years working fully distributed across ten countries, with teams spanning up to nine hours of time-zone difference.

Working with AI

Shipped
A Claude pipeline that reads development transcripts into typed findings, scrubbed of secrets and personal data before any request leaves the network. Findings above a confidence threshold arrive as pre-filled tickets for a person to accept or reject. The case study.
Authored
Agent instructions and skill definitions for three platform monorepos, and a Model Context Protocol server that gives an agent typed, authenticated access to a live inventory API.
Practice
I design the work before the model touches it: the context it needs, the patterns to follow, the constraints it may not break. It proposes the alternatives and I choose between them — and every choice on this site is one I made, written down with the options that lost.

How I work with AI

Selected work

A production LLM pipeline that finds what slows engineers down

Development transcripts, scrubbed of secrets and personal data, read by Claude into typed findings. The confident ones arrive as pre-filled tickets.

A tool that reads engineers' transcripts has two ways to fail. It can send something it should never have sent, or it can produce findings nobody acts on. The second one kills it quietly.

  • Anthropic API
  • Claude
  • structured output
  • Go
  • Node.js
  • OAuth 2.0 device flow
  • Slack
  • Jira

An accessibility-first design system

Thirty-plus components published as an npm library and adopted as mandatory across an engineering organization of several teams.

A component library is not hard because components are hard. It is hard because every team wants a slightly different one, and every exception you grant is a bug you will ship in someone else's product.

  • Vue 2.7
  • TypeScript
  • SCSS
  • Storybook
  • design tokens
  • WAI-ARIA
  • axe

An OpenID Connect provider and a narrowing token exchange

An OpenID Connect server with an RFC 8693 token exchange, three resource servers, a client behind a backend-for-frontend, and an MCP server for agents.

A person consents once, broadly. Every token after that has to be narrowed by intersection before it touches an API, and no exchange may ever widen one.

  • NestJS
  • TypeScript
  • PostgreSQL
  • TypeORM
  • Drizzle
  • OAuth 2.1
  • OIDC
  • RFC 8693
  • Angular
  • Vue

Claude driving three microservices, on the user's own authority

An MCP server in front of id, inventory and social. The user asks in a chat box, and the server mints one token per audience and calls each API as them.

A chat box beats a user interface for anything you can say in one sentence — but only if the agent can reach several APIs on the user's own authority, without ever holding their credentials.

  • Model Context Protocol
  • OAuth 2.1
  • RFC 8693
  • RFC 9728
  • microservices
  • NestJS
  • TypeScript
  • Claude

Every case study

Experience

August 2022 to May 20263 years and 10 monthsBoston, United States, remote

UX Engineer, Traackr

An influencer marketing platform built as a cluster of microservices and applications, serving brands and content creators. Four team rotations over four years: feature delivery, design system, platform modernization and developer experience.

  • Built a production LLM pipeline on the Anthropic API, owning all of its architectural and technical decisions: it turned development transcripts into triaged Jira tickets for human review.
  • Principal contributor to an accessibility-first design system adopted as mandatory across the engineering organization: components from atoms up to the application shell, all built to the WAI-ARIA guidelines.
  • Engineering ambassador for the UX team, helping engineers across other teams turn Figma designs into components and hosting internal talks on accessible components, CSS layout and DOM events.
  • Built bulk-selection components and the GraphQL batch mutations behind them, so customers could act on thousands of records at once, and released each service the change touched in dependency order.
  • TypeScript
  • JavaScript
  • Vue 2.7
  • Composition API
  • Vuex
  • Vue Router
  • Node.js
  • Go
  • GraphQL
  • Apollo Server
  • PHP
  • CakePHP
  • Sails.js
  • Express
  • SQL
  • PostgreSQL
  • Sequelize
  • TypeORM
  • Redis
  • REST
  • OpenAPI
  • Swagger
  • Anthropic API
  • Claude Haiku
  • Claude Code
  • CLAUDE.md
  • OpenID Connect
  • OAuth 2.0
  • Keycloak
  • JWT
  • Kubernetes
  • Helm
  • Terraform
  • Docker
  • AWS
  • JFrog Artifactory
  • Jenkins
  • GitHub Actions
  • Datadog
  • Grafana
  • New Relic
  • Storybook
  • WAI-ARIA
  • WCAG
  • axe
  • SCSS
  • Tailwind CSS
  • HTML
  • CSS
  • Vite
  • pnpm
  • release-please
  • Jest
  • Vitest
  • Jasmine
  • Vue Testing Library
  • Bubble Tea
  • Shopify
  • SendGrid
  • Slack API
  • Axios
  • Git
  • GitHub
  • Bitbucket
  • Jira
  • Confluence
  • Slack
  • Zoom
  • Figma
  • Scrum
  • design tokens
  • microservices
  • monorepos
  • feature flags
July 2021 to June 20221 yearPhoenix, United States, remote

Frontend Developer, Tactic

A multitenant hybrid-work platform where employees pick an office and book a workspace in it.

  • Built the responsive component set used across both the marketing site and the application, from design through to shipped code.
  • Built the drag-and-drop reorderable tables and file upload, and the state management that kept them synchronized with the server.
  • Restructured the application's HTML around measurement, boundaries and scrollable regions — the structural work that decides whether a layout survives real content.
  • TypeScript
  • JavaScript
  • React
  • React Hooks
  • Next.js
  • SWR
  • Tailwind CSS
  • HTML
  • CSS
  • React Native
  • OpenID Connect
  • multitenancy
May 2020 to June 20211 year and 2 monthsPanama City, Panama, remote

Frontend Developer, Graff3D

Web3D, a multitenant platform for showcasing and selling real estate.

  • Built the client application with internationalization throughout — ICU strings, pluralization and currency formatted per locale.
  • Built the responsive property views, from a building overview down to per-apartment galleries, dimension plans and immersive 360-degree tours.
  • JavaScript
  • Vue 2
  • Vuex
  • SASS
  • HTML
  • CSS
  • Jest
  • i18n
  • ICU MessageFormat
  • feature flags
  • Google Analytics
  • Sentry
  • multitenancy
November 2018 to August 201910 monthsSan Francisco, Argentina

Frontend Developer, Rooftop

An agency building a marketing site and an administrative dashboard.

  • Owned the application architecture through a rewrite, from hand-rolled server-side rendering to Next.js.
  • Built a server-rendered marketing site and an event-driven React and Redux administration dashboard, with internationalization across both.
  • TypeScript
  • JavaScript
  • React
  • Redux
  • Redux Saga
  • Next.js
  • Node.js
  • server-side rendering
  • Webpack
  • Babel
  • JSS
  • Jest
  • i18next
  • Google Analytics
  • Sentry

The full resume, role by role

Contact me

Email is the fastest way to reach me: emilio@cignetti.ar.