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";
---