gaboesquivel 3.7.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -11,7 +11,10 @@ interface Project {
11
11
  images?: string[];
12
12
  achievements: string[];
13
13
  story: string[];
14
- related?: string[];
14
+ related?: {
15
+ url: string;
16
+ title: string;
17
+ }[];
15
18
  }
16
19
  interface TechStackItem {
17
20
  name: string;
package/dist/index.d.ts CHANGED
@@ -11,7 +11,10 @@ interface Project {
11
11
  images?: string[];
12
12
  achievements: string[];
13
13
  story: string[];
14
- related?: string[];
14
+ related?: {
15
+ url: string;
16
+ title: string;
17
+ }[];
15
18
  }
16
19
  interface TechStackItem {
17
20
  name: string;
package/dist/index.js CHANGED
@@ -31,6 +31,73 @@ module.exports = __toCommonJS(index_exports);
31
31
 
32
32
  // src/projects.ts
33
33
  var projects = [
34
+ {
35
+ title: "Sfera Legal",
36
+ slug: "sfera-legal",
37
+ description: "AI assistant with both voice and chat capabilities into Sfera Legal's React Native (Expo) mobile app. This assistant empowers lawyers to swiftly access case information, providing contextual legal support, document summaries, and procedural guidance.",
38
+ tech: [
39
+ "TypeScript",
40
+ "React Native",
41
+ "Expo",
42
+ "OpenAI",
43
+ "AI SDK",
44
+ "Tanstack",
45
+ "Tailwind",
46
+ "LLMs"
47
+ ],
48
+ type: ["ai", "contract", "featured"],
49
+ link: "https://sferalegal.com",
50
+ image: "https://gaboesquivel.com/images/work/sferalegal.png",
51
+ images: ["https://gaboesquivel.com/images/work/sferalegal-admin.png"],
52
+ achievements: [
53
+ "Developed a multimodal AI assistant with voice and chat interfaces for a React Native app.",
54
+ "Implemented RAG architecture for contextual legal support and document summarization.",
55
+ "Created an admin dashboard with Microsoft SSO and document management features.",
56
+ "Established a bilingual support system with real-time voice transcription and synthesis."
57
+ ],
58
+ story: [
59
+ "At Sfera Legal, I integrated a sophisticated AI assistant into their React Native mobile app, creating a powerful tool that combines voice and chat interfaces to help lawyers efficiently access case information.",
60
+ "Utilizing the Vercel AI SDK for chat and OpenAI's Realtime API for voice features, I developed a seamless multimodal interface styled with Tailwind CSS. The assistant employs RAG architecture to deliver contextual legal support, document summaries, and procedural guidance in both Spanish and English.",
61
+ "I also contributed to an internal admin dashboard using TanStack Start, featuring Microsoft SSO integration, system prompt management, and document categorization for RAG retrieval. This comprehensive solution significantly enhances legal team productivity and streamlines case file access."
62
+ ]
63
+ },
64
+ {
65
+ title: "Opyn",
66
+ slug: "opyn",
67
+ description: "Opyn is a decentralized options protocol on Arbitrum. I implemented their initial trading interface and data indexing setup for Arbitrum Testnet using Next.js, Ponder, and viem/wagmi.",
68
+ tech: [
69
+ "TypeScript",
70
+ "NextJS",
71
+ "Foundry",
72
+ "Solidity",
73
+ "Viem",
74
+ "Wagmi",
75
+ "Ponder",
76
+ "PostgreSQL",
77
+ "Supabase",
78
+ "ShadcnUI",
79
+ "Tailwind",
80
+ "Tanstack",
81
+ "Zod",
82
+ "nuqs",
83
+ "EVM",
84
+ "Ethereum"
85
+ ],
86
+ type: ["web3", "contract"],
87
+ link: "https://opyn.co",
88
+ image: "https://gaboesquivel.com/images/work/opyn.png",
89
+ achievements: [
90
+ "Built trading interface with Next.js 14 and React Server Components",
91
+ "Set up Ponder indexing service with PostgreSQL for chain data",
92
+ "Integrated viem/wagmi for Arbitrum Testnet interactions",
93
+ "Implemented type-safe data validation and state management"
94
+ ],
95
+ story: [
96
+ "At Opyn, I developed their trading interface using Next.js 14 with React Server Components. The frontend utilized shadcn/ui components built on Radix UI primitives, with Tailwind CSS for styling.",
97
+ "The data layer was built using Ponder for chain indexing, storing data in PostgreSQL via Supabase. Chain interactions were handled through viem/wagmi with Alchemy RPC endpoints.",
98
+ "The codebase emphasized type safety throughout, using Zod for schema validation, TanStack Query for data management, and nuqs for URL state handling."
99
+ ]
100
+ },
34
101
  {
35
102
  title: "BasilicEVM",
36
103
  slug: "basilic-evm",
@@ -1081,8 +1148,12 @@ var projects = [
1081
1148
  link: "https://www.meetup.com/costaricajs/",
1082
1149
  image: "https://gaboesquivel.com/images/bio/nodeschool-costa-rica.jpg",
1083
1150
  images: [
1151
+ "https://gaboesquivel.com/images/work/gaboesquivel-javascript-costarica.png",
1152
+ "https://gaboesquivel.com/images/gabo-workshop.jpg",
1153
+ "https://gaboesquivel.com/images/work/nodeschool.jpg",
1154
+ "https://gaboesquivel.com/images/work/nodeschool-1.jpg",
1084
1155
  "https://gaboesquivel.com/images/2016/05/paintballjs.jpg",
1085
- "https://gaboesquivel.com/images/2016/05/nodeschool-international-day.jpg"
1156
+ "https://gaboesquivel.com/images/work/gaboesquivel-presentation.jpg"
1086
1157
  ],
1087
1158
  video: "https://vimeo.com/167755778",
1088
1159
  achievements: [
@@ -1096,9 +1167,18 @@ var projects = [
1096
1167
  "Costa Rica JS became more than just a technical community; it was a catalyst for professional growth and networking in the region's tech sector. The impact of this initiative continues to resonate in Central America's developer ecosystem."
1097
1168
  ],
1098
1169
  related: [
1099
- "https://gaboesquivel.com/blog/2016-06-nodeschool-international-day",
1100
- "https://gaboesquivel.com/blog/2015-5-paintball.js-recap",
1101
- "https://gaboesquivel.com/blog/2014-01-developing-software-in-costa-rica"
1170
+ {
1171
+ url: "https://gaboesquivel.com/blog/2016-06-nodeschool-international-day",
1172
+ title: "NodeSchool International Day"
1173
+ },
1174
+ {
1175
+ url: "https://gaboesquivel.com/blog/2015-5-paintball.js-recap",
1176
+ title: "Paintball.js Recap"
1177
+ },
1178
+ {
1179
+ url: "https://gaboesquivel.com/blog/2014-01-developing-software-in-costa-rica",
1180
+ title: "Developing Software in Costa Rica"
1181
+ }
1102
1182
  ]
1103
1183
  },
1104
1184
  {
@@ -1108,9 +1188,9 @@ var projects = [
1108
1188
  tech: ["Ethereum", "EOS", "Antelope", "Solidity", "Polkadot", "Substrate"],
1109
1189
  type: ["other"],
1110
1190
  link: "https://asoblockchain.org",
1111
- image: "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1191
+ image: "https://gaboesquivel.com/images/2018/06/blockchain-costa-rica.jpg",
1112
1192
  images: [
1113
- "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1193
+ "https://gaboesquivel.com/images/work/ticoblockchain.jpg",
1114
1194
  "https://gaboesquivel.com/images/2019/02/ticoblockchain_eosio_workshop.jpg"
1115
1195
  ],
1116
1196
  video: "https://www.youtube.com/watch?v=-1y0fGs8Xgw",
@@ -1128,10 +1208,22 @@ var projects = [
1128
1208
  "AsoBlockchain actively participates in policy discussions and regulatory frameworks, representing our members' interests while promoting responsible blockchain adoption. The organization continues to play a crucial role in shaping Costa Rica's blockchain landscape through educational programs, industry partnerships, and community initiatives."
1129
1209
  ],
1130
1210
  related: [
1131
- "https://gaboesquivel.com/blog/2019-03-ticoblockchain-2019-recap",
1132
- "https://gaboesquivel.com/blog/2019-01-international-crypto-conference-in-costa-rica",
1133
- "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina",
1134
- "https://gaboesquivel.com/blog/2018-06-blockchain-technology-in-costa-rica"
1211
+ {
1212
+ url: "https://gaboesquivel.com/blog/2019-03-ticoblockchain-2019-recap",
1213
+ title: "TicoBlockchain 2019 Recap"
1214
+ },
1215
+ {
1216
+ url: "https://gaboesquivel.com/blog/2019-01-international-crypto-conference-in-costa-rica",
1217
+ title: "International Crypto Conference in Costa Rica"
1218
+ },
1219
+ {
1220
+ url: "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina",
1221
+ title: "Costa Rica Crypto Cantina"
1222
+ },
1223
+ {
1224
+ url: "https://gaboesquivel.com/blog/2018-06-blockchain-technology-in-costa-rica",
1225
+ title: "Blockchain Technology in Costa Rica"
1226
+ }
1135
1227
  ]
1136
1228
  },
1137
1229
  {
@@ -1141,10 +1233,14 @@ var projects = [
1141
1233
  tech: ["Ethereum", "EOS", "Solidity", "Antelope", "Polkadot", "Substrate"],
1142
1234
  type: ["other"],
1143
1235
  link: "https://criptocantina.org",
1144
- image: "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1236
+ image: "https://gaboesquivel.com/images/work/cryptocantina.png",
1145
1237
  images: [
1146
- "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1147
- "https://gaboesquivel.com/bio/crypto-cantina-cr.jpg"
1238
+ "https://gaboesquivel.com/images/work/cryptocantina-multi.jpg",
1239
+ "https://gaboesquivel.com/images/2018/07/crypto-cantina-cr-london-room.webp",
1240
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-2.jpg",
1241
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room.jpg",
1242
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-3.jpg",
1243
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-4.jpg"
1148
1244
  ],
1149
1245
  achievements: [
1150
1246
  "Established a recurring crypto community event every Thursday starting September 2018.",
@@ -1159,44 +1255,10 @@ var projects = [
1159
1255
  "The initiative has since evolved into CriptoCantina.org, a more structured educational platform led primarily by Karla C\xF3rdoba. The organization now focuses on promoting blockchain technology adoption through formal educational initiatives, supporting entrepreneurs, facilitating Web3 tool adoption, and helping newcomers enter the technology sector. This evolution from casual meetups to a formal educational institution demonstrates the community's commitment to advancing blockchain technology in Costa Rica."
1160
1256
  ],
1161
1257
  related: [
1162
- "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina"
1163
- ]
1164
- },
1165
- {
1166
- title: "Opyn",
1167
- slug: "opyn",
1168
- description: "Opyn is a decentralized options protocol on Arbitrum. I implemented their initial trading interface and data indexing setup for Arbitrum Testnet using Next.js, Ponder, and viem/wagmi.",
1169
- tech: [
1170
- "TypeScript",
1171
- "NextJS",
1172
- "Foundry",
1173
- "Solidity",
1174
- "Viem",
1175
- "Wagmi",
1176
- "Ponder",
1177
- "PostgreSQL",
1178
- "Supabase",
1179
- "ShadcnUI",
1180
- "Tailwind",
1181
- "Tanstack",
1182
- "Zod",
1183
- "nuqs",
1184
- "EVM",
1185
- "Ethereum"
1186
- ],
1187
- type: ["web3", "contract"],
1188
- link: "https://opyn.co",
1189
- image: "https://gaboesquivel.com/images/work/opyn.png",
1190
- achievements: [
1191
- "Built trading interface with Next.js 14 and React Server Components",
1192
- "Set up Ponder indexing service with PostgreSQL for chain data",
1193
- "Integrated viem/wagmi for Arbitrum Testnet interactions",
1194
- "Implemented type-safe data validation and state management"
1195
- ],
1196
- story: [
1197
- "At Opyn, I developed their trading interface using Next.js 14 with React Server Components. The frontend utilized shadcn/ui components built on Radix UI primitives, with Tailwind CSS for styling.",
1198
- "The data layer was built using Ponder for chain indexing, storing data in PostgreSQL via Supabase. Chain interactions were handled through viem/wagmi with Alchemy RPC endpoints.",
1199
- "The codebase emphasized type safety throughout, using Zod for schema validation, TanStack Query for data management, and nuqs for URL state handling."
1258
+ {
1259
+ url: "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina",
1260
+ title: "Costa Rica Crypto Cantina"
1261
+ }
1200
1262
  ]
1201
1263
  }
1202
1264
  ];
package/dist/index.mjs CHANGED
@@ -1,5 +1,72 @@
1
1
  // src/projects.ts
2
2
  var projects = [
3
+ {
4
+ title: "Sfera Legal",
5
+ slug: "sfera-legal",
6
+ description: "AI assistant with both voice and chat capabilities into Sfera Legal's React Native (Expo) mobile app. This assistant empowers lawyers to swiftly access case information, providing contextual legal support, document summaries, and procedural guidance.",
7
+ tech: [
8
+ "TypeScript",
9
+ "React Native",
10
+ "Expo",
11
+ "OpenAI",
12
+ "AI SDK",
13
+ "Tanstack",
14
+ "Tailwind",
15
+ "LLMs"
16
+ ],
17
+ type: ["ai", "contract", "featured"],
18
+ link: "https://sferalegal.com",
19
+ image: "https://gaboesquivel.com/images/work/sferalegal.png",
20
+ images: ["https://gaboesquivel.com/images/work/sferalegal-admin.png"],
21
+ achievements: [
22
+ "Developed a multimodal AI assistant with voice and chat interfaces for a React Native app.",
23
+ "Implemented RAG architecture for contextual legal support and document summarization.",
24
+ "Created an admin dashboard with Microsoft SSO and document management features.",
25
+ "Established a bilingual support system with real-time voice transcription and synthesis."
26
+ ],
27
+ story: [
28
+ "At Sfera Legal, I integrated a sophisticated AI assistant into their React Native mobile app, creating a powerful tool that combines voice and chat interfaces to help lawyers efficiently access case information.",
29
+ "Utilizing the Vercel AI SDK for chat and OpenAI's Realtime API for voice features, I developed a seamless multimodal interface styled with Tailwind CSS. The assistant employs RAG architecture to deliver contextual legal support, document summaries, and procedural guidance in both Spanish and English.",
30
+ "I also contributed to an internal admin dashboard using TanStack Start, featuring Microsoft SSO integration, system prompt management, and document categorization for RAG retrieval. This comprehensive solution significantly enhances legal team productivity and streamlines case file access."
31
+ ]
32
+ },
33
+ {
34
+ title: "Opyn",
35
+ slug: "opyn",
36
+ description: "Opyn is a decentralized options protocol on Arbitrum. I implemented their initial trading interface and data indexing setup for Arbitrum Testnet using Next.js, Ponder, and viem/wagmi.",
37
+ tech: [
38
+ "TypeScript",
39
+ "NextJS",
40
+ "Foundry",
41
+ "Solidity",
42
+ "Viem",
43
+ "Wagmi",
44
+ "Ponder",
45
+ "PostgreSQL",
46
+ "Supabase",
47
+ "ShadcnUI",
48
+ "Tailwind",
49
+ "Tanstack",
50
+ "Zod",
51
+ "nuqs",
52
+ "EVM",
53
+ "Ethereum"
54
+ ],
55
+ type: ["web3", "contract"],
56
+ link: "https://opyn.co",
57
+ image: "https://gaboesquivel.com/images/work/opyn.png",
58
+ achievements: [
59
+ "Built trading interface with Next.js 14 and React Server Components",
60
+ "Set up Ponder indexing service with PostgreSQL for chain data",
61
+ "Integrated viem/wagmi for Arbitrum Testnet interactions",
62
+ "Implemented type-safe data validation and state management"
63
+ ],
64
+ story: [
65
+ "At Opyn, I developed their trading interface using Next.js 14 with React Server Components. The frontend utilized shadcn/ui components built on Radix UI primitives, with Tailwind CSS for styling.",
66
+ "The data layer was built using Ponder for chain indexing, storing data in PostgreSQL via Supabase. Chain interactions were handled through viem/wagmi with Alchemy RPC endpoints.",
67
+ "The codebase emphasized type safety throughout, using Zod for schema validation, TanStack Query for data management, and nuqs for URL state handling."
68
+ ]
69
+ },
3
70
  {
4
71
  title: "BasilicEVM",
5
72
  slug: "basilic-evm",
@@ -1050,8 +1117,12 @@ var projects = [
1050
1117
  link: "https://www.meetup.com/costaricajs/",
1051
1118
  image: "https://gaboesquivel.com/images/bio/nodeschool-costa-rica.jpg",
1052
1119
  images: [
1120
+ "https://gaboesquivel.com/images/work/gaboesquivel-javascript-costarica.png",
1121
+ "https://gaboesquivel.com/images/gabo-workshop.jpg",
1122
+ "https://gaboesquivel.com/images/work/nodeschool.jpg",
1123
+ "https://gaboesquivel.com/images/work/nodeschool-1.jpg",
1053
1124
  "https://gaboesquivel.com/images/2016/05/paintballjs.jpg",
1054
- "https://gaboesquivel.com/images/2016/05/nodeschool-international-day.jpg"
1125
+ "https://gaboesquivel.com/images/work/gaboesquivel-presentation.jpg"
1055
1126
  ],
1056
1127
  video: "https://vimeo.com/167755778",
1057
1128
  achievements: [
@@ -1065,9 +1136,18 @@ var projects = [
1065
1136
  "Costa Rica JS became more than just a technical community; it was a catalyst for professional growth and networking in the region's tech sector. The impact of this initiative continues to resonate in Central America's developer ecosystem."
1066
1137
  ],
1067
1138
  related: [
1068
- "https://gaboesquivel.com/blog/2016-06-nodeschool-international-day",
1069
- "https://gaboesquivel.com/blog/2015-5-paintball.js-recap",
1070
- "https://gaboesquivel.com/blog/2014-01-developing-software-in-costa-rica"
1139
+ {
1140
+ url: "https://gaboesquivel.com/blog/2016-06-nodeschool-international-day",
1141
+ title: "NodeSchool International Day"
1142
+ },
1143
+ {
1144
+ url: "https://gaboesquivel.com/blog/2015-5-paintball.js-recap",
1145
+ title: "Paintball.js Recap"
1146
+ },
1147
+ {
1148
+ url: "https://gaboesquivel.com/blog/2014-01-developing-software-in-costa-rica",
1149
+ title: "Developing Software in Costa Rica"
1150
+ }
1071
1151
  ]
1072
1152
  },
1073
1153
  {
@@ -1077,9 +1157,9 @@ var projects = [
1077
1157
  tech: ["Ethereum", "EOS", "Antelope", "Solidity", "Polkadot", "Substrate"],
1078
1158
  type: ["other"],
1079
1159
  link: "https://asoblockchain.org",
1080
- image: "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1160
+ image: "https://gaboesquivel.com/images/2018/06/blockchain-costa-rica.jpg",
1081
1161
  images: [
1082
- "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1162
+ "https://gaboesquivel.com/images/work/ticoblockchain.jpg",
1083
1163
  "https://gaboesquivel.com/images/2019/02/ticoblockchain_eosio_workshop.jpg"
1084
1164
  ],
1085
1165
  video: "https://www.youtube.com/watch?v=-1y0fGs8Xgw",
@@ -1097,10 +1177,22 @@ var projects = [
1097
1177
  "AsoBlockchain actively participates in policy discussions and regulatory frameworks, representing our members' interests while promoting responsible blockchain adoption. The organization continues to play a crucial role in shaping Costa Rica's blockchain landscape through educational programs, industry partnerships, and community initiatives."
1098
1178
  ],
1099
1179
  related: [
1100
- "https://gaboesquivel.com/blog/2019-03-ticoblockchain-2019-recap",
1101
- "https://gaboesquivel.com/blog/2019-01-international-crypto-conference-in-costa-rica",
1102
- "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina",
1103
- "https://gaboesquivel.com/blog/2018-06-blockchain-technology-in-costa-rica"
1180
+ {
1181
+ url: "https://gaboesquivel.com/blog/2019-03-ticoblockchain-2019-recap",
1182
+ title: "TicoBlockchain 2019 Recap"
1183
+ },
1184
+ {
1185
+ url: "https://gaboesquivel.com/blog/2019-01-international-crypto-conference-in-costa-rica",
1186
+ title: "International Crypto Conference in Costa Rica"
1187
+ },
1188
+ {
1189
+ url: "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina",
1190
+ title: "Costa Rica Crypto Cantina"
1191
+ },
1192
+ {
1193
+ url: "https://gaboesquivel.com/blog/2018-06-blockchain-technology-in-costa-rica",
1194
+ title: "Blockchain Technology in Costa Rica"
1195
+ }
1104
1196
  ]
1105
1197
  },
1106
1198
  {
@@ -1110,10 +1202,14 @@ var projects = [
1110
1202
  tech: ["Ethereum", "EOS", "Solidity", "Antelope", "Polkadot", "Substrate"],
1111
1203
  type: ["other"],
1112
1204
  link: "https://criptocantina.org",
1113
- image: "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1205
+ image: "https://gaboesquivel.com/images/work/cryptocantina.png",
1114
1206
  images: [
1115
- "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1116
- "https://gaboesquivel.com/bio/crypto-cantina-cr.jpg"
1207
+ "https://gaboesquivel.com/images/work/cryptocantina-multi.jpg",
1208
+ "https://gaboesquivel.com/images/2018/07/crypto-cantina-cr-london-room.webp",
1209
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-2.jpg",
1210
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room.jpg",
1211
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-3.jpg",
1212
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-4.jpg"
1117
1213
  ],
1118
1214
  achievements: [
1119
1215
  "Established a recurring crypto community event every Thursday starting September 2018.",
@@ -1128,44 +1224,10 @@ var projects = [
1128
1224
  "The initiative has since evolved into CriptoCantina.org, a more structured educational platform led primarily by Karla C\xF3rdoba. The organization now focuses on promoting blockchain technology adoption through formal educational initiatives, supporting entrepreneurs, facilitating Web3 tool adoption, and helping newcomers enter the technology sector. This evolution from casual meetups to a formal educational institution demonstrates the community's commitment to advancing blockchain technology in Costa Rica."
1129
1225
  ],
1130
1226
  related: [
1131
- "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina"
1132
- ]
1133
- },
1134
- {
1135
- title: "Opyn",
1136
- slug: "opyn",
1137
- description: "Opyn is a decentralized options protocol on Arbitrum. I implemented their initial trading interface and data indexing setup for Arbitrum Testnet using Next.js, Ponder, and viem/wagmi.",
1138
- tech: [
1139
- "TypeScript",
1140
- "NextJS",
1141
- "Foundry",
1142
- "Solidity",
1143
- "Viem",
1144
- "Wagmi",
1145
- "Ponder",
1146
- "PostgreSQL",
1147
- "Supabase",
1148
- "ShadcnUI",
1149
- "Tailwind",
1150
- "Tanstack",
1151
- "Zod",
1152
- "nuqs",
1153
- "EVM",
1154
- "Ethereum"
1155
- ],
1156
- type: ["web3", "contract"],
1157
- link: "https://opyn.co",
1158
- image: "https://gaboesquivel.com/images/work/opyn.png",
1159
- achievements: [
1160
- "Built trading interface with Next.js 14 and React Server Components",
1161
- "Set up Ponder indexing service with PostgreSQL for chain data",
1162
- "Integrated viem/wagmi for Arbitrum Testnet interactions",
1163
- "Implemented type-safe data validation and state management"
1164
- ],
1165
- story: [
1166
- "At Opyn, I developed their trading interface using Next.js 14 with React Server Components. The frontend utilized shadcn/ui components built on Radix UI primitives, with Tailwind CSS for styling.",
1167
- "The data layer was built using Ponder for chain indexing, storing data in PostgreSQL via Supabase. Chain interactions were handled through viem/wagmi with Alchemy RPC endpoints.",
1168
- "The codebase emphasized type safety throughout, using Zod for schema validation, TanStack Query for data management, and nuqs for URL state handling."
1227
+ {
1228
+ url: "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina",
1229
+ title: "Costa Rica Crypto Cantina"
1230
+ }
1169
1231
  ]
1170
1232
  }
1171
1233
  ];
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "gaboesquivel",
3
- "version": "3.7.0",
3
+ "version": "3.8.1",
4
4
  "description": "Gabo Esquivel - Software Engineer",
5
5
  "author": "Gabo Esquivel",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "scripts": {
9
9
  "build": "tsup src/index.ts --format cjs,esm --dts",
10
- "dev": "tsup src/index.ts --format cjs,esm --dts --watch"
10
+ "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
11
+ "prepublishOnly": "npm run build"
11
12
  },
12
13
  "devDependencies": {
13
14
  "tsup": "^8.4.0",