# Fernando Gómez Graciani > Fernando Gómez Graciani is a Senior Full Stack Software Engineer with 6+ years of experience building production web applications with React, TypeScript, Next.js, Node.js and Python. Senior Fullstack Developer at ArangoDB (graph visualization and GraphRAG), previously Accenture. Based in Barcelona, Spain, open to remote roles. Full stack product engineer with 6+ years shipping production applications, used to owning a feature from the React interface down through the API layer and the data model. Front end is React and TypeScript; behind it I build production Python services with FastAPI and Node.js/Express services, design the REST contracts they expose, and model the data in graph, document and relational stores. At ArangoDB I led the replacement of a failing Server-Sent Events pipeline with a resilient job-based polling architecture, built a graph visualization platform that stays responsive at 1,000+ nodes, and cut unnecessary API calls by 60% with a new data-fetching architecture. ## Quick facts - Name: Fernando Gómez Graciani (also written Fernando Gomez Graciani, Fernando Gómez, Fernando Gomez, shd8) - Role: Senior Full Stack Software Engineer - Currently: Senior Fullstack Developer at ArangoDB - Location: Barcelona, Spain. Works remotely (CET/CEST timezone) - Open to: remote Senior Full Stack, Senior Frontend and Senior Software Engineer roles (React/TypeScript); relocation considered for a standout role - Languages: Spanish (Native), Catalan (Native), English (Professional), Portuguese (Professional) - Contact: shadyfast8.services@gmail.com - Portfolio: https://fernando-gomez-graciani.vercel.app - CV: https://fernando-gomez-graciani.vercel.app/cv (PDF: https://fernando-gomez-graciani.vercel.app/Fernando-Gomez-Graciani-CV.pdf) - linkedin.com: https://www.linkedin.com/in/fernando-gomez-graciani/ - github.com: https://github.com/shd8 - himalayas.app: https://himalayas.app/@fernandogomezgraciani - wellfound.com: https://wellfound.com/u/fernando-gomez-graciani - mnf.red: https://mnf.red/fernando-gomez-graciani ## Skills - Front End: React, TypeScript, JavaScript (ES2024), Next.js, Component Architecture, shadcn/ui (Tailwind), Chakra UI, Material UI, Vue/Vuex, Figma - State & Data Fetching: TanStack React Query, Zustand, Redux Toolkit, Redux, Smart Caching, Query Invalidation - Back End: Python (FastAPI, Pydantic, Uvicorn), Node.js, Express.js, async/await, Microservices - APIs: REST API Design, API Contract Design, GraphQL (schemas, resolvers), Server-Sent Events, WebSockets, Job-Based Polling - Data: PostgreSQL, ArangoDB (graph, document, AQL), MongoDB, Data Modeling, IndexedDB - Visualization & Performance: Cytoscape.js (1,000+ nodes), D3 Force Layout, Render Optimization, Dense-Data Interfaces - AI & LLM: GraphRAG tooling, Knowledge-graph modeling, Claude Code, Spec-driven agentic development, Cursor, GitHub Copilot - Cloud & CI/CD: Docker, Kubernetes, GitHub Actions, GitLab, AWS (Certified Cloud Practitioner), Vite, Webpack, Turborepo, pnpm Workspaces - Testing & Quality: Jest, React Testing Library, Playwright, Cypress, Trivy (container & dependency scanning), CVE triage, Code Reviews - Ways of Working: ADRs, API Specifications, Coding Standards, Technical Writing, Mentoring, Fully remote since 2022, Async written communication ## Experience - Senior Fullstack Developer, ArangoDB (Apr 2023 – Present, Remote) - Led the migration of GraphRAG multifile imports from a Server-Sent Events stream to a resilient job-based polling system: specced it, agreed the REST contract with the backend team, and built the reusable type-safe React Query layer on top - Engineered a graph visualization platform on Cytoscape.js and D3 force layouts with custom Zustand stores, staying responsive at 1,000+ nodes - Designed the platform-wide data-fetching architecture (smart caching, query invalidation, polling), cutting unnecessary API calls by 60% - Builds production Python services with FastAPI, Pydantic and Uvicorn alongside Node.js/Express services; graph and document modeling with AQL in ArangoDB - Owns Trivy container and dependency scanning in CI and CVE triage under SOC 2; owns coding standards, architectural guides, API specs and ADRs - Ships through Docker, GitHub Actions and Kubernetes, with Jest, React Testing Library and Playwright coverage; works spec-driven with Claude Code - Fullstack Developer, Accenture (Mar 2022 – Apr 2023, Remote) - Extended an international web application to 10 additional global markets for top-tier clients, owning features end to end across React/Next.js and Node.js microservices - Led the migration to Next.js and optimized Node.js microservices, reducing server response times; migrated Redux to Redux Toolkit, improving page load times - Designed and consumed GraphQL and REST APIs over PostgreSQL, including schema and resolver design - Frontend Developer, Dinbeaters (Sep 2021 – Mar 2022, Barcelona, Spain) - Introduced one development standard and Git workflow across the platform, cutting code review time by 30% and shortening onboarding - Migrated the platform from React class components to a functional/Hooks architecture, improving page load speed - FullStack Developer, ISDI Coders (Mar 2021 – Sep 2021, Barcelona, Spain) - Built React/Redux applications over MongoDB through a RESTful API, mentored junior developers on React best practices, and led the adoption of Vue for an e-commerce build - Frontend Developer, IRIUM Solutions & Systems (Jan 2020 – Feb 2021, Mallorca, Spain) - Built and maintained a testing framework that raised coverage to 80% and reduced defects by 25% - Resolved user-reported issues at a 95% first-call resolution rate and helped reduce technical debt ## Articles - [Stop syncing server state with useEffect: 6 TanStack Query anti-patterns and their fixes](https://fernando-gomez-graciani.vercel.app/blog/tanstack-query-anti-patterns) (2026-09-29): Six TanStack Query v5 mistakes I see in code review, from copying query data into useState to refetching by hand after mutations, and the small, boring fixes that remove whole classes of bugs. - [Replacing Server-Sent Events with self-terminating polling in TanStack Query](https://fernando-gomez-graciani.vercel.app/blog/sse-to-polling-tanstack-query) (2026-09-29): Why I stopped streaming progress for long-running jobs, and the typed, job-based polling pattern with TanStack Query v5 that replaced it: contract, hook, backoff and resume after reload. - [Spec-driven development with Claude Code: write the contract, then let the agent implement it](https://fernando-gomez-graciani.vercel.app/blog/spec-driven-development-claude-code) (2026-09-29): How I use a coding agent every day without vibe-coding: a short written spec (contract, data model, acceptance criteria) comes first, the agent implements against it, and review, types and tests check the result against the spec, not against a chat log. - [Rendering 1,000+ node graphs in React without freezing the UI](https://fernando-gomez-graciani.vercel.app/blog/react-large-graphs-cytoscape) (2026-09-29): Why graph libraries and React's render cycle fight each other, and the setup I use with Cytoscape.js and a vanilla Zustand store: one long-lived instance, batched diffs, and UI state that never re-renders the canvas. - [End-to-end type safety from FastAPI to React: Pydantic → OpenAPI → TypeScript](https://fernando-gomez-graciani.vercel.app/blog/fastapi-to-typescript-types) (2026-09-29): How I keep a Python backend and a TypeScript frontend in sync without hand-written types: Pydantic models as the source of truth, the OpenAPI schema FastAPI already generates, openapi-typescript, and a CI check that fails on drift. ## Education - Full Stack Web Development Bootcamp, ISDI Coders Academy. Elite Performance Award (top 5% of cohort) - Software Engineering (BSc coursework), UOC (Open University of Catalonia). Highest honors in several subjects ## Certifications - Claude Code in Action (Anthropic) - AWS Certified Cloud Practitioner - Python for Data Science and AI (IBM) ## Projects - fernando-portfolio: https://github.com/shd8/fernando-portfolio - speech-recognition: https://github.com/shd8/speech-recognition - advertisements: https://github.com/shd8/advertisements - the-right-way: https://github.com/shd8/the-right-way - evolmind-voices: https://github.com/shd8/evolmind-voices - react-chess: https://github.com/shd8/react-chess - fullstack-react-todolist: https://github.com/shd8/fullstack-react-todolist - game-of-life: https://github.com/shd8/game-of-life