Projects
Back

Banking SPA Architecture Barcelona

2025-2026

Joined a well-known Barcelona bank expecting a supporting role. Two months in, the Tech Lead left. I inherited two poorly built SPAs and led the architecture of a new one applying Hexagonal Architecture, building scaffolding for a 20-person unit and stepping fully into a Tech Lead role.

What started as a frontend engineering role quickly evolved into something far more demanding. Two months in, the Tech Lead left the project leaving two SPAs with severe technical debt: logic embedded directly in components, no separation of concerns, and no clear architecture. On the new SPA that I had already started building independently, I applied everything from the previous project: Hexagonal Architecture, DDD, clean code and Doc as Code. I built scaffolding that could be reused across the entire business unit of ~20 engineers, onboarded two junior developers into the new architecture, wrote full documentation and led the technical direction of the frontend. Beyond architecture, I took on the full Tech Lead responsibilities: leading Scrum ceremonies, refining and estimating work, aligning with UX/UI, communicating directly with the client, supporting the QA team on pipeline issues and test case reviews, managing deployment guardia and representing the frontend perspective in backend and client meetings.

Key outcomes

  • Inherited two SPAs with significant technical debt after the Tech Lead's unexpected departure
  • Applied Hexagonal Architecture and DDD to a new SPA first time at banking scale
  • Built reusable scaffolding adopted by a ~20-person business unit across multiple products
  • Onboarded and mentored 2 junior developers into the new architectural patterns
  • Took full Tech Lead responsibilities: Scrum ceremonies, estimation, client alignment and deployment management

Tech stack

  • React
  • TypeScript
  • Hexagonal Architecture
  • DDD
  • TanStack Query
  • Scrum
  • Jira
  • CI/CD
  • Unit Testing

Terms

This site is an informational summary of my professional background. I declare that the information about my experience is truthful, reviewed by me and based on my actual work. Original texts are my own; references express third-party opinions and trademarks belong to their owners.

Privacy

This site includes no visitor analytics, advertising tracking or sale of data. Browsing requires no registration. The hosting provider, Vercel, may process technical data needed to serve and protect the website.

The form sends your name, email and message through Resend; they remain in the mailbox to answer you. Questions or deletion requests: lab@juani.dev