+ Over the years, I’ve built and shared command-line tools and frameworks to tackle real engineering challenges—complete
+ with clear docs and automated tests—and partnered with banks, insurers, and fintechs to deliver custom software that balances
+ performance, security, and scalability.
+
+
+ Feel free to dive into my open-source repos and client case studies to see how I turn
+ complex requirements into reliable, maintainable systems.
+
+
-
Client Projects
-
+
Open Source / Client Projects
-
+
+
@@ -55,110 +58,27 @@
-
diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts
index 05cb5b0f..c16e1fdc 100644
--- a/src/stores/users/response.ts
+++ b/src/stores/users/response.ts
@@ -146,6 +146,7 @@ export const Response: User = {
title: 'Think of your energy as an invisible compass.',
excerpt: 'After experiencing the highs and lows of going into business with a family member, I reached a significant turning point in my life.',
url: 'https://github.com/aurachakra',
+ isOpenSource: false,
created_at: '2023-02-25',
updated_at: '2023-10-05',
},
@@ -155,6 +156,7 @@ export const Response: User = {
title: "Gus's personal website.",
excerpt: 'Gus is a full-stack Software Engineer who has been building web technologies for more two decades.',
url: 'https://github.com/gocantodev/client',
+ isOpenSource: true,
created_at: '2021-11-03',
updated_at: '2024-09-29',
},
@@ -164,6 +166,7 @@ export const Response: User = {
title: 'users-grpc-service',
excerpt: 'users server & client communications service.',
url: 'https://github.com/gocanto/users-grpc-service',
+ isOpenSource: true,
created_at: '2022-04-17',
updated_at: '2025-04-22',
},
@@ -173,6 +176,7 @@ export const Response: User = {
title: 'laravel-simple-pdf',
excerpt: 'Simple laravel PDF generator.',
url: 'https://github.com/gocanto/laravel-simple-pdf',
+ isOpenSource: true,
created_at: '2019-06-11',
updated_at: '2020-12-26',
},
@@ -182,6 +186,7 @@ export const Response: User = {
title: 'vuemit',
excerpt: 'The smallest Vue.js events handler.',
url: 'https://github.com/gocanto/vuemit',
+ isOpenSource: true,
created_at: '2017-02-01',
updated_at: '2021-08-11',
},
@@ -191,6 +196,7 @@ export const Response: User = {
title: 'google-autocomplete',
excerpt: 'Google Autocomplete Vue Component.',
url: 'https://github.com/gocanto/google-autocomplete',
+ isOpenSource: true,
created_at: '2016-07-02',
updated_at: '2021-08-11',
},
@@ -200,6 +206,7 @@ export const Response: User = {
title: 'converter-go',
excerpt: "Currency converter that's data-agnostic.",
url: 'https://github.com/gocanto/go-converter',
+ isOpenSource: true,
created_at: '2021-09-02',
updated_at: '2021-10-11',
},
@@ -209,6 +216,7 @@ export const Response: User = {
title: 'http-client',
excerpt: 'Http client that handles retries, logging & dynamic headers.',
url: 'https://github.com/gocanto/http-client',
+ isOpenSource: true,
created_at: '2019-07-01',
updated_at: '2022-12-22',
},
@@ -218,6 +226,7 @@ export const Response: User = {
title: 'converter',
excerpt: "Immutable PHP currency converter that's data-agnostic.",
url: 'https://github.com/gocanto/converter',
+ isOpenSource: true,
created_at: '2019-06-07',
updated_at: '2019-06-11',
},
@@ -227,6 +236,7 @@ export const Response: User = {
title: 'Laravel Framework',
excerpt: 'Contributions to the Laravel Framework.',
url: 'https://github.com/laravel/framework/pulls?q=is%3Apr+is%3Aclosed+author%3Agocanto',
+ isOpenSource: true,
created_at: '2017-07-06',
updated_at: '2022-09-15',
},
diff --git a/src/stores/users/userType.ts b/src/stores/users/userType.ts
index af42f78c..d0be8674 100644
--- a/src/stores/users/userType.ts
+++ b/src/stores/users/userType.ts
@@ -28,6 +28,7 @@ export interface Project {
excerpt: string;
description?: string;
url: string;
+ isOpenSource: boolean;
created_at: string;
updated_at: string;
}
From 0caf6f6644963ae47b7b2d87733b11d05b107c7f Mon Sep 17 00:00:00 2001
From: Gustavo Ocanto
Date: Mon, 14 Jul 2025 17:07:15 +0800
Subject: [PATCH 2/5] add icons
---
public/images/icons/icon-01.svg | 3 +++
public/images/icons/icon-02.svg | 3 +++
public/images/icons/icon-03.svg | 3 +++
public/images/icons/icon-04.svg | 6 ++++++
public/images/icons/icon-05.svg | 3 +++
public/images/icons/icon-06.svg | 1 +
public/images/icons/icon-07.svg | 3 +++
public/images/icons/icon-08.svg | 4 ++++
src/pages/ProjectsPage.vue | 30 ++++++++++++---------------
src/partials/ProjectCardPartial.vue | 32 ++++++++++++++++-------------
src/stores/users/response.ts | 10 +++++++++
src/stores/users/userType.ts | 1 +
12 files changed, 68 insertions(+), 31 deletions(-)
create mode 100644 public/images/icons/icon-01.svg
create mode 100644 public/images/icons/icon-02.svg
create mode 100644 public/images/icons/icon-03.svg
create mode 100644 public/images/icons/icon-04.svg
create mode 100644 public/images/icons/icon-05.svg
create mode 100644 public/images/icons/icon-06.svg
create mode 100644 public/images/icons/icon-07.svg
create mode 100644 public/images/icons/icon-08.svg
diff --git a/public/images/icons/icon-01.svg b/public/images/icons/icon-01.svg
new file mode 100644
index 00000000..7ca521cc
--- /dev/null
+++ b/public/images/icons/icon-01.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/public/images/icons/icon-02.svg b/public/images/icons/icon-02.svg
new file mode 100644
index 00000000..3bb5508c
--- /dev/null
+++ b/public/images/icons/icon-02.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/public/images/icons/icon-03.svg b/public/images/icons/icon-03.svg
new file mode 100644
index 00000000..1a28e32b
--- /dev/null
+++ b/public/images/icons/icon-03.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/public/images/icons/icon-04.svg b/public/images/icons/icon-04.svg
new file mode 100644
index 00000000..288f02e4
--- /dev/null
+++ b/public/images/icons/icon-04.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/public/images/icons/icon-05.svg b/public/images/icons/icon-05.svg
new file mode 100644
index 00000000..5510bcd1
--- /dev/null
+++ b/public/images/icons/icon-05.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/public/images/icons/icon-06.svg b/public/images/icons/icon-06.svg
new file mode 100644
index 00000000..84118556
--- /dev/null
+++ b/public/images/icons/icon-06.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/images/icons/icon-07.svg b/public/images/icons/icon-07.svg
new file mode 100644
index 00000000..3ef855b4
--- /dev/null
+++ b/public/images/icons/icon-07.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/public/images/icons/icon-08.svg b/public/images/icons/icon-08.svg
new file mode 100644
index 00000000..18c72fcd
--- /dev/null
+++ b/public/images/icons/icon-08.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/pages/ProjectsPage.vue b/src/pages/ProjectsPage.vue
index c3f49cc9..f723212e 100644
--- a/src/pages/ProjectsPage.vue
+++ b/src/pages/ProjectsPage.vue
@@ -30,10 +30,10 @@
complex requirements into reliable, maintainable systems.