diff --git a/src/assets/name-to-speech.mp3 b/src/assets/name-to-speech.mp3 new file mode 100644 index 0000000..2204e45 Binary files /dev/null and b/src/assets/name-to-speech.mp3 differ diff --git a/src/assets/project-building-roof-detection.webp b/src/assets/project-building-roof-detection.webp new file mode 100644 index 0000000..71b7533 Binary files /dev/null and b/src/assets/project-building-roof-detection.webp differ diff --git a/src/assets/project-facial-expression-recognition.webp b/src/assets/project-facial-expression-recognition.webp new file mode 100644 index 0000000..4fd04b3 Binary files /dev/null and b/src/assets/project-facial-expression-recognition.webp differ diff --git a/src/assets/project-gabinsoft-dashboard.webp b/src/assets/project-gabinsoft-dashboard.webp new file mode 100644 index 0000000..4312a39 Binary files /dev/null and b/src/assets/project-gabinsoft-dashboard.webp differ diff --git a/src/assets/project-gabinsoft-landing.webp b/src/assets/project-gabinsoft-landing.webp new file mode 100644 index 0000000..e0ee0d6 Binary files /dev/null and b/src/assets/project-gabinsoft-landing.webp differ diff --git a/src/assets/project-measesoran-rentas.webp b/src/assets/project-measesoran-rentas.webp new file mode 100644 index 0000000..d1d2346 Binary files /dev/null and b/src/assets/project-measesoran-rentas.webp differ diff --git a/src/assets/project-open-source.webp b/src/assets/project-open-source.webp new file mode 100644 index 0000000..875194b Binary files /dev/null and b/src/assets/project-open-source.webp differ diff --git a/src/components/ExpandableHoloJobCard.tsx b/src/components/ExpandableHoloJobCard.tsx index b075e91..4ebe335 100644 --- a/src/components/ExpandableHoloJobCard.tsx +++ b/src/components/ExpandableHoloJobCard.tsx @@ -11,9 +11,11 @@ import holocardLogoPatternSvg from "../assets/svg/holocard-logo-pattern.svg?raw" export function ExpandableHoloJobCard({ animation, + bullet, listClassName, }: { animation?: React.ReactNode; + bullet?: React.ReactNode; listClassName?: string; }) { const [active, setActive] = useState<(typeof cards)[number] | boolean | null>( @@ -98,37 +100,40 @@ export function ExpandableHoloJobCard({ {active.role} {active.timePeriod}
- + {active.badges.map((badge, index) => ( {badge} ))}
- {active.paragraphs.map((paragraph, index) => ( -

{paragraph}

+
+ {bullet} +
  • {paragraph}
  • +
    ))} -
    +
    @@ -206,11 +211,13 @@ const cards = [ title: "Gabinsoft", timePeriod: "2022 - present", svg: gabinsoftSvg, - badges: ["React", "TypeScript", "Tailwind CSS"], - role: "Frontend Developer", + badges: ["TypeScript", "Go", "React", "React Native", "HTML/CSS", "Docker", "Kubernetes", "SQL", "RabbitMQ", "Redis", "NodeJS", "Google Cloud", "Git"], + role: "Co-Founder & Fullstack Developer", paragraphs: [ - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", + "Drove the creation of the platform based on the foundations of Calmavity, which included the development of the backend and frontend technologies.", + "Reimplemented the psychologist's platform with the updated requirements of our new business model, which included the development of new features and the improvement of existing ones.", + "Developed a landing page for the platform, focusing on the design, SEO, and performance of the website.", + "Migrated critical and heavy processes to Go, which allowed us to improve the performance and scalability of the platform.", ], }, { @@ -218,11 +225,13 @@ const cards = [ title: "Me Asesoran", timePeriod: "sep. 2020 - present", svg: measesoranSvg, - badges: ["React", "TypeScript", "Tailwind CSS"], - role: "Frontend Developer", + badges: ["PHP", "Laravel", "React", "TypeScript", "HTML/CSS", "Docker", "Kubernetes", "PostgreSQL", "RabbitMQ", "NodeJS", "AWS", "Git"], + role: "Fullstack Developer", paragraphs: [ - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", + "Developed a variety of features for the platform, which included the development of backend and frontend technologies for thousands of users.", + "Worked alongside the product team to develop new features and improve existing ones", + "Drove the migration of the main platform to a new architecture, which included developing new processes and rewriting our monolithic application into a microservices architecture, allowing us to create a more scalable and reliable platform. In this process, we implemented concepts such as event-driven architecture, CQRS, and DDD. This allowed us to scale the platform and develop new features faster.", + "Drove the development of Me Asesoran Rentas, a new product that allowed users to easily submit their tax returns to the government. This included the development of a backend and frontend, the integration with the Spain government's API and authentication system, and the development of a variety of features related to the validation and submission of tax returns by fiscal advisors.", ], }, { @@ -230,21 +239,15 @@ const cards = [ title: "Calmavity", timePeriod: "2019 - 2022", svg: calmavitySvg, - badges: ["React", "TypeScript", "Tailwind CSS"], - role: "Frontend Developer", + badges: ["TypeScript", "React", "React Native", "HTML/CSS", "Docker", "Kubernetes", "MongoDB", "NodeJS", "AWS", "Git"], + role: "Co-Founder & Fullstack Developer", paragraphs: [ - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", + "Drove the development of the full stack of the platform, including the architecture, design, and implementation of the backend and frontend technologies.", + "Developed a mobile application for iOS and Android using React Native, which included features such as user authentication, push notifications, real-time chat, and video calls, among others.", + "Developed two web application using React, which included the features of the mobile application", + "Developed a backend using NodeJS and MongoDB, with support for the features needed by the mobile and web applications.", + "Deployed the platform on AWS using Docker and Kubernetes, which allowed for a scalable and reliable infrastructure. This was a little overkill for the size of the project, but I did it primarily to learn how to use these technologies.", + ], }, { @@ -252,11 +255,12 @@ const cards = [ title: "Nodelix", timePeriod: "2019 - present", svg: nodelixSvg, - badges: ["React", "TypeScript", "Tailwind CSS"], - role: "Frontend Developer", + badges: ["Python", "Django", "ML", "TensorFlow", "OCR", "AWS", "Git"], + role: "Co-Founder & Fullstack Developer", paragraphs: [ - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget nunc. Nullam nec nisl nec nunc.", + "Deliver scalable and reliable ML solutions to clients in the fiscal sector, including OCR and data extraction tools. Focused on the development of computer vision and machine learning models.", + "Developed a custom OCR solution for a client in the fiscal sector, which included a pipeline for data processing, extraction, and indexing. The solution was able to process and extract data in real time from multiple types of documents, including invoices, receipts, and contracts.", + "Worked side by side with clients to understand their needs and requirements, and to deliver a solution that met their expectations.", ], }, ] diff --git a/src/components/Header.astro b/src/components/Header.astro index 606e5b7..9cd35a9 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -15,7 +15,7 @@ const links = [ { href: "/#about", text: "About" }, { href: "/#jobs", text: "Experience" }, { href: "/#projects", text: "Work" }, - { href: "/blog", text: "Blog" }, + // { href: "/blog", text: "Blog" }, { href: "/resume.pdf", text: "Resume", external: true }, ]; --- diff --git a/src/sections/About.astro b/src/sections/About.astro index 65b5bb2..703c940 100644 --- a/src/sections/About.astro +++ b/src/sections/About.astro @@ -7,6 +7,7 @@ import { Icon } from "astro-icon/components"; import { Particles } from "../components/Particles"; import { Image } from "astro:assets"; import profileImage from "../assets/profile.webp"; +import nameToSpeech from "../assets/name-to-speech.mp3"; ---