
Juan
Villarroel.
Creating modern and efficient web solutions that turn ideas into reality.
Step into the world of web development and discover how ideas transform into impactful digital solutions. Join me on this journey where technology and creativity come together to bring unique projects to life.
Services
Custom Web Development
Solutions tailored to your needs
Creating bespoke web applications for various projects, from landing pages to complex platforms, ensuring a seamless user experience and optimal performance.
Scalable and Efficient Solutions
Growth without limits
Developing applications with scalable architectures, optimizing performance, and ensuring the project can seamlessly expand as it grows.
Technology Consulting and Strategy
Guidance in every tech decision
Comprehensive advice on technology selection, infrastructure planning, and best practices to ensure long-term project sustainability and success.
Continuous Maintenance and Optimization
Ensuring your project's evolution
Maintenance, support, and optimization services to keep applications up-to-date, secure, and adaptable to new technological and business needs.
Technologies & Tools
In web development, having an in-depth understanding of various technologies is essential for building efficient, scalable, and customized solutions. Throughout my career, I have worked with a wide range of tools, languages, and frameworks that enable me to tackle projects of varying complexity. Below, I highlight the key technologies I use to carry out my work.
Fundamentals
The essential foundations for building robust and scalable web applications, using technologies such as HTML, CSS, JavaScript, and TypeScript. These are the backbone of the modern web, ensuring accessibility, design, and functionality.
Interface & Experience Development
Creating dynamic and engaging user interfaces using technologies like React.js, Next.js, Astro, and Tailwind CSS. These tools enable the development of interactive and optimized applications with a focus on user experience and performance.
Backend & Databases
Developing business logic and managing data using Node.js, Express.js, Nest.js, Prisma ORM, as well as PostgreSQL and MongoDB databases. These technologies allow for scalable and efficient solutions.
Infrastructure & Optimization
Utilizing technologies like Docker and AWS to create and deploy applications in scalable environments, while also optimizing performance and reliability in the cloud.
Quality & Documentation
Ensuring code quality with unit testing tools like Vitest, documenting components and APIs with Storybook and OpenAPI (Swagger), and guaranteeing service interoperability with clear and well-structured documentation.
Experience
Senior Backend Developer
BNKA · Full-time
As a Senior Backend Developer, I built the two microservices that connect Bnka's product to banking in Colombia and Europe, handling thousands of transactions a day. My main responsibilities and achievements include: - REST API in Flask integrated with a banking as a service provider in Colombia, handling XML SOAP web services and encrypted file transfers over sFTP. - FastAPI service for the European operation: virtual IBAN generation, SEPA transactions, and webhooks reporting the status of every operation to the connected systems. - Documented both APIs with OpenAPI and Swagger so a team of more than thirty people could integrate without friction. - Set up the service's observability: Slack alerts with critical errors and red flags mapped out, and a log pipeline using Promtail to read the Docker containers into Loki and Grafana. - Built scheduled tasks with Celery to automate recurring operational processes.
- Python
- Flask
- Docker
- MariaDB
- Redis
- Swagger
- FastAPI
- Celery
- Grafana
Senior Frontend Developer
Channel Payments · Full-time
As a Senior Frontend Developer, I led the development of a web application using Vite.js and React.js, enabling clients to: - View transactions with basic and advanced filters. - Request refunds easily. - Manage users and assign custom roles. - Configure webhooks triggered by specific events. - Generate and manage API keys. - Create, schedule, and save reports as reusable templates. The dashboard followed a custom design system, adhering to guidelines provided by the design team in Figma. Additionally, I developed a Next.js application to integrate payment methods into other applications. We chose Server Components and Server Actions to provide an added layer of security for sensitive payment data, ensuring client trust. Both projects were built with a scalable design system: - Components created from scratch with TailwindCSS. - Packaging optimized with Vite.js configured for libraries. - Documentation maintained in Storybook, ensuring consistent and collaborative development.
- HTML
- CSS
- JavaScript
- TypeScript
- React.js
- Next.js
- Tailwind CSS
- Vite.js
Junior Site Reliability Engineer
Matic.io · Full-time
Took on the team's DevOps area in parallel with my frontend work: server configuration, Docker containers, a Kubernetes cluster on AWS EKS, and Jenkins CI/CD pipelines for automated product deployments. Point of contact for infrastructure, environment, and deployment strategy decisions.
- Docker
- Kubernetes
- Amazon Web Services
- Jenkins
Frontend Lead
Matic.io · Full-time
Led two frontend developers and was part of the group of leads responsible for the product's technical decisions. I worked on the development of applications and libraries to provide a comprehensive payment processing service, enabling our clients’ customers to view transactions, integrate payment gateways, and configure custom webhooks. Applications developed: - Matic Portal: A multitenant platform where our clients could manage transactions, switch between tenants, handle user administration, and more. Each tenant had its own subdomain. - Matic Account: A Single Sign-On (SSO) application that centralized login and shared sessions across all tenants where the user had permissions. - Matic Client: A user interface integrated via an SDK, used by our clients' customers to incorporate payments into their products. Libraries developed: - Matic Core: A UI component library built with MUI and customized to match the company’s brand identity. - Matic SDK: A public library enabling our clients to integrate payments into their products. This SDK validated user-generated keys, embedded an iframe with the Matic Client interface, and handled event-based communication to send resulting information back to the client.
- HTML
- CSS
- JavaScript
- TypeScript
- React.js
- Vite.js
- Material UI (Mui)
- Docker
Web Developer
Freelancer
Creation of websites and web applications tailored to each client's specific needs. From static sites to dynamic platforms, each project is designed to deliver functionality and customization. Designing attractive, user-friendly interfaces with a focus on user experience. The solutions implemented ensure accessibility, compatibility, and efficient performance on any device. Using modern technologies to develop scalable and robust projects. Also offering maintenance and updates for existing projects, ensuring continuous operation and alignment with each client's objectives.
- HTML
- CSS
- JavaScript
- TypeScript
- React.js
- Vite.js
- Material UI (Mui)
- PHP
- Laravel
- WordPress
- Vue.js
- Angular
- Svelte
Projects
Explore a diverse collection of projects developed with modern technologies, each designed with a focus on performance, usability, and innovation. From dynamic web applications to personal blogs, these projects reflect a commitment to quality, creativity, and seamless user experiences. By leveraging cutting-edge tools and best practices, each project brings unique ideas to life in a functional and engaging way.

Nottrix
A personal daily-organization app that brings documents, finances, subscriptions, whiteboards, habits, and reminders together across web and mobile.

Game Admin
Admin dashboard for a multiplatform game, enabling player, clan, item, and update management with real-time metrics.

Nuestras Hojas Amarillas
Nuestras Hojas Amarillas is a personal blog built with Astro.build and TailwindCSS, focusing on performance. DatoCMS streamlines content management for easy creation and editing of posts.
Latest Posts
Explore my articles on web development, best practices, emerging technologies, and real-world experiences. I compare tools, share insights, and dive into topics that can help you enhance your skills as a developer.

I’m not an SEO expert: how I used an AI skill to audit my blog

I Came Back to React Native, and Expo Completely Changed My Mind

You Don't Need Microservices (Yet), You Need to Learn to Divide Your Code.

From Writing Perfect Code to Making Imperfect (But Right) Decisions

NestJS: structure and conventions for maintainable backends

My experience with Astro
Testimonials
Juan brought a wealth of knowledge and experience to our team, contributing to the development of several key projects during his time here. One of Juan’s key strengths is his ability to tackle complex challenges with a thoughtful and analytical approach. He consistently demonstrated a strong understanding of frontend requirements, and his ability to guide team members through intricate technical problems was a valuable asset. Juan’s strong work ethic and determination make him a valuable addition to any team. I believe he can be a strong contributor in any environment.
Joey MontoyaChief Technology Officer at Channel Payments LLCJoey supervised Juan directly Juan is an exceptional collaborator and a highly competent developer with versatile skills. His collaborative nature is reflected in his seamless integration into various areas, demonstrating his competence in development. What stands out about Juan is his visionary approach; he leverages his experience to visualize beyond immediate goals. His commitment to teamwork is commendable, as he not only focuses on his personal goals but also actively contributes to the achievement of team objectives. It has been a pleasure working with Juan, and I confidently recommend him for any project or team that requires a dedicated and forward-thinking professional.
Nahum MenesesFull Stack Developer | Back-End DeveloperNahum and Juan worked together in recent years During all the time I’ve worked with Juan, I’ve learned a lot from him. He has a great ability to learn new things and read documentation, which these days is not common. He has really good skills not only as a Frontend developer but also a lot of knowledge about DevOps and Backend. We worked together on the Frontend side, but in our team, he was also the DevOps leader. In my personal opinion, Juan is a fantastic candidate every team would desire to have.
Felix Pacheco AlonsoSystems Engineer | Frontend Developer | Senior React DeveloperJuan supervised Felix directly Juan is a good teammate and a great developer. He is always willing to collaborate with all areas and has demonstrated capabilities to work in backend, frontend, mobile development, and devops. But he never puts boundaries for himself, always seeing beyond. He is a committed person in a team and is not focused only on his goals but on the entire team's objectives. I am happy to have worked with him.
Eduardo Manuel Rodriguez LaraBackend Lead DeveloperEduardo Manuel worked with Juan in the same team Juan is an excellent professional, I have worked with him in numerous projects where he performed the role of frontend programmer and has always provided great value in his role, his work is impeccable, and he always gives his best to achieve results. In this last year, he showed interest in the Devops area and has managed his role quite well, he is self-taught and a fanatic about bringing new ideas to the company. For me, he has been a key piece in my team.
Marthina VásquezProject Manager | IT Solutions Expert | Agile Methodologies AdvocateMarthina directly supervised Juan I have known Juan since before he started his career, and I can only say amazing things about him. He is an excellent workmate, self-taught, competitive, responsible, and above all, a very high-level developer. At work, he always helps his team improve in any way he can. Without a doubt, Juan is one of the best colleagues and friends I have ever had.
Oliver TabordaUI/UX & Visual DesignOliver worked with Juan, but at different companies Juan is very responsible and enthusiastic in everything he does. He has a wide range of knowledge and an incredible willingness to learn. It is very nice to have someone so enthusiastic and friendly on any team. I have a lot to thank him for as I learned a lot from him.
Angel SuárezFullstack DeveloperAngel worked with Juan in the same team Juan has worked with me on multiple projects over the years. During this time, he has been an excellent developer, highly capable and skilled. A valuable member for every team, who loves challenges, always enthusiastic, highly motivated to expand his knowledge in various fields of his career. Highly recommended.
Beatriz AgredaProject Manager - Product Manager - Computer Science EngineerBeatriz worked with Juan in the same team I had the opportunity to work with Juan on a project, where he served as a Software Developer. He stood out for his commitment, technical knowledge and willingness to collaborate with the team. He also stood out for identifying the root cause of problems and proposing effective solutions. He was a very responsible teammate, with good communication and always willing to work together. I highly recommend Juan for his technical skills, for being an excellent professional and a great teammate.
Jennyfer Andrea Salcedo RoaQAJennyfer worked with Juan in the same team