From aae03df43b9f882456298c4d4fd8ba084c0d73b2 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Mon, 14 Jul 2025 16:37:10 +0800 Subject: [PATCH 1/5] wip --- src/pages/ProjectsPage.vue | 136 ++++++++--------------------------- src/stores/users/response.ts | 10 +++ src/stores/users/userType.ts | 1 + 3 files changed, 39 insertions(+), 108 deletions(-) diff --git a/src/pages/ProjectsPage.vue b/src/pages/ProjectsPage.vue index 082b67af..c3f49cc9 100644 --- a/src/pages/ProjectsPage.vue +++ b/src/pages/ProjectsPage.vue @@ -16,24 +16,27 @@

Nice stuff I've built

+
- -
-

Side Hustles

- -
- -
-
- +
+

+ 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.

-
+

Open Source / Client Projects

- +
@@ -59,26 +59,22 @@ diff --git a/src/partials/ProjectCardPartial.vue b/src/partials/ProjectCardPartial.vue index dbb1513f..e7773817 100644 --- a/src/partials/ProjectCardPartial.vue +++ b/src/partials/ProjectCardPartial.vue @@ -1,15 +1,20 @@ - diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index c16e1fdc..c49792e0 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -147,6 +147,7 @@ export const Response: User = { 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, + icon: "icons/icon-01.svg", created_at: '2023-02-25', updated_at: '2023-10-05', }, @@ -157,6 +158,7 @@ export const Response: User = { 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, + icon: "icons/icon-02.svg", created_at: '2021-11-03', updated_at: '2024-09-29', }, @@ -167,6 +169,7 @@ export const Response: User = { excerpt: 'users server & client communications service.', url: 'https://github.com/gocanto/users-grpc-service', isOpenSource: true, + icon: "icons/icon-03.svg", created_at: '2022-04-17', updated_at: '2025-04-22', }, @@ -177,6 +180,7 @@ export const Response: User = { excerpt: 'Simple laravel PDF generator.', url: 'https://github.com/gocanto/laravel-simple-pdf', isOpenSource: true, + icon: "icons/icon-04.svg", created_at: '2019-06-11', updated_at: '2020-12-26', }, @@ -187,6 +191,7 @@ export const Response: User = { excerpt: 'The smallest Vue.js events handler.', url: 'https://github.com/gocanto/vuemit', isOpenSource: true, + icon: "icons/icon-05.svg", created_at: '2017-02-01', updated_at: '2021-08-11', }, @@ -197,6 +202,7 @@ export const Response: User = { excerpt: 'Google Autocomplete Vue Component.', url: 'https://github.com/gocanto/google-autocomplete', isOpenSource: true, + icon: "icons/icon-06.svg", created_at: '2016-07-02', updated_at: '2021-08-11', }, @@ -207,6 +213,7 @@ export const Response: User = { excerpt: "Currency converter that's data-agnostic.", url: 'https://github.com/gocanto/go-converter', isOpenSource: true, + icon: "icons/icon-07.svg", created_at: '2021-09-02', updated_at: '2021-10-11', }, @@ -217,6 +224,7 @@ export const Response: User = { excerpt: 'Http client that handles retries, logging & dynamic headers.', url: 'https://github.com/gocanto/http-client', isOpenSource: true, + icon: "icons/icon-08.svg", created_at: '2019-07-01', updated_at: '2022-12-22', }, @@ -227,6 +235,7 @@ export const Response: User = { excerpt: "Immutable PHP currency converter that's data-agnostic.", url: 'https://github.com/gocanto/converter', isOpenSource: true, + icon: "icons/icon-01.svg", created_at: '2019-06-07', updated_at: '2019-06-11', }, @@ -237,6 +246,7 @@ export const Response: User = { excerpt: 'Contributions to the Laravel Framework.', url: 'https://github.com/laravel/framework/pulls?q=is%3Apr+is%3Aclosed+author%3Agocanto', isOpenSource: true, + icon: "icons/icon-02.svg", 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 d0be8674..352cebeb 100644 --- a/src/stores/users/userType.ts +++ b/src/stores/users/userType.ts @@ -29,6 +29,7 @@ export interface Project { description?: string; url: string; isOpenSource: boolean; + icon: string; created_at: string; updated_at: string; } From f31ffab6d3d1553557ed3c7dd8e7cf0eba925468 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Mon, 14 Jul 2025 17:17:42 +0800 Subject: [PATCH 3/5] target --- src/partials/ProjectCardPartial.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/partials/ProjectCardPartial.vue b/src/partials/ProjectCardPartial.vue index e7773817..7fa39ab5 100644 --- a/src/partials/ProjectCardPartial.vue +++ b/src/partials/ProjectCardPartial.vue @@ -2,6 +2,8 @@
From f2fdd9e88c1a5c170264fa8a9a241f3a9cd52bad Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Mon, 14 Jul 2025 17:25:37 +0800 Subject: [PATCH 4/5] use type --- src/partials/ProjectCardPartial.vue | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/partials/ProjectCardPartial.vue b/src/partials/ProjectCardPartial.vue index 7fa39ab5..a4abd335 100644 --- a/src/partials/ProjectCardPartial.vue +++ b/src/partials/ProjectCardPartial.vue @@ -32,11 +32,11 @@ From 3ce39b109d79ce8bfced38f65897914722c24178 Mon Sep 17 00:00:00 2001 From: Gustavo Ocanto Date: Tue, 15 Jul 2025 10:23:47 +0800 Subject: [PATCH 5/5] fix syntax --- src/partials/ProjectCardPartial.vue | 3 +-- src/stores/users/response.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/partials/ProjectCardPartial.vue b/src/partials/ProjectCardPartial.vue index a4abd335..d9c1f794 100644 --- a/src/partials/ProjectCardPartial.vue +++ b/src/partials/ProjectCardPartial.vue @@ -32,11 +32,10 @@ diff --git a/src/stores/users/response.ts b/src/stores/users/response.ts index c49792e0..fc78796e 100644 --- a/src/stores/users/response.ts +++ b/src/stores/users/response.ts @@ -152,7 +152,7 @@ export const Response: User = { updated_at: '2023-10-05', }, { - uuid: '00a0a12e-6af0-4f5a-b96d-3c95cc7c365c', + uuid: '2d178e11-a584-4e20-a493-3b84007dd358', language: 'Vue / TypeScript', title: "Gus's personal website.", excerpt: 'Gus is a full-stack Software Engineer who has been building web technologies for more two decades.',