gaboesquivel 3.6.2 → 3.8.0

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.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: "In a short-term contract, I integrated an 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,13 @@ 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/gaboesquivel-workshop.jpg",
1155
+ "https://gaboesquivel.com/images/work/nodeschool-1.jpg",
1084
1156
  "https://gaboesquivel.com/images/2016/05/paintballjs.jpg",
1085
- "https://gaboesquivel.com/images/2016/05/nodeschool-international-day.jpg"
1157
+ "https://gaboesquivel.com/images/work/gaboesquivel-presentation.jpg"
1086
1158
  ],
1087
1159
  video: "https://vimeo.com/167755778",
1088
1160
  achievements: [
@@ -1108,9 +1180,9 @@ var projects = [
1108
1180
  tech: ["Ethereum", "EOS", "Antelope", "Solidity", "Polkadot", "Substrate"],
1109
1181
  type: ["other"],
1110
1182
  link: "https://asoblockchain.org",
1111
- image: "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1183
+ image: "https://gaboesquivel.com/images/2018/06/blockchain-costa-rica.jpg",
1112
1184
  images: [
1113
- "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1185
+ "https://gaboesquivel.com/images/work/ticoblockchain.jpg",
1114
1186
  "https://gaboesquivel.com/images/2019/02/ticoblockchain_eosio_workshop.jpg"
1115
1187
  ],
1116
1188
  video: "https://www.youtube.com/watch?v=-1y0fGs8Xgw",
@@ -1141,10 +1213,14 @@ var projects = [
1141
1213
  tech: ["Ethereum", "EOS", "Solidity", "Antelope", "Polkadot", "Substrate"],
1142
1214
  type: ["other"],
1143
1215
  link: "https://criptocantina.org",
1144
- image: "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1216
+ image: "https://gaboesquivel.com/images/work/cryptocantina.png",
1145
1217
  images: [
1146
- "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1147
- "https://gaboesquivel.com/bio/crypto-cantina-cr.jpg"
1218
+ "https://gaboesquivel.com/images/work/cryptocantina-multi.jpg",
1219
+ "https://gaboesquivel.com/images/2018/07/crypto-cantina-cr-london-room.webp",
1220
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-2.jpg",
1221
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room.jpg",
1222
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-3.jpg",
1223
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-4.jpg"
1148
1224
  ],
1149
1225
  achievements: [
1150
1226
  "Established a recurring crypto community event every Thursday starting September 2018.",
@@ -1161,43 +1237,6 @@ var projects = [
1161
1237
  related: [
1162
1238
  "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina"
1163
1239
  ]
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."
1200
- ]
1201
1240
  }
1202
1241
  ];
1203
1242
 
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: "In a short-term contract, I integrated an 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,13 @@ 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/gaboesquivel-workshop.jpg",
1124
+ "https://gaboesquivel.com/images/work/nodeschool-1.jpg",
1053
1125
  "https://gaboesquivel.com/images/2016/05/paintballjs.jpg",
1054
- "https://gaboesquivel.com/images/2016/05/nodeschool-international-day.jpg"
1126
+ "https://gaboesquivel.com/images/work/gaboesquivel-presentation.jpg"
1055
1127
  ],
1056
1128
  video: "https://vimeo.com/167755778",
1057
1129
  achievements: [
@@ -1077,9 +1149,9 @@ var projects = [
1077
1149
  tech: ["Ethereum", "EOS", "Antelope", "Solidity", "Polkadot", "Substrate"],
1078
1150
  type: ["other"],
1079
1151
  link: "https://asoblockchain.org",
1080
- image: "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1152
+ image: "https://gaboesquivel.com/images/2018/06/blockchain-costa-rica.jpg",
1081
1153
  images: [
1082
- "https://gaboesquivel.com/images/work/asoblockchain.jpg",
1154
+ "https://gaboesquivel.com/images/work/ticoblockchain.jpg",
1083
1155
  "https://gaboesquivel.com/images/2019/02/ticoblockchain_eosio_workshop.jpg"
1084
1156
  ],
1085
1157
  video: "https://www.youtube.com/watch?v=-1y0fGs8Xgw",
@@ -1110,10 +1182,14 @@ var projects = [
1110
1182
  tech: ["Ethereum", "EOS", "Solidity", "Antelope", "Polkadot", "Substrate"],
1111
1183
  type: ["other"],
1112
1184
  link: "https://criptocantina.org",
1113
- image: "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1185
+ image: "https://gaboesquivel.com/images/work/cryptocantina.png",
1114
1186
  images: [
1115
- "https://gaboesquivel.com/images/work/cryptocantina.jpg",
1116
- "https://gaboesquivel.com/bio/crypto-cantina-cr.jpg"
1187
+ "https://gaboesquivel.com/images/work/cryptocantina-multi.jpg",
1188
+ "https://gaboesquivel.com/images/2018/07/crypto-cantina-cr-london-room.webp",
1189
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-2.jpg",
1190
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room.jpg",
1191
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-3.jpg",
1192
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-4.jpg"
1117
1193
  ],
1118
1194
  achievements: [
1119
1195
  "Established a recurring crypto community event every Thursday starting September 2018.",
@@ -1130,43 +1206,6 @@ var projects = [
1130
1206
  related: [
1131
1207
  "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina"
1132
1208
  ]
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."
1169
- ]
1170
1209
  }
1171
1210
  ];
1172
1211
 
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "gaboesquivel",
3
- "version": "3.6.2",
3
+ "version": "3.8.0",
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",