Hello, I'm

José Miguel

and I build things for the web with JavaScript

About Me

User avatar

I started my web development journey in 2018 with WordPress, gaining expertise in website creation and management. Seeking to deepen my programming skills, I transitioned to fullstack development, mastering both frontend and backend technologies. Through projects and the FullStackOpen course, I gained proficiency in React, Node.js, Express, and PostgreSQL, enabling me to build dynamic, responsive, and scalable web applications.

Before web development, I graduated as a lawyer, where I developed structured problem-solving and analytical skills that I now apply to software development. My technical expertise includes JavaScript, React, Node.js, Express, and PostgreSQL. I am passionate about creating clean, efficient, and user-friendly applications and thrive on learning and adapting to new challenges in the tech industry.

Some of my certificates

Full Stack Open

Full Stack Open

University of Helsinki

Throughout the course you develop single page applications with React JS that use REST APIs built with Node.js.

GraphQL

GraphQL

University of Helsinki

The GraphQL course covers Facebook’s alternative to REST for browser-server communication, focusing on efficient data querying and manipulation.

Relational Databases

Relational Databases

University of Helsinki

This course teaches building Node backends with relational databases, creating a note app backend as a practical example.

TypeScript

TypeScript

University of Helsinki

This course covers TypeScript, a typed JavaScript superset, teaching end-to-end feature development and project configuration using TypeScript.

Projects

Servicio Técnico

Servicio Técnico

Services Page - Front-End

Servicio Técnico - MacroSonidos is a website built with Astro offering expert repair and maintenance services for professional audio equipment (consoles, power amps, amplifiers) and musical instruments (electric guitars, keyboards).

Designed with a clean, professional layout, the site is optimized for SEO —including a dynamically generated sitemap— to ensure high search engine visibility. It achieves a perfect 100/100 on Desktop PageSpeed Insights, leveraging Astro’s static routing (getStaticPaths) for performance.

The contact page features an interactive form powered by Astro Actions, alongside a location map and fast loading times for an enhanced user experience.

Plaster Guatemala

Plaster Guatemala

Services Page - Front-End

Plaster Guatemala is a WordPress-based website specializing in professional drywall construction services, including walls, facades, and drop ceilings.

The site features a modern, responsive design with clear service descriptions, project galleries, and customer testimonials.

Optimized for SEO, it includes a blog with valuable content on drywall tips and maintenance to drive organic traffic.

Key features include a contact form for quotes, location map, and fast loading times for better user experience.

Codex

Codex

Web Application - FullStack

Codex is a web application built with Next.js, designed as a comprehensive repository for Guatemalan laws. Users can easily access and download the latest legal updates in PDF format.

The app is hosted on a VPS, utilizing MinIO for secure PDF storage, and integrates PostgreSQL for efficient database management.

The infrastructure includes Apache, Nginx, and reverse proxy configurations for optimal performance and scalability. Codex features a user-friendly interface, advanced search functionality, and responsive design, ensuring seamless access across devices.

MacroSonidos

MacroSonidos

E-commerce - FullStack

MacroSonidos is a fully functional e-commerce platform built with WordPress and WooCommerce, specializing in professional stage lighting equipment.

The website features a user-friendly interface, seamless navigation, and robust product categorization, allowing customers to easily browse and purchase high-quality lighting solutions for theaters, concerts, and events.

Key features include a responsive design, secure payment gateways, and product reviews. The site also integrates inventory management, ensuring a smooth shopping experience for both customers and administrators.

Flight Diary

Flight Diary

Web Application - FullStack

The Flight Diary App uses Express.js for the backend and React with TypeScript for the frontend, allowing users to log and view flight diary entries with details like date, weather, visibility, and comments.

Backend inlcudes a REST API for managing diary entries, with endpoints for fetching and adding entries, input validation, and error handling.

The app is lightweight, easy to set up, and demonstrates modern full-stack development practices, including RESTful APIs, TypeScript integration, and modular frontend design.

Library System

Library System

Web Application - FullStack

The Library Management System is a full-stack application developed as part of the Full Stack Open course by the University of Helsinki.

It uses GraphQL for the backend and React for the frontend, providing a modern library management solution. The app allows users to manage books, authors, and user accounts, with features like real-time updates, personalized recommendations, and secure authentication.

Built with Node.js, MongoDB, React, and GraphQL, this project demonstrates modern full-stack development practices, including efficient API design, real-time communication, and secure user management.

Country Hook

Country Hook

Web Application - Front-End

This app demonstrates the use of custom hooks, such as useField for managing input state and useCountry for fetching country data from the REST Countries API. The app dynamically displays country information, including name, capital, population, and flag, while handling errors for invalid inputs.

Built with React, Axios, and Vite, the application features a simple interface for searching and viewing country details. It is lightweight, easy to set up, and serves as a practical example of custom hooks and API integration in modern web development.

Blog List

Blog List

Web Application - FullStack

The Blog List Application is a full-stack project developed as part of the Full Stack Open course by the University of Helsinki. It consists of three main components: a React-based frontend, a Node.js and Express backend, and Cypress-based end-to-end tests.

Features include user authentication, blog management, commenting, and responsive design using Tailwind CSS. State management is handled by Redux, and routing is managed by React Router. The project includes tests for login, blog management, user-specific actions, and sorting.

The application is designed to be scalable, user-friendly, and thoroughly tested, ensuring a seamless experience for managing blogs and users.

Routed Anecdotes

Routed Anecdotes

Web Application - Front-End

It showcases the use of React Router for navigation and custom hooks for state management, particularly in handling form inputs. The app allows users to view, create, and explore anecdotes related to software engineering, with features like dynamic routing, notifications, and a user-friendly interface.

Built with React, Vite, and custom hooks, the application demonstrates modern web development practices, including efficient routing and state management. It is lightweight, easy to set up, and serves as a practical example of building interactive, multi-page React applications.

Patientor App

Patientor App

Web Application - FullStack

The Patientor App uses Express.js for the backend and React with TypeScript for the frontend, serving as a patient management system for healthcare professionals.

The app allows users to view patient information, add new patients, and log medical entries, with features like input validation, error handling, and a responsive UI.

The app is designed for healthcare professionals, offering an intuitive interface for managing patient data and medical records, and demonstrates modern full-stack development practices.

Some of the technologies I use for web development

Frontend

Backend

CI/CD

Tools

Contact

Send me an email,

and let's make that project a reality!