gaboesquivel 6.3.2 → 6.4.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.
@@ -0,0 +1,3268 @@
1
+ // src/generated/projects.ts
2
+ var projects = [
3
+ {
4
+ title: "4Tius Fitness Data Tracker",
5
+ slug: "4tius-fitness-data-tracker",
6
+ description: "A Fitbit-connected fitness data platform with a responsive analytics dashboard and secure API.",
7
+ tech: [
8
+ "NodeJS",
9
+ "AWS",
10
+ "MongoDB",
11
+ "AngularJS"
12
+ ],
13
+ type: [
14
+ "contract",
15
+ "frontend",
16
+ "backend",
17
+ "fullstack"
18
+ ],
19
+ image: "https://gaboesquivel.com/images/work/4tius.jpg",
20
+ images: [],
21
+ achievements: [
22
+ "Designed and developed a fitness data tracking system with Fitbit integration.",
23
+ "Built a responsive web dashboard for real-time analytics and monitoring.",
24
+ "Implemented secure API endpoints for efficient data communication."
25
+ ],
26
+ story: [
27
+ "The 4Tius app is a Fitbit-connected fitness data platform with a web dashboard and API. I led the web application and the backend that ingested device data.",
28
+ "I designed a responsive web dashboard for real-time fitness analytics and monitoring, allowing users to track their progress effectively. The Fitbit integration ensured accurate and current data throughout the application.",
29
+ "The implementation included secure API endpoints for efficient communication between the app and fitness devices. The project focused on making fitness data more accessible and actionable for users through technology."
30
+ ],
31
+ order: 30,
32
+ year: 2013,
33
+ markdown: '---\ntitle: "4Tius Fitness Data Tracker"\nslug: "4tius-fitness-data-tracker"\ndescription: "A Fitbit-connected fitness data platform with a responsive analytics dashboard and secure API."\ntech:\n - NodeJS\n - AWS\n - MongoDB\n - AngularJS\ntype:\n - contract\n - frontend\n - backend\n - fullstack\nimage: "https://gaboesquivel.com/images/work/4tius.jpg"\n\n\nimages: []\nachievements:\n - Designed and developed a fitness data tracking system with Fitbit integration.\n - Built a responsive web dashboard for real-time analytics and monitoring.\n - Implemented secure API endpoints for efficient data communication.\nstory:\n - The 4Tius app is a Fitbit-connected fitness data platform with a web dashboard and API. I led the web application and the backend that ingested device data.\n - I designed a responsive web dashboard for real-time fitness analytics and monitoring, allowing users to track their progress effectively. The Fitbit integration ensured accurate and current data throughout the application.\n - The implementation included secure API endpoints for efficient communication between the app and fitness devices. The project focused on making fitness data more accessible and actionable for users through technology.\norder: 30\nyear: 2013\n---\n\n# 4Tius Fitness Data Tracker\n\nA Fitbit-connected fitness data platform with a responsive analytics dashboard and secure API.\n',
34
+ markdownPath: "content/projects/4tius-fitness-data-tracker.md"
35
+ },
36
+ {
37
+ title: "AMC Yeah TV Facebook App",
38
+ slug: "amc-yeah-tv-facebook-app",
39
+ description: "An interactive movie-streaming experience with chapter navigation, Facebook integration, in-player content, and Brightcove tooling.",
40
+ role: "Lead UI Engineer",
41
+ tech: [
42
+ "PHP",
43
+ "Facebook API",
44
+ "AJAX",
45
+ "Handlebars",
46
+ "Brightcove API",
47
+ "require.js",
48
+ "CSS"
49
+ ],
50
+ type: [
51
+ "full-time",
52
+ "lead",
53
+ "frontend",
54
+ "institution"
55
+ ],
56
+ link: "http://yeahtv.com",
57
+ image: "https://gaboesquivel.com/images/work/yeahtv.jpg",
58
+ images: [],
59
+ achievements: [
60
+ "Designed and built the frontend architecture for an interactive movie player.",
61
+ "Integrated Brightcove for streaming, chapter playback, and back-office editing.",
62
+ "Implemented Facebook API features for identity, sharing, and in-player content."
63
+ ],
64
+ story: [
65
+ "YEAH! was AMC's interactive streaming movie service: classic genre films with chapter navigation and bonus content inside the player. I owned the frontend architecture.",
66
+ "I integrated the player with Facebook for identity and sharing, and the back office with Brightcove for streaming and editing. Each curated film carried 400+ interactive elements: trivia, interviews, quizzes.",
67
+ "Five frontend engineers sat between AMC's creative team and the backend team. The screen had to play the film and the extras without fighting the player."
68
+ ],
69
+ experienceCompany: "AMC Networks",
70
+ order: 22,
71
+ year: 2012,
72
+ markdown: `---
73
+ title: "AMC Yeah TV Facebook App"
74
+ slug: "amc-yeah-tv-facebook-app"
75
+ description: "An interactive movie-streaming experience with chapter navigation, Facebook integration, in-player content, and Brightcove tooling."
76
+ role: "Lead UI Engineer"
77
+ tech:
78
+ - PHP
79
+ - Facebook API
80
+ - AJAX
81
+ - Handlebars
82
+ - Brightcove API
83
+ - require.js
84
+ - CSS
85
+ type:
86
+ - full-time
87
+ - lead
88
+ - frontend
89
+ - institution
90
+ link: "http://yeahtv.com"
91
+ image: "https://gaboesquivel.com/images/work/yeahtv.jpg"
92
+
93
+
94
+ images: []
95
+ achievements:
96
+ - Designed and built the frontend architecture for an interactive movie player.
97
+ - Integrated Brightcove for streaming, chapter playback, and back-office editing.
98
+ - Implemented Facebook API features for identity, sharing, and in-player content.
99
+ story:
100
+ - "YEAH! was AMC's interactive streaming movie service: classic genre films with chapter navigation and bonus content inside the player. I owned the frontend architecture."
101
+ - "I integrated the player with Facebook for identity and sharing, and the back office with Brightcove for streaming and editing. Each curated film carried 400+ interactive elements: trivia, interviews, quizzes."
102
+ - Five frontend engineers sat between AMC's creative team and the backend team. The screen had to play the film and the extras without fighting the player.
103
+ experienceCompany: "AMC Networks"
104
+ order: 22
105
+ year: 2012
106
+ ---
107
+
108
+ # AMC Yeah TV Facebook App
109
+
110
+ An interactive movie-streaming experience with chapter navigation, Facebook integration, in-player content, and Brightcove tooling.
111
+ `,
112
+ markdownPath: "content/projects/amc-yeah-tv-facebook-app.md"
113
+ },
114
+ {
115
+ title: "American Express",
116
+ slug: "american-express",
117
+ description: "American Express cardmember and marketing web experiences with responsive interfaces, experimentation, and analytics.",
118
+ role: "UI Engineer",
119
+ tech: [
120
+ "JSP (Struts)",
121
+ "Omniture",
122
+ "Adobe mBox",
123
+ "Facebook API",
124
+ "Dojo",
125
+ "jQuery",
126
+ "CSS",
127
+ "AJAX"
128
+ ],
129
+ type: [
130
+ "full-time",
131
+ "frontend",
132
+ "institution"
133
+ ],
134
+ link: "https://www.americanexpress.com/",
135
+ image: "https://gaboesquivel.com/images/work/amex.jpg",
136
+ images: [],
137
+ achievements: [
138
+ "Moved the frontend from Dojo to jQuery.",
139
+ "Built credit-card marketing screens: comparison sliders and landing pages.",
140
+ "Wired responsive layouts, A/B testing, and analytics."
141
+ ],
142
+ story: [
143
+ "At American Express I built cardmember and marketing web experiences: comparison sliders, landing pages, responsive layouts, A/B testing, and analytics.",
144
+ "I helped move a large frontend from Dojo to jQuery while keeping experimentation and measurement in place on live financial surfaces."
145
+ ],
146
+ experienceCompany: "American Express",
147
+ order: 19,
148
+ year: 2010,
149
+ markdown: `---
150
+ title: "American Express"
151
+ slug: "american-express"
152
+ description: "American Express cardmember and marketing web experiences with responsive interfaces, experimentation, and analytics."
153
+ role: "UI Engineer"
154
+ tech:
155
+ - JSP (Struts)
156
+ - Omniture
157
+ - Adobe mBox
158
+ - Facebook API
159
+ - Dojo
160
+ - jQuery
161
+ - CSS
162
+ - AJAX
163
+ type:
164
+ - full-time
165
+ - frontend
166
+ - institution
167
+ link: "https://www.americanexpress.com/"
168
+ image: "https://gaboesquivel.com/images/work/amex.jpg"
169
+
170
+
171
+ images: []
172
+ achievements:
173
+ - Moved the frontend from Dojo to jQuery.
174
+ - 'Built credit-card marketing screens: comparison sliders and landing pages.'
175
+ - Wired responsive layouts, A/B testing, and analytics.
176
+ story:
177
+ - "At American Express I built cardmember and marketing web experiences: comparison sliders, landing pages, responsive layouts, A/B testing, and analytics."
178
+ - I helped move a large frontend from Dojo to jQuery while keeping experimentation and measurement in place on live financial surfaces.
179
+ experienceCompany: "American Express"
180
+ order: 19
181
+ year: 2010
182
+ ---
183
+
184
+ # American Express
185
+
186
+ American Express cardmember and marketing web experiences with responsive interfaces, experimentation, and analytics.
187
+ `,
188
+ markdownPath: "content/projects/american-express.md"
189
+ },
190
+ {
191
+ title: "AMEX Money Talk",
192
+ slug: "amex-money-talk",
193
+ description: "An American Express family-finance campaign centered on conversations between parents and teenagers.",
194
+ tech: [
195
+ "JavaScript",
196
+ "CSS"
197
+ ],
198
+ type: [
199
+ "other",
200
+ "frontend",
201
+ "institution"
202
+ ],
203
+ link: "https://www.youtube.com/watch?v=a2vDoYyXIJQ",
204
+ image: "https://gaboesquivel.com/images/work/money-talk.jpg",
205
+ images: [],
206
+ achievements: [
207
+ "Developed an engaging landing page to enhance user interaction.",
208
+ "Built a responsive landing page that held up on phones as well as desktops."
209
+ ],
210
+ story: [
211
+ "American Express National Money Night Talk campaign landing page focused on parent-teen financial conversations."
212
+ ],
213
+ experienceCompany: "American Express",
214
+ order: 20,
215
+ year: 2010,
216
+ markdown: '---\ntitle: "AMEX Money Talk"\nslug: "amex-money-talk"\ndescription: "An American Express family-finance campaign centered on conversations between parents and teenagers."\ntech:\n - JavaScript\n - CSS\ntype:\n - other\n - frontend\n - institution\nexperienceCompany: "American Express"\nlink: "https://www.youtube.com/watch?v=a2vDoYyXIJQ"\nimage: "https://gaboesquivel.com/images/work/money-talk.jpg"\n\n\nimages: []\nachievements:\n - Developed an engaging landing page to enhance user interaction.\n - Built a responsive landing page that held up on phones as well as desktops.\nstory:\n - American Express National Money Night Talk campaign landing page focused on parent-teen financial conversations.\norder: 20\nyear: 2010\n---\n\n# AMEX Money Talk\n\nAn American Express family-finance campaign centered on conversations between parents and teenagers.\n',
217
+ markdownPath: "content/projects/amex-money-talk.md"
218
+ },
219
+ {
220
+ title: "ARINC Microfids",
221
+ slug: "arinc-microfids",
222
+ description: "A realtime flight-information display for hotels and airport businesses, backed by Ruby on Rails.",
223
+ tech: [
224
+ "Ruby on Rails",
225
+ "AngularJS",
226
+ "Faye",
227
+ "LESS",
228
+ "Heroku"
229
+ ],
230
+ type: [
231
+ "contract",
232
+ "frontend"
233
+ ],
234
+ image: "https://gaboesquivel.com/images/work/arinc.png",
235
+ images: [],
236
+ achievements: [
237
+ "Developed a real-time flight information display system.",
238
+ "Connected the Ruby on Rails backend to AngularJS so flight data updated without a page reload.",
239
+ "Optimized front-end performance for real-time user interaction."
240
+ ],
241
+ story: [
242
+ "ARINC Microfids is a flight-information display for hotels and airport businesses, backed by Ruby on Rails. I built the frontend and the integration that kept the boards current.",
243
+ "I integrated the Ruby on Rails backend with AngularJS to enable real-time data updates and user interaction. The system provides accurate and timely flight information to travelers.",
244
+ "The implementation used Faye for real-time messaging and data synchronization. This project applied web development skills to create a practical information display system for the travel industry."
245
+ ],
246
+ order: 35,
247
+ year: 2013,
248
+ markdown: '---\ntitle: "ARINC Microfids"\nslug: "arinc-microfids"\ndescription: "A realtime flight-information display for hotels and airport businesses, backed by Ruby on Rails."\ntech:\n - Ruby on Rails\n - AngularJS\n - Faye\n - LESS\n - Heroku\ntype:\n - contract\n - frontend\nimage: "https://gaboesquivel.com/images/work/arinc.png"\n\n\nimages: []\nachievements:\n - Developed a real-time flight information display system.\n - Connected the Ruby on Rails backend to AngularJS so flight data updated without a page reload.\n - Optimized front-end performance for real-time user interaction.\nstory:\n - ARINC Microfids is a flight-information display for hotels and airport businesses, backed by Ruby on Rails. I built the frontend and the integration that kept the boards current.\n - I integrated the Ruby on Rails backend with AngularJS to enable real-time data updates and user interaction. The system provides accurate and timely flight information to travelers.\n - The implementation used Faye for real-time messaging and data synchronization. This project applied web development skills to create a practical information display system for the travel industry.\norder: 35\nyear: 2013\n---\n\n# ARINC Microfids\n\nA realtime flight-information display for hotels and airport businesses, backed by Ruby on Rails.\n',
249
+ markdownPath: "content/projects/arinc-microfids.md"
250
+ },
251
+ {
252
+ title: "AsoBlockchain",
253
+ slug: "asoblockchain",
254
+ description: "A Costa Rican nonprofit association for blockchain education, industry collaboration, events, and policy engagement.",
255
+ tech: [
256
+ "Blockchain"
257
+ ],
258
+ type: [
259
+ "other",
260
+ "lead"
261
+ ],
262
+ link: "https://asoblockchain.org",
263
+ image: "https://gaboesquivel.com/images/2018/06/blockchain-costa-rica.jpg",
264
+ video: "https://www.youtube.com/watch?v=-1y0fGs8Xgw",
265
+ images: [
266
+ "https://gaboesquivel.com/images/work/ticoblockchain.jpg",
267
+ "https://gaboesquivel.com/images/2019/02/ticoblockchain_eosio_workshop.jpg"
268
+ ],
269
+ achievements: [
270
+ "Co-founded Costa Rica's first blockchain association in 2017.",
271
+ "Established educational partnerships with ADEN International Business School and ULACIT.",
272
+ "Started CryptoCantinaCR, a weekly meetup that later became a formal education program.",
273
+ "Organized TicoBlockchain, Costa Rica's first international crypto and blockchain conference.",
274
+ "Developed advocacy programs for blockchain policy and regulation.",
275
+ "Ran educational programs, industry partnerships, and community events for members."
276
+ ],
277
+ story: [
278
+ "AsoBlockchain is a Costa Rican nonprofit for blockchain education, industry collaboration, events, and policy. As a co-founder, I helped set the organization's direction and first programs.",
279
+ "I helped start CryptoCantinaCR and TicoBlockchain as education and gathering points, and worked on partnerships with ADEN Business School and ULACIT so there was somewhere to learn the technology.",
280
+ "I also took part in policy discussions around regulation, representing members while keeping the association's work on education, partnerships, and events."
281
+ ],
282
+ related: [
283
+ {
284
+ url: "2019-03-ticoblockchain-2019-recap",
285
+ title: "TicoBlockchain 2019 Recap",
286
+ publishedAt: "2019-03-01"
287
+ },
288
+ {
289
+ url: "2019-01-international-crypto-conference-in-costa-rica",
290
+ title: "International Crypto Conference in Costa Rica",
291
+ publishedAt: "2019-01-01"
292
+ },
293
+ {
294
+ url: "2018-07-costa-rica-crypto-cantina",
295
+ title: "Costa Rica Crypto Cantina",
296
+ publishedAt: "2018-07-01"
297
+ },
298
+ {
299
+ url: "2018-06-blockchain-technology-in-costa-rica",
300
+ title: "Blockchain Technology in Costa Rica",
301
+ publishedAt: "2018-06-01"
302
+ }
303
+ ],
304
+ order: 46,
305
+ year: 2017,
306
+ markdown: `---
307
+ title: "AsoBlockchain"
308
+ slug: "asoblockchain"
309
+ description: "A Costa Rican nonprofit association for blockchain education, industry collaboration, events, and policy engagement."
310
+ tech:
311
+ - Blockchain
312
+ type:
313
+ - other
314
+ - lead
315
+ link: "https://asoblockchain.org"
316
+ image: "https://gaboesquivel.com/images/2018/06/blockchain-costa-rica.jpg"
317
+
318
+ video: "https://www.youtube.com/watch?v=-1y0fGs8Xgw"
319
+ images:
320
+ - https://gaboesquivel.com/images/work/ticoblockchain.jpg
321
+ - https://gaboesquivel.com/images/2019/02/ticoblockchain_eosio_workshop.jpg
322
+ achievements:
323
+ - Co-founded Costa Rica's first blockchain association in 2017.
324
+ - Established educational partnerships with ADEN International Business School and ULACIT.
325
+ - Started CryptoCantinaCR, a weekly meetup that later became a formal education program.
326
+ - Organized TicoBlockchain, Costa Rica's first international crypto and blockchain conference.
327
+ - Developed advocacy programs for blockchain policy and regulation.
328
+ - Ran educational programs, industry partnerships, and community events for members.
329
+ story:
330
+ - AsoBlockchain is a Costa Rican nonprofit for blockchain education, industry collaboration, events, and policy. As a co-founder, I helped set the organization's direction and first programs.
331
+ - I helped start CryptoCantinaCR and TicoBlockchain as education and gathering points, and worked on partnerships with ADEN Business School and ULACIT so there was somewhere to learn the technology.
332
+ - I also took part in policy discussions around regulation, representing members while keeping the association's work on education, partnerships, and events.
333
+ related:
334
+ - url: "2019-03-ticoblockchain-2019-recap"
335
+ title: "TicoBlockchain 2019 Recap"
336
+ publishedAt: "2019-03-01"
337
+ - url: "2019-01-international-crypto-conference-in-costa-rica"
338
+ title: "International Crypto Conference in Costa Rica"
339
+ publishedAt: "2019-01-01"
340
+ - url: "2018-07-costa-rica-crypto-cantina"
341
+ title: "Costa Rica Crypto Cantina"
342
+ publishedAt: "2018-07-01"
343
+ - url: "2018-06-blockchain-technology-in-costa-rica"
344
+ title: "Blockchain Technology in Costa Rica"
345
+ publishedAt: "2018-06-01"
346
+ order: 46
347
+ year: 2017
348
+ ---
349
+
350
+ # AsoBlockchain
351
+
352
+ A Costa Rican nonprofit association for blockchain education, industry collaboration, events, and policy engagement.
353
+ `,
354
+ markdownPath: "content/projects/asoblockchain.md"
355
+ },
356
+ {
357
+ title: "Bitcash",
358
+ slug: "bitcashbank",
359
+ description: "A fiat-to-stablecoin and cryptocurrency exchange with peer-to-peer trading, realtime chat, browser signing, and EOS data.",
360
+ role: "Lead Engineer",
361
+ tech: [
362
+ "Antelope",
363
+ "C++",
364
+ "ReactJS",
365
+ "WebAuthN",
366
+ "Biometrics",
367
+ "GCP",
368
+ "NodeJS",
369
+ "GraphQL",
370
+ "PostgreSQL",
371
+ "Supabase",
372
+ "TypeScript",
373
+ "Tailwind",
374
+ "Stitches",
375
+ "Zustand"
376
+ ],
377
+ type: [
378
+ "web3",
379
+ "part-time",
380
+ "lead",
381
+ "frontend",
382
+ "backend",
383
+ "fullstack",
384
+ "mobile",
385
+ "startup"
386
+ ],
387
+ link: "https://bitcash.org",
388
+ image: "https://gaboesquivel.com/images/work/bitcash-bank.png",
389
+ repo: "https://github.com/bitcashorg",
390
+ video: "https://www.youtube.com/watch?v=2JuHy_w0Ct4",
391
+ images: [],
392
+ achievements: [
393
+ "Architected the React, Vite, Node.js, PostgreSQL, Hasura, and Google Cloud stack.",
394
+ "Built the peer-to-peer exchange, realtime chat, and matching engine.",
395
+ "Built a realtime EOS indexer with Node.js worker threads, binary deserialization, and PostgreSQL.",
396
+ "Built WebAuthn key management for in-browser transaction signing without an external wallet.",
397
+ "Added EOS contract multisig while BitcashDAO voting was still being built."
398
+ ],
399
+ story: [
400
+ "Bitcash was a fiat-to-stablecoin and crypto exchange. I architected the stack and built the peer-to-peer exchange, realtime chat, and matching engine.",
401
+ "Browser signing without an external wallet was the constraint. QR signature requests over Supabase subscriptions and webhooks later let bitlauncher.ai and other partner apps authenticate and sign through the Bitcash session.",
402
+ "The exchange never found traction past about 500 users, mostly in developing-country markets. Marketing and distribution stayed behind the product."
403
+ ],
404
+ experienceCompany: "Bitcash",
405
+ order: 7,
406
+ year: 2020,
407
+ markdown: '---\ntitle: "Bitcash"\nslug: "bitcashbank"\ndescription: "A fiat-to-stablecoin and cryptocurrency exchange with peer-to-peer trading, realtime chat, browser signing, and EOS data."\nrole: "Lead Engineer"\ntech:\n - Antelope\n - C++\n - ReactJS\n - WebAuthN\n - Biometrics\n - GCP\n - NodeJS\n - GraphQL\n - PostgreSQL\n - Supabase\n - TypeScript\n - Tailwind\n - Stitches\n - Zustand\ntype:\n - web3\n - part-time\n - lead\n - frontend\n - backend\n - fullstack\n - mobile\n - startup\nlink: "https://bitcash.org"\nimage: "https://gaboesquivel.com/images/work/bitcash-bank.png"\nrepo: "https://github.com/bitcashorg"\nvideo: "https://www.youtube.com/watch?v=2JuHy_w0Ct4"\nimages: []\nachievements:\n - Architected the React, Vite, Node.js, PostgreSQL, Hasura, and Google Cloud stack.\n - Built the peer-to-peer exchange, realtime chat, and matching engine.\n - Built a realtime EOS indexer with Node.js worker threads, binary deserialization, and PostgreSQL.\n - Built WebAuthn key management for in-browser transaction signing without an external wallet.\n - Added EOS contract multisig while BitcashDAO voting was still being built.\nstory:\n - Bitcash was a fiat-to-stablecoin and crypto exchange. I architected the stack and built the peer-to-peer exchange, realtime chat, and matching engine.\n - Browser signing without an external wallet was the constraint. QR signature requests over Supabase subscriptions and webhooks later let bitlauncher.ai and other partner apps authenticate and sign through the Bitcash session.\n - The exchange never found traction past about 500 users, mostly in developing-country markets. Marketing and distribution stayed behind the product.\nexperienceCompany: "Bitcash"\norder: 7\nyear: 2020\n---\n\n# Bitcash\n\nA fiat-to-stablecoin and cryptocurrency exchange with peer-to-peer trading, realtime chat, browser signing, and EOS data.\n',
408
+ markdownPath: "content/projects/bitcashbank.md"
409
+ },
410
+ {
411
+ title: "Bitlauncher",
412
+ slug: "bitlauncher",
413
+ description: "AI and crypto launchpad for token sales, batch auctions, cross-chain wallets, bridges, indexed market data, and AI-assisted investor tools.",
414
+ role: "Product Engineer",
415
+ tech: [
416
+ "TypeScript",
417
+ "Solidity",
418
+ "Hardhat",
419
+ "Antelope",
420
+ "NextJS",
421
+ "ReactJS",
422
+ "Viem",
423
+ "Wagmi",
424
+ "NodeJS",
425
+ "PostgreSQL",
426
+ "Ethereum",
427
+ "GCP",
428
+ "Docker",
429
+ "Alchemy",
430
+ "Trigger",
431
+ "Supabase",
432
+ "ShadcnUI",
433
+ "Tailwind",
434
+ "TanStack Query",
435
+ "Zod",
436
+ "nuqs",
437
+ "OpenAI",
438
+ "AI SDK",
439
+ "Artificial Intelligence"
440
+ ],
441
+ type: [
442
+ "web3",
443
+ "ai",
444
+ "oss",
445
+ "full-time",
446
+ "lead",
447
+ "defi",
448
+ "featured",
449
+ "frontend",
450
+ "backend",
451
+ "fullstack",
452
+ "startup"
453
+ ],
454
+ link: "https://bitlauncher.ai",
455
+ image: "https://gaboesquivel.com/images/work/bitlauncher.png",
456
+ repo: "https://github.com/bitcashorg/smartevm",
457
+ video: "https://www.youtube.com/watch?v=U6vn3KOEwcQ",
458
+ images: [],
459
+ achievements: [
460
+ "Architected the platform on Next.js 14, Supabase, viem, wagmi, Alchemy, Trigger.dev, and shadcn/ui.",
461
+ "Built a token bridge for swapping USDT, USDC, and BITUSD to USDCred so bids could settle in protocol tokens.",
462
+ "Indexed transactions in Supabase for queries, realtime subscriptions, and aggregate market data.",
463
+ "Deployed Gnosis auction Solidity contracts to EOS EVM and developed a bidding interface with real-time updates via Supabase subscriptions.",
464
+ "Created a wallet interface that displays real-time EVM balances through Wagmi token balance subscriptions and EOS token balances via RPC polling.",
465
+ "Built a custom indexer for EOS EVM using Node.js, Viem EVM event subscriptions, and dFuse stream for EOS.",
466
+ "Developed the chatbot at bitlauncher.ai, with tool calls for current news and YouTube content, and RAG for longer answers.",
467
+ "Implemented Masterbots prompting and AI-assisted internationalization.",
468
+ "Automated the AI-assisted workflow with v0.dev, Claude Sonnet, Cursor, and SourceryAI."
469
+ ],
470
+ story: [
471
+ "Bitlauncher was an AI and crypto launchpad I helped form with a business partner. I owned product direction, scope, technical decisions, and delivery from concept through implementation.",
472
+ "The engineering team had two full-time developers, with up to five part-time contributors working on specific tickets. I coordinated delivery while remaining hands-on across the stack.",
473
+ "The product combined onchain auctions, wallet and bridge flows, indexed market data, and AI tools for project research. My work covered the boundaries between those systems rather than a single layer."
474
+ ],
475
+ related: [
476
+ {
477
+ url: "2024-07-viem-wagmi-ethers",
478
+ title: "Viem, Wagmi, and Ethers",
479
+ publishedAt: "2024-07-01"
480
+ },
481
+ {
482
+ url: "2024-07-ai-and-web3",
483
+ title: "AI and Web3",
484
+ publishedAt: "2024-07-01"
485
+ },
486
+ {
487
+ url: "2025-11-web3-and-ai",
488
+ title: "Web3 and AI",
489
+ publishedAt: "2025-11-01"
490
+ }
491
+ ],
492
+ experienceCompany: "Bitlauncher",
493
+ order: 3,
494
+ year: 2023,
495
+ markdown: '---\ntitle: "Bitlauncher"\nslug: "bitlauncher"\ndescription: "AI and crypto launchpad for token sales, batch auctions, cross-chain wallets, bridges, indexed market data, and AI-assisted investor tools."\nrole: "Product Engineer"\ntech:\n - TypeScript\n - Solidity\n - Hardhat\n - Antelope\n - NextJS\n - ReactJS\n - Viem\n - Wagmi\n - NodeJS\n - PostgreSQL\n - Ethereum\n - GCP\n - Docker\n - Alchemy\n - Trigger\n - Supabase\n - ShadcnUI\n - Tailwind\n - TanStack Query\n - Zod\n - nuqs\n - OpenAI\n - AI SDK\n - Artificial Intelligence\ntype:\n - web3\n - ai\n - oss\n - full-time\n - lead\n - defi\n - featured\n - frontend\n - backend\n - fullstack\n - startup\nlink: "https://bitlauncher.ai"\nimage: "https://gaboesquivel.com/images/work/bitlauncher.png"\nrepo: "https://github.com/bitcashorg/smartevm"\nvideo: "https://www.youtube.com/watch?v=U6vn3KOEwcQ"\nimages: []\nachievements:\n - Architected the platform on Next.js 14, Supabase, viem, wagmi, Alchemy, Trigger.dev, and shadcn/ui.\n - Built a token bridge for swapping USDT, USDC, and BITUSD to USDCred so bids could settle in protocol tokens.\n - Indexed transactions in Supabase for queries, realtime subscriptions, and aggregate market data.\n - Deployed Gnosis auction Solidity contracts to EOS EVM and developed a bidding interface with real-time updates via Supabase subscriptions.\n - Created a wallet interface that displays real-time EVM balances through Wagmi token balance subscriptions and EOS token balances via RPC polling.\n - Built a custom indexer for EOS EVM using Node.js, Viem EVM event subscriptions, and dFuse stream for EOS.\n - Developed the chatbot at bitlauncher.ai, with tool calls for current news and YouTube content, and RAG for longer answers.\n - Implemented Masterbots prompting and AI-assisted internationalization.\n - Automated the AI-assisted workflow with v0.dev, Claude Sonnet, Cursor, and SourceryAI.\nstory:\n - Bitlauncher was an AI and crypto launchpad I helped form with a business partner. I owned product direction, scope, technical decisions, and delivery from concept through implementation.\n - The engineering team had two full-time developers, with up to five part-time contributors working on specific tickets. I coordinated delivery while remaining hands-on across the stack.\n - The product combined onchain auctions, wallet and bridge flows, indexed market data, and AI tools for project research. My work covered the boundaries between those systems rather than a single layer.\nexperienceCompany: "Bitlauncher"\norder: 3\nyear: 2023\nrelated:\n - url: "2024-07-viem-wagmi-ethers"\n title: "Viem, Wagmi, and Ethers"\n publishedAt: "2024-07-01"\n - url: "2024-07-ai-and-web3"\n title: "AI and Web3"\n publishedAt: "2024-07-01"\n - url: "2025-11-web3-and-ai"\n title: "Web3 and AI"\n publishedAt: "2025-11-01"\n---\n\n# Bitlauncher\n\nAI and crypto launchpad for token sales, batch auctions, cross-chain wallets, bridges, indexed market data, and AI-assisted investor tools.\n',
496
+ markdownPath: "content/projects/bitlauncher.md"
497
+ },
498
+ {
499
+ title: "Bureau of Trade (Beta)",
500
+ slug: "bureau-of-trade-beta",
501
+ description: "An online store with an eBay-backed catalog, responsive browsing, and animated product interfaces.",
502
+ tech: [
503
+ "PHP",
504
+ "eBay API",
505
+ "AJAX",
506
+ "jQuery",
507
+ "CSS"
508
+ ],
509
+ type: [
510
+ "contract",
511
+ "frontend"
512
+ ],
513
+ link: "http://www.gridium.com/products/portfolio-manager/",
514
+ image: "https://gaboesquivel.com/images/work/bureau-of-trade.jpg",
515
+ images: [],
516
+ achievements: [
517
+ "Built a responsive e-commerce frontend integrated with eBay's API.",
518
+ "Developed advanced UI animations for enhanced user experience.",
519
+ "Optimized site performance for faster product browsing."
520
+ ],
521
+ story: [
522
+ "Bureau of Trade (Beta) is an online store offering a range of products, with a frontend integrated with eBay's API for diverse shopping experiences. As the sole Fullstack developer, my focus was on frontend development, responsive design, and animations, along with eBay API integration.",
523
+ "I built UI animations to enhance user interaction while ensuring the platform remained functional. The eBay API integration expanded product availability without requiring direct inventory management.",
524
+ "The implementation included performance optimization for faster product browsing and page transitions. My work centered on creating a responsive e-commerce interface that could handle product data from external APIs effectively."
525
+ ],
526
+ order: 27,
527
+ year: 2013,
528
+ markdown: `---
529
+ title: "Bureau of Trade (Beta)"
530
+ slug: "bureau-of-trade-beta"
531
+ description: "An online store with an eBay-backed catalog, responsive browsing, and animated product interfaces."
532
+ tech:
533
+ - PHP
534
+ - eBay API
535
+ - AJAX
536
+ - jQuery
537
+ - CSS
538
+ type:
539
+ - contract
540
+ - frontend
541
+ link: "http://www.gridium.com/products/portfolio-manager/"
542
+ image: "https://gaboesquivel.com/images/work/bureau-of-trade.jpg"
543
+
544
+
545
+ images: []
546
+ achievements:
547
+ - Built a responsive e-commerce frontend integrated with eBay's API.
548
+ - Developed advanced UI animations for enhanced user experience.
549
+ - Optimized site performance for faster product browsing.
550
+ story:
551
+ - Bureau of Trade (Beta) is an online store offering a range of products, with a frontend integrated with eBay's API for diverse shopping experiences. As the sole Fullstack developer, my focus was on frontend development, responsive design, and animations, along with eBay API integration.
552
+ - I built UI animations to enhance user interaction while ensuring the platform remained functional. The eBay API integration expanded product availability without requiring direct inventory management.
553
+ - The implementation included performance optimization for faster product browsing and page transitions. My work centered on creating a responsive e-commerce interface that could handle product data from external APIs effectively.
554
+ order: 27
555
+ year: 2013
556
+ ---
557
+
558
+ # Bureau of Trade (Beta)
559
+
560
+ An online store with an eBay-backed catalog, responsive browsing, and animated product interfaces.
561
+ `,
562
+ markdownPath: "content/projects/bureau-of-trade-beta.md"
563
+ },
564
+ {
565
+ title: "Capoeira Abolicao",
566
+ slug: "capoeira-abolicao",
567
+ description: "A promotional WordPress site for Capoeira Aboli\xE7\xE3o: instructors, activities, and the group's international presence.",
568
+ tech: [
569
+ "JavaScript",
570
+ "Wordpress",
571
+ "CSS",
572
+ "Bootstrap"
573
+ ],
574
+ type: [
575
+ "other",
576
+ "frontend"
577
+ ],
578
+ link: "https://capoieraabolicao.com",
579
+ image: "https://gaboesquivel.com/images/work/abolicao.jpg",
580
+ images: [],
581
+ achievements: [
582
+ "Designed and developed a responsive website for Capoeira Aboli\xE7\xE3o.",
583
+ "Implemented interactive elements to showcase community events.",
584
+ "Tuned page weight so the site loaded on the connections people actually had."
585
+ ],
586
+ story: [
587
+ "Capoeira Aboli\xE7\xE3o is a Brazilian martial arts group. I volunteered to create their promotional website, showcasing their professors and community. My involvement included website design and development, highlighting the group's activities and global presence.",
588
+ "I built a responsive website using JavaScript, WordPress, CSS, and Bootstrap to create an engaging online presence. The site featured interactive elements to highlight community events and Capoeira fundamentals.",
589
+ "This volunteer project combined my web development skills with my personal involvement in the Capoeira community. The implementation served as a resource for both existing members and potential new students interested in the martial art."
590
+ ],
591
+ order: 36,
592
+ year: 2008,
593
+ markdown: `---
594
+ title: "Capoeira Abolicao"
595
+ slug: "capoeira-abolicao"
596
+ description: "A promotional WordPress site for Capoeira Aboli\xE7\xE3o: instructors, activities, and the group's international presence."
597
+ tech:
598
+ - JavaScript
599
+ - Wordpress
600
+ - CSS
601
+ - Bootstrap
602
+ type:
603
+ - other
604
+ - frontend
605
+ link: "https://capoieraabolicao.com"
606
+ image: "https://gaboesquivel.com/images/work/abolicao.jpg"
607
+
608
+
609
+ images: []
610
+ achievements:
611
+ - Designed and developed a responsive website for Capoeira Aboli\xE7\xE3o.
612
+ - Implemented interactive elements to showcase community events.
613
+ - Tuned page weight so the site loaded on the connections people actually had.
614
+ story:
615
+ - Capoeira Aboli\xE7\xE3o is a Brazilian martial arts group. I volunteered to create their promotional website, showcasing their professors and community. My involvement included website design and development, highlighting the group's activities and global presence.
616
+ - I built a responsive website using JavaScript, WordPress, CSS, and Bootstrap to create an engaging online presence. The site featured interactive elements to highlight community events and Capoeira fundamentals.
617
+ - This volunteer project combined my web development skills with my personal involvement in the Capoeira community. The implementation served as a resource for both existing members and potential new students interested in the martial art.
618
+ order: 36
619
+ year: 2008
620
+ ---
621
+
622
+ # Capoeira Abolicao
623
+
624
+ A promotional WordPress site for Capoeira Aboli\xE7\xE3o: instructors, activities, and the group's international presence.
625
+ `,
626
+ markdownPath: "content/projects/capoeira-abolicao.md"
627
+ },
628
+ {
629
+ title: "ChainGraph",
630
+ slug: "chaingraph",
631
+ description: "An open-source GraphQL toolkit for indexing, streaming, and querying EOSIO and Antelope blockchain data.",
632
+ tech: [
633
+ "Antelope",
634
+ "NodeJS",
635
+ "Docker",
636
+ "GraphQL",
637
+ "GCP",
638
+ "RXJS",
639
+ "TypeScript",
640
+ "PostgreSQL"
641
+ ],
642
+ type: [
643
+ "web3",
644
+ "oss",
645
+ "backend"
646
+ ],
647
+ link: "https://chaingraph.io",
648
+ image: "https://gaboesquivel.com/images/work/chaingraph.png",
649
+ repo: "https://github.com/blockmatic/chaingraph",
650
+ images: [],
651
+ achievements: [
652
+ "Developed a real-time GraphQL subscription toolkit for EOSIO/Antelope blockchains.",
653
+ "Implemented blockchain data indexing and event streaming capabilities.",
654
+ "Designed an intuitive developer interface for querying multiple blockchain networks."
655
+ ],
656
+ story: [
657
+ "ChainGraph is a real-time GraphQL toolkit for EOSIO/Antelope blockchain applications. It provides tools for data subscriptions and querying across multiple blockchains.",
658
+ "As a personal side project while working at Bitcash, I handled the architectural design, technology selection, and implementation. This included building a real-time blockchain data streaming package for data access.",
659
+ "The project is open-source and serves as a resource for developers working with EOSIO/Antelope blockchains. It addresses common data access challenges faced when working with these blockchain technologies."
660
+ ],
661
+ order: 10,
662
+ year: 2020,
663
+ markdown: '---\ntitle: "ChainGraph"\nslug: "chaingraph"\ndescription: "An open-source GraphQL toolkit for indexing, streaming, and querying EOSIO and Antelope blockchain data."\ntech:\n - Antelope\n - NodeJS\n - Docker\n - GraphQL\n - GCP\n - RXJS\n - TypeScript\n - PostgreSQL\ntype:\n - web3\n - oss\n - backend\nlink: "https://chaingraph.io"\nimage: "https://gaboesquivel.com/images/work/chaingraph.png"\nrepo: "https://github.com/blockmatic/chaingraph"\n\nimages: []\nachievements:\n - Developed a real-time GraphQL subscription toolkit for EOSIO/Antelope blockchains.\n - Implemented blockchain data indexing and event streaming capabilities.\n - Designed an intuitive developer interface for querying multiple blockchain networks.\nstory:\n - ChainGraph is a real-time GraphQL toolkit for EOSIO/Antelope blockchain applications. It provides tools for data subscriptions and querying across multiple blockchains.\n - As a personal side project while working at Bitcash, I handled the architectural design, technology selection, and implementation. This included building a real-time blockchain data streaming package for data access.\n - The project is open-source and serves as a resource for developers working with EOSIO/Antelope blockchains. It addresses common data access challenges faced when working with these blockchain technologies.\norder: 10\nyear: 2020\n---\n\n# ChainGraph\n\nAn open-source GraphQL toolkit for indexing, streaming, and querying EOSIO and Antelope blockchain data.\n',
664
+ markdownPath: "content/projects/chaingraph.md"
665
+ },
666
+ {
667
+ title: "Costa Rica JS",
668
+ slug: "costa-rica-js",
669
+ description: "A JavaScript community founded in 2010 that grew past 2,000 developers through meetups, NodeSchool, and JSConf Costa Rica.",
670
+ tech: [
671
+ "JavaScript",
672
+ "NodeJS"
673
+ ],
674
+ type: [
675
+ "other",
676
+ "lead"
677
+ ],
678
+ link: "https://www.meetup.com/costaricajs/",
679
+ image: "https://gaboesquivel.com/images/bio/nodeschool-costa-rica.jpg",
680
+ video: "https://vimeo.com/167755778",
681
+ images: [
682
+ "https://gaboesquivel.com/images/work/gaboesquivel-javascript-costarica.png",
683
+ "https://gaboesquivel.com/images/gabo-workshop.jpg",
684
+ "https://gaboesquivel.com/images/work/nodeschool.jpg",
685
+ "https://gaboesquivel.com/images/work/nodeschool-1.jpg",
686
+ "https://gaboesquivel.com/images/2016/05/paintballjs.jpg",
687
+ "https://gaboesquivel.com/images/work/gaboesquivel-presentation.jpg"
688
+ ],
689
+ achievements: [
690
+ "Founded Costa Rica JS in 2010 and grew it past 2,000 developers.",
691
+ "Organized regular meetups, workshops, NodeSchool events, and JSConf Costa Rica.",
692
+ "Ran hands-on workshops as Node.js and modern web frameworks arrived in the region."
693
+ ],
694
+ story: [
695
+ "Costa Rica JS is a JavaScript community I founded in 2010. It grew past 2,000 developers through meetups, NodeSchool, and JSConf Costa Rica.",
696
+ "As founder I organized the meetups, workshops, and conferences. The point was practical skill-building as Node.js and modern web frameworks arrived, not a networking club with a speaker at the front.",
697
+ "The community became a place people used to learn, hire, and get hired. Workshops stayed hands-on so the knowledge transferred."
698
+ ],
699
+ related: [
700
+ {
701
+ url: "2016-06-nodeschool-international-day",
702
+ title: "NodeSchool International Day",
703
+ publishedAt: "2016-06-01"
704
+ },
705
+ {
706
+ url: "2015-5-paintball.js-recap",
707
+ title: "Paintball.js Recap",
708
+ publishedAt: "2015-05-01"
709
+ },
710
+ {
711
+ url: "2014-01-developing-software-in-costa-rica",
712
+ title: "Developing Software in Costa Rica",
713
+ publishedAt: "2014-01-01"
714
+ }
715
+ ],
716
+ order: 45,
717
+ year: 2010,
718
+ markdown: '---\ntitle: "Costa Rica JS"\nslug: "costa-rica-js"\ndescription: "A JavaScript community founded in 2010 that grew past 2,000 developers through meetups, NodeSchool, and JSConf Costa Rica."\ntech:\n - JavaScript\n - NodeJS\ntype:\n - other\n - lead\nlink: "https://www.meetup.com/costaricajs/"\nimage: "https://gaboesquivel.com/images/bio/nodeschool-costa-rica.jpg"\n\nvideo: "https://vimeo.com/167755778"\nimages:\n - https://gaboesquivel.com/images/work/gaboesquivel-javascript-costarica.png\n - https://gaboesquivel.com/images/gabo-workshop.jpg\n - https://gaboesquivel.com/images/work/nodeschool.jpg\n - https://gaboesquivel.com/images/work/nodeschool-1.jpg\n - https://gaboesquivel.com/images/2016/05/paintballjs.jpg\n - https://gaboesquivel.com/images/work/gaboesquivel-presentation.jpg\nachievements:\n - Founded Costa Rica JS in 2010 and grew it past 2,000 developers.\n - Organized regular meetups, workshops, NodeSchool events, and JSConf Costa Rica.\n - Ran hands-on workshops as Node.js and modern web frameworks arrived in the region.\nstory:\n - Costa Rica JS is a JavaScript community I founded in 2010. It grew past 2,000 developers through meetups, NodeSchool, and JSConf Costa Rica.\n - As founder I organized the meetups, workshops, and conferences. The point was practical skill-building as Node.js and modern web frameworks arrived, not a networking club with a speaker at the front.\n - The community became a place people used to learn, hire, and get hired. Workshops stayed hands-on so the knowledge transferred.\nrelated:\n - url: "2016-06-nodeschool-international-day"\n title: "NodeSchool International Day"\n publishedAt: "2016-06-01"\n - url: "2015-5-paintball.js-recap"\n title: "Paintball.js Recap"\n publishedAt: "2015-05-01"\n - url: "2014-01-developing-software-in-costa-rica"\n title: "Developing Software in Costa Rica"\n publishedAt: "2014-01-01"\norder: 45\nyear: 2010\n---\n\n# Costa Rica JS\n\nA JavaScript community founded in 2010 that grew past 2,000 developers through meetups, NodeSchool, and JSConf Costa Rica.\n',
719
+ markdownPath: "content/projects/costa-rica-js.md"
720
+ },
721
+ {
722
+ title: "CryptoCantinaCR",
723
+ slug: "cryptocantinacr",
724
+ description: "A weekly Costa Rican meetup for open discussion about blockchain, cryptography, and cryptocurrency.",
725
+ tech: [
726
+ "Blockchain"
727
+ ],
728
+ type: [
729
+ "other",
730
+ "lead"
731
+ ],
732
+ link: "https://criptocantina.org",
733
+ image: "https://gaboesquivel.com/images/work/cryptocantina.png",
734
+ images: [
735
+ "https://gaboesquivel.com/images/work/cryptocantina-multi.jpg",
736
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-2.jpg",
737
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room.jpg",
738
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-3.jpg",
739
+ "https://gaboesquivel.com/images/work/cryptocantina-london-room-4.jpg"
740
+ ],
741
+ achievements: [
742
+ "Started a weekly Thursday meetup in September 2018 at Central Pub in Paseo Col\xF3n.",
743
+ "Kept the format informal: no presentations, no talks, just open discussion.",
744
+ "Brought together people working on blockchain, cryptography, and cryptocurrency in Costa Rica.",
745
+ "Handed the initiative to Karla C\xF3rdoba as it became CriptoCantina.org, a structured education program."
746
+ ],
747
+ story: [
748
+ "CryptoCantinaCR started as a Thursday after-office meetup I helped start in 2018 at Central Pub in Paseo Col\xF3n. The brief was simple: people working on blockchain, cryptography, and cryptocurrency in Costa Rica, talking without a stage.",
749
+ "I kept the format informal on purpose. No presentations, no talks. The point was conversation, not a speaker calendar.",
750
+ "The meetup later became CriptoCantina.org, a structured education program led by Karla C\xF3rdoba. I started the weekly gathering; she turned it into the school."
751
+ ],
752
+ related: [
753
+ {
754
+ url: "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina",
755
+ title: "Costa Rica Crypto Cantina",
756
+ publishedAt: "2018-07-01"
757
+ }
758
+ ],
759
+ order: 47,
760
+ year: 2018,
761
+ markdown: '---\ntitle: "CryptoCantinaCR"\nslug: "cryptocantinacr"\ndescription: "A weekly Costa Rican meetup for open discussion about blockchain, cryptography, and cryptocurrency."\ntech:\n - Blockchain\ntype:\n - other\n - lead\nlink: "https://criptocantina.org"\nimage: "https://gaboesquivel.com/images/work/cryptocantina.png"\n\n\nimages:\n - https://gaboesquivel.com/images/work/cryptocantina-multi.jpg\n - https://gaboesquivel.com/images/work/cryptocantina-london-room-2.jpg\n - https://gaboesquivel.com/images/work/cryptocantina-london-room.jpg\n - https://gaboesquivel.com/images/work/cryptocantina-london-room-3.jpg\n - https://gaboesquivel.com/images/work/cryptocantina-london-room-4.jpg\nachievements:\n - Started a weekly Thursday meetup in September 2018 at Central Pub in Paseo Col\xF3n.\n - "Kept the format informal: no presentations, no talks, just open discussion."\n - Brought together people working on blockchain, cryptography, and cryptocurrency in Costa Rica.\n - Handed the initiative to Karla C\xF3rdoba as it became CriptoCantina.org, a structured education program.\nstory:\n - "CryptoCantinaCR started as a Thursday after-office meetup I helped start in 2018 at Central Pub in Paseo Col\xF3n. The brief was simple: people working on blockchain, cryptography, and cryptocurrency in Costa Rica, talking without a stage."\n - I kept the format informal on purpose. No presentations, no talks. The point was conversation, not a speaker calendar.\n - The meetup later became CriptoCantina.org, a structured education program led by Karla C\xF3rdoba. I started the weekly gathering; she turned it into the school.\nrelated:\n - url: "https://gaboesquivel.com/blog/2018-07-costa-rica-crypto-cantina"\n title: "Costa Rica Crypto Cantina"\n publishedAt: "2018-07-01"\norder: 47\nyear: 2018\n---\n\n# CryptoCantinaCR\n\nA weekly Costa Rican meetup for open discussion about blockchain, cryptography, and cryptocurrency.\n',
762
+ markdownPath: "content/projects/cryptocantinacr.md"
763
+ },
764
+ {
765
+ title: "Earth",
766
+ slug: "earth",
767
+ description: "EARTH University's website, WordPress content system, responsive blog, and newsletter for agricultural-science education.",
768
+ tech: [
769
+ "JavaScript",
770
+ "CSS",
771
+ "Wordpress"
772
+ ],
773
+ type: [
774
+ "other",
775
+ "frontend"
776
+ ],
777
+ image: "https://gaboesquivel.com/images/work/wordpress-earth-pai.jpg",
778
+ images: [],
779
+ achievements: [
780
+ "Developed a content management system for EARTH University's website.",
781
+ "Designed a responsive and accessible blog for community engagement."
782
+ ],
783
+ story: [
784
+ "WordPress site, blog, and newsletter for EARTH University while at IntergraphiDesign (my first development job)."
785
+ ],
786
+ order: 38,
787
+ year: 2008,
788
+ markdown: `---
789
+ title: "Earth"
790
+ slug: "earth"
791
+ description: "EARTH University's website, WordPress content system, responsive blog, and newsletter for agricultural-science education."
792
+ tech:
793
+ - JavaScript
794
+ - CSS
795
+ - Wordpress
796
+ type:
797
+ - other
798
+ - frontend
799
+ image: "https://gaboesquivel.com/images/work/wordpress-earth-pai.jpg"
800
+
801
+
802
+ images: []
803
+ achievements:
804
+ - Developed a content management system for EARTH University's website.
805
+ - Designed a responsive and accessible blog for community engagement.
806
+ story:
807
+ - WordPress site, blog, and newsletter for EARTH University while at IntergraphiDesign (my first development job).
808
+ order: 38
809
+ year: 2008
810
+ ---
811
+
812
+ # Earth
813
+
814
+ EARTH University's website, WordPress content system, responsive blog, and newsletter for agricultural-science education.
815
+ `,
816
+ markdownPath: "content/projects/earth.md"
817
+ },
818
+ {
819
+ title: "Eat Arcade",
820
+ slug: "eat-arcade",
821
+ description: "An SMS restaurant subscription service combining curated dishes, text messaging, online payments, and a web application.",
822
+ tech: [
823
+ "NodeJS",
824
+ "AngularJS",
825
+ "MongoDB",
826
+ "Heroku",
827
+ "Bootstrap",
828
+ "Stripe",
829
+ "Twilio",
830
+ "CSS",
831
+ "Lodash"
832
+ ],
833
+ type: [
834
+ "contract",
835
+ "frontend"
836
+ ],
837
+ link: "http://www.eatarcade.com/",
838
+ image: "https://gaboesquivel.com/images/work/eatarcade.jpg",
839
+ images: [],
840
+ achievements: [
841
+ "Designed and built an SMS-based subscription system for restaurant promotions.",
842
+ "Integrated Twilio so subscription messages went out as SMS.",
843
+ "Developed a full-stack solution using Node.js, MongoDB, and AngularJS."
844
+ ],
845
+ story: [
846
+ "I developed an SMS subscription system for curated dishes from New York City's restaurants. The system provided a direct connection between diners and restaurant offerings via mobile technology.",
847
+ "I built the application using Node.js, Express.js, and AngularJS, integrating Twilio for text messaging functionality. Users received restaurant recommendations through SMS, making discovery more accessible.",
848
+ "Stripe handled payments. Heroku hosted the app. The product was a restaurant subscription that arrived as a text."
849
+ ],
850
+ order: 24,
851
+ year: 2013,
852
+ markdown: `---
853
+ title: "Eat Arcade"
854
+ slug: "eat-arcade"
855
+ description: "An SMS restaurant subscription service combining curated dishes, text messaging, online payments, and a web application."
856
+ tech:
857
+ - NodeJS
858
+ - AngularJS
859
+ - MongoDB
860
+ - Heroku
861
+ - Bootstrap
862
+ - Stripe
863
+ - Twilio
864
+ - CSS
865
+ - Lodash
866
+ type:
867
+ - contract
868
+ - frontend
869
+ link: "http://www.eatarcade.com/"
870
+ image: "https://gaboesquivel.com/images/work/eatarcade.jpg"
871
+
872
+
873
+ images: []
874
+ achievements:
875
+ - Designed and built an SMS-based subscription system for restaurant promotions.
876
+ - Integrated Twilio so subscription messages went out as SMS.
877
+ - Developed a full-stack solution using Node.js, MongoDB, and AngularJS.
878
+ story:
879
+ - I developed an SMS subscription system for curated dishes from New York City's restaurants. The system provided a direct connection between diners and restaurant offerings via mobile technology.
880
+ - I built the application using Node.js, Express.js, and AngularJS, integrating Twilio for text messaging functionality. Users received restaurant recommendations through SMS, making discovery more accessible.
881
+ - Stripe handled payments. Heroku hosted the app. The product was a restaurant subscription that arrived as a text.
882
+ order: 24
883
+ year: 2013
884
+ ---
885
+
886
+ # Eat Arcade
887
+
888
+ An SMS restaurant subscription service combining curated dishes, text messaging, online payments, and a web application.
889
+ `,
890
+ markdownPath: "content/projects/eat-arcade.md"
891
+ },
892
+ {
893
+ title: "Elder Scrolls Online",
894
+ slug: "elder-scrolls-online",
895
+ description: "The official Elder Scrolls Online website for game news, guides, forums, and community content.",
896
+ tech: [
897
+ "PHP",
898
+ "JavaScript",
899
+ "jQuery",
900
+ "Facebook API",
901
+ "Twitter API"
902
+ ],
903
+ type: [
904
+ "contract",
905
+ "frontend"
906
+ ],
907
+ link: "http://elderscrollsonline.com",
908
+ image: "https://gaboesquivel.com/images/work/elder-scrolls.jpg",
909
+ images: [],
910
+ achievements: [
911
+ "Designed and implemented a user-centric website for the gaming community.",
912
+ "Rebuilt navigation so news, guides, and forums were reachable without hunting.",
913
+ "Integrated social media features to enhance community engagement."
914
+ ],
915
+ story: [
916
+ "The official website serves as a central hub for a gaming community, offering news, game guides, and forums. My role was to ensure a user-centric design for the website, facilitating easy navigation and engagement with the content.",
917
+ "I worked on balancing visual design with functionality to meet the needs of the gaming community. This included optimizing navigation paths and integrating social media features to improve user experience.",
918
+ "The project required understanding gaming community needs and developing appropriate web interfaces. The implementation created an online space where players could access information and connect with others in the community."
919
+ ],
920
+ order: 21,
921
+ year: 2013,
922
+ markdown: '---\ntitle: "Elder Scrolls Online"\nslug: "elder-scrolls-online"\ndescription: "The official Elder Scrolls Online website for game news, guides, forums, and community content."\ntech:\n - PHP\n - JavaScript\n - jQuery\n - Facebook API\n - Twitter API\ntype:\n - contract\n - frontend\nlink: "http://elderscrollsonline.com"\nimage: "https://gaboesquivel.com/images/work/elder-scrolls.jpg"\n\n\nimages: []\nachievements:\n - Designed and implemented a user-centric website for the gaming community.\n - Rebuilt navigation so news, guides, and forums were reachable without hunting.\n - Integrated social media features to enhance community engagement.\nstory:\n - The official website serves as a central hub for a gaming community, offering news, game guides, and forums. My role was to ensure a user-centric design for the website, facilitating easy navigation and engagement with the content.\n - I worked on balancing visual design with functionality to meet the needs of the gaming community. This included optimizing navigation paths and integrating social media features to improve user experience.\n - The project required understanding gaming community needs and developing appropriate web interfaces. The implementation created an online space where players could access information and connect with others in the community.\norder: 21\nyear: 2013\n---\n\n# Elder Scrolls Online\n\nThe official Elder Scrolls Online website for game news, guides, forums, and community content.\n',
923
+ markdownPath: "content/projects/elder-scrolls-online.md"
924
+ },
925
+ {
926
+ title: "Emanate",
927
+ slug: "emanate",
928
+ description: "A blockchain music-streaming platform with token-based artist payments and back-office revenue tools.",
929
+ role: "Software Engineer",
930
+ tech: [
931
+ "ReactJS",
932
+ "TypeScript",
933
+ "Antelope",
934
+ "AWS",
935
+ "Tailwind"
936
+ ],
937
+ type: [
938
+ "web3",
939
+ "contract",
940
+ "frontend"
941
+ ],
942
+ link: "https://emanate.live",
943
+ image: "https://gaboesquivel.com/images/work/emanate.png",
944
+ video: "https://www.youtube.com/watch?v=qjmn7M7YC9g",
945
+ images: [],
946
+ achievements: [
947
+ "Maintained and optimized the ReactJS streaming platform for improved performance.",
948
+ "Developed back-office tools for efficient artist revenue distribution.",
949
+ "Integrated AWS services for streaming and back-office workloads."
950
+ ],
951
+ story: [
952
+ "Emanate is a Web3 network marketplace for the music industry that streamlines creation, distribution, and monetization. At Emanate, I maintained and optimized the ReactJS web app streaming platform for better performance.",
953
+ "I built back-office tools for artist revenue distribution, enabling more efficient payment processing. The system used blockchain technology to improve transparency and accuracy in financial transactions.",
954
+ "I also integrated AWS services for the streaming app and the back office. The work was maintenance and payments, not a rewrite."
955
+ ],
956
+ experienceCompany: "Emanate",
957
+ order: 8,
958
+ year: 2019,
959
+ markdown: '---\ntitle: "Emanate"\nslug: "emanate"\ndescription: "A blockchain music-streaming platform with token-based artist payments and back-office revenue tools."\nrole: "Software Engineer"\ntech:\n - ReactJS\n - TypeScript\n - Antelope\n - AWS\n - Tailwind\ntype:\n - web3\n - contract\n - frontend\nlink: "https://emanate.live"\nimage: "https://gaboesquivel.com/images/work/emanate.png"\n\nvideo: "https://www.youtube.com/watch?v=qjmn7M7YC9g"\nimages: []\nachievements:\n - Maintained and optimized the ReactJS streaming platform for improved performance.\n - Developed back-office tools for efficient artist revenue distribution.\n - Integrated AWS services for streaming and back-office workloads.\nstory:\n - Emanate is a Web3 network marketplace for the music industry that streamlines creation, distribution, and monetization. At Emanate, I maintained and optimized the ReactJS web app streaming platform for better performance.\n - I built back-office tools for artist revenue distribution, enabling more efficient payment processing. The system used blockchain technology to improve transparency and accuracy in financial transactions.\n - I also integrated AWS services for the streaming app and the back office. The work was maintenance and payments, not a rewrite.\nexperienceCompany: "Emanate"\norder: 8\nyear: 2019\n---\n\n# Emanate\n\nA blockchain music-streaming platform with token-based artist payments and back-office revenue tools.\n',
960
+ markdownPath: "content/projects/emanate.md"
961
+ },
962
+ {
963
+ title: "EOS Costa Rica",
964
+ slug: "eos-costa-rica",
965
+ description: "A blockchain infrastructure and development company operating EOSIO validators and delivering public and private-chain systems.",
966
+ role: "Lead Engineer",
967
+ tech: [
968
+ "Antelope",
969
+ "C++",
970
+ "PostgreSQL",
971
+ "NodeJS",
972
+ "GraphQL",
973
+ "ReactJS",
974
+ "Tailwind",
975
+ "GCP",
976
+ "Azure",
977
+ "Docker",
978
+ "Terraform",
979
+ "TypeScript"
980
+ ],
981
+ type: [
982
+ "web3",
983
+ "full-time",
984
+ "lead",
985
+ "featured",
986
+ "frontend",
987
+ "backend",
988
+ "fullstack",
989
+ "startup",
990
+ "institution"
991
+ ],
992
+ link: "https://eoscostarica.io",
993
+ image: "https://gaboesquivel.com/images/work/eoscostarica.png",
994
+ repo: "https://github.com/eoscostarica",
995
+ video: "https://www.youtube.com/watch?v=-1y0fGs8Xgw&",
996
+ images: [],
997
+ achievements: [
998
+ "Helped launch EOS mainnet and operated EOSIO validators.",
999
+ "Built a private EOSIO chain for Grant Thornton Labs on Azure, Terraform, EOSIO, and React; shipped an MVP for intercompany transactions and tax workflows using a stablecoin, hashing, and IPFS.",
1000
+ "Built the EOS Rate frontend with React and Styled Components."
1001
+ ],
1002
+ story: [
1003
+ "I helped launch the EOS mainnet and operated validator nodes across EOSIO-based networks.",
1004
+ "I built a private EOSIO chain for Grant Thornton Labs on Azure, Terraform, EOSIO, and React. The MVP covered intercompany transactions and tax workflows with a stablecoin, hashing, and IPFS.",
1005
+ "I also ran open-source work and developer relations, including workshops around TicoBlockchain.cr and CryptoCantinaCR."
1006
+ ],
1007
+ experienceCompany: "EOS Costa Rica",
1008
+ order: 11,
1009
+ year: 2018,
1010
+ markdown: '---\ntitle: "EOS Costa Rica"\nslug: "eos-costa-rica"\ndescription: "A blockchain infrastructure and development company operating EOSIO validators and delivering public and private-chain systems."\nrole: "Lead Engineer"\ntech:\n - Antelope\n - C++\n - PostgreSQL\n - NodeJS\n - GraphQL\n - ReactJS\n - Tailwind\n - GCP\n - Azure\n - Docker\n - Terraform\n - TypeScript\ntype:\n - web3\n - full-time\n - lead\n - featured\n - frontend\n - backend\n - fullstack\n - startup\n - institution\nlink: "https://eoscostarica.io"\nimage: "https://gaboesquivel.com/images/work/eoscostarica.png"\nrepo: "https://github.com/eoscostarica"\nvideo: "https://www.youtube.com/watch?v=-1y0fGs8Xgw&"\nimages: []\nachievements:\n - Helped launch EOS mainnet and operated EOSIO validators.\n - Built a private EOSIO chain for Grant Thornton Labs on Azure, Terraform, EOSIO, and React; shipped an MVP for intercompany transactions and tax workflows using a stablecoin, hashing, and IPFS.\n - Built the EOS Rate frontend with React and Styled Components.\nstory:\n - I helped launch the EOS mainnet and operated validator nodes across EOSIO-based networks.\n - I built a private EOSIO chain for Grant Thornton Labs on Azure, Terraform, EOSIO, and React. The MVP covered intercompany transactions and tax workflows with a stablecoin, hashing, and IPFS.\n - I also ran open-source work and developer relations, including workshops around TicoBlockchain.cr and CryptoCantinaCR.\nexperienceCompany: "EOS Costa Rica"\norder: 11\nyear: 2018\n---\n\n# EOS Costa Rica\n\nA blockchain infrastructure and development company operating EOSIO validators and delivering public and private-chain systems.\n',
1011
+ markdownPath: "content/projects/eos-costa-rica.md"
1012
+ },
1013
+ {
1014
+ title: "EOS Rate",
1015
+ slug: "eos-rate",
1016
+ description: "A community rating tool for EOS block producers with onchain ratings, GraphQL data, and a radial comparison interface.",
1017
+ tech: [
1018
+ "Antelope",
1019
+ "C++",
1020
+ "GraphQL",
1021
+ "ReactJS",
1022
+ "GCP",
1023
+ "Docker",
1024
+ "TypeScript",
1025
+ "PostgreSQL"
1026
+ ],
1027
+ type: [
1028
+ "web3",
1029
+ "oss",
1030
+ "frontend",
1031
+ "backend",
1032
+ "fullstack"
1033
+ ],
1034
+ link: "https://eosrate.io",
1035
+ image: "https://gaboesquivel.com/images/work/eosrate.png",
1036
+ repo: "https://github.com/eoscostarica/eos-rate",
1037
+ video: "https://www.youtube.com/watch?v=saZnZqJsMhk",
1038
+ images: [],
1039
+ achievements: [
1040
+ "Designed and implemented an onchain rating system for EOS block producers.",
1041
+ "Built a radial graph interface to compare community ratings side by side.",
1042
+ "Developed a GraphQL API for reading ratings and driving the comparison UI."
1043
+ ],
1044
+ story: [
1045
+ "EOS Rate is a community tool for rating EOS block producers. Ratings live onchain; the interface is a radial graph so you can compare producers at a glance.",
1046
+ "I designed the architecture and chose the stack: onchain storage, a GraphQL data layer, and a React comparison UI.",
1047
+ "The job was to make producer reputation readable. Participants could see how the community rated a producer before they voted."
1048
+ ],
1049
+ order: 12,
1050
+ year: 2018,
1051
+ markdown: '---\ntitle: "EOS Rate"\nslug: "eos-rate"\ndescription: "A community rating tool for EOS block producers with onchain ratings, GraphQL data, and a radial comparison interface."\ntech:\n - Antelope\n - C++\n - GraphQL\n - ReactJS\n - GCP\n - Docker\n - TypeScript\n - PostgreSQL\ntype:\n - web3\n - oss\n - frontend\n - backend\n - fullstack\nlink: "https://eosrate.io"\nimage: "https://gaboesquivel.com/images/work/eosrate.png"\nrepo: "https://github.com/eoscostarica/eos-rate"\nvideo: "https://www.youtube.com/watch?v=saZnZqJsMhk"\nimages: []\nachievements:\n - Designed and implemented an onchain rating system for EOS block producers.\n - Built a radial graph interface to compare community ratings side by side.\n - Developed a GraphQL API for reading ratings and driving the comparison UI.\nstory:\n - EOS Rate is a community tool for rating EOS block producers. Ratings live onchain; the interface is a radial graph so you can compare producers at a glance.\n - "I designed the architecture and chose the stack: onchain storage, a GraphQL data layer, and a React comparison UI."\n - The job was to make producer reputation readable. Participants could see how the community rated a producer before they voted.\norder: 12\nyear: 2018\n---\n\n# EOS Rate\n\nA community rating tool for EOS block producers with onchain ratings, GraphQL data, and a radial comparison interface.\n',
1052
+ markdownPath: "content/projects/eos-rate.md"
1053
+ },
1054
+ {
1055
+ title: "Fantasy Tennis",
1056
+ slug: "fantasy-tennis",
1057
+ description: "A fantasy-tennis strategy game for ATP, WTA, and Grand Slam tournaments with responsive gameplay and live data.",
1058
+ tech: [
1059
+ "JavaScript",
1060
+ "CSS"
1061
+ ],
1062
+ type: [
1063
+ "contract",
1064
+ "frontend",
1065
+ "backend",
1066
+ "fullstack"
1067
+ ],
1068
+ link: "https://www.fanslam.us",
1069
+ image: "https://gaboesquivel.com/images/work/fantasy-tennis.jpg",
1070
+ images: [],
1071
+ achievements: [
1072
+ "Designed and developed a strategic fantasy tennis gaming platform.",
1073
+ "Built a responsive UI so the game played on phones as well as desktops.",
1074
+ "Integrated dynamic tournament data for real-time game updates."
1075
+ ],
1076
+ story: [
1077
+ "FanSlam Fantasy Tennis is a strategic game for ATP, WTA, and Grand Slam tournaments. I designed and built both the frontend and backend. As a fullstack developer, my work encompassed creating an engaging and functional gaming experience, integrating strategy and user interface design.",
1078
+ "I developed a responsive UI for consistent gameplay across different devices and screen sizes. The implementation included dynamic tournament data integration for real-time game updates and results.",
1079
+ "This project combined sports statistics with game mechanics to create an interactive experience for tennis fans. The work required understanding both tennis tournament structures and effective game design principles."
1080
+ ],
1081
+ order: 40,
1082
+ year: 2013,
1083
+ markdown: '---\ntitle: "Fantasy Tennis"\nslug: "fantasy-tennis"\ndescription: "A fantasy-tennis strategy game for ATP, WTA, and Grand Slam tournaments with responsive gameplay and live data."\ntech:\n - JavaScript\n - CSS\ntype:\n - contract\n - frontend\n - backend\n - fullstack\nlink: "https://www.fanslam.us"\nimage: "https://gaboesquivel.com/images/work/fantasy-tennis.jpg"\n\n\nimages: []\nachievements:\n - Designed and developed a strategic fantasy tennis gaming platform.\n - Built a responsive UI so the game played on phones as well as desktops.\n - Integrated dynamic tournament data for real-time game updates.\nstory:\n - FanSlam Fantasy Tennis is a strategic game for ATP, WTA, and Grand Slam tournaments. I designed and built both the frontend and backend. As a fullstack developer, my work encompassed creating an engaging and functional gaming experience, integrating strategy and user interface design.\n - I developed a responsive UI for consistent gameplay across different devices and screen sizes. The implementation included dynamic tournament data integration for real-time game updates and results.\n - This project combined sports statistics with game mechanics to create an interactive experience for tennis fans. The work required understanding both tennis tournament structures and effective game design principles.\norder: 40\nyear: 2013\n---\n\n# Fantasy Tennis\n\nA fantasy-tennis strategy game for ATP, WTA, and Grand Slam tournaments with responsive gameplay and live data.\n',
1084
+ markdownPath: "content/projects/fantasy-tennis.md"
1085
+ },
1086
+ {
1087
+ title: "Fantasy Top Shots",
1088
+ slug: "fantasy-top-shots",
1089
+ description: "A Flow Hackathon mobile game using NBA Top Shot NFTs through a React Native and Expo interface.",
1090
+ tech: [
1091
+ "Flow",
1092
+ "NFT",
1093
+ "ReactJS",
1094
+ "React Native",
1095
+ "Expo",
1096
+ "Tailwind",
1097
+ "TypeScript"
1098
+ ],
1099
+ type: [
1100
+ "web3",
1101
+ "hackathon",
1102
+ "mobile"
1103
+ ],
1104
+ link: "https://fantasy-top-shot.vercel.app",
1105
+ image: "https://gaboesquivel.com/images/work/fantasy-top-shots.png",
1106
+ repo: "https://github.com/bitcashorg/fantasy-top-shot",
1107
+ video: "https://www.youtube.com/watch?v=Il2aiKhy_ug",
1108
+ images: [],
1109
+ achievements: [
1110
+ "Designed and developed the mobile game using Flow blockchain technology.",
1111
+ "Wired NBA Top Shot NFTs into the game so collections could be used as a roster.",
1112
+ "Implemented responsive UI and smooth gameplay mechanics using React Native and Expo."
1113
+ ],
1114
+ story: [
1115
+ "Fantasy Top Shots was built for the 2022 Flow Hackathon as a mobile game using NBA Top Shot NFTs. The game allows users to utilize their NFT collections in a fantasy sports format.",
1116
+ "My role included both design and development, applying blockchain and mobile app development skills. The implementation uses Flow blockchain for NFT transaction handling within the game experience.",
1117
+ "We built it with collaborators at bitcashorg. The game uses Top Shot collections as a roster instead of a separate inventory screen."
1118
+ ],
1119
+ order: 13,
1120
+ year: 2022,
1121
+ markdown: '---\ntitle: "Fantasy Top Shots"\nslug: "fantasy-top-shots"\ndescription: "A Flow Hackathon mobile game using NBA Top Shot NFTs through a React Native and Expo interface."\ntech:\n - Flow\n - NFT\n - ReactJS\n - React Native\n - Expo\n - Tailwind\n - TypeScript\ntype:\n - web3\n - hackathon\n - mobile\nlink: "https://fantasy-top-shot.vercel.app"\nimage: "https://gaboesquivel.com/images/work/fantasy-top-shots.png"\nrepo: "https://github.com/bitcashorg/fantasy-top-shot"\nvideo: "https://www.youtube.com/watch?v=Il2aiKhy_ug"\nimages: []\nachievements:\n - Designed and developed the mobile game using Flow blockchain technology.\n - Wired NBA Top Shot NFTs into the game so collections could be used as a roster.\n - Implemented responsive UI and smooth gameplay mechanics using React Native and Expo.\nstory:\n - Fantasy Top Shots was built for the 2022 Flow Hackathon as a mobile game using NBA Top Shot NFTs. The game allows users to utilize their NFT collections in a fantasy sports format.\n - My role included both design and development, applying blockchain and mobile app development skills. The implementation uses Flow blockchain for NFT transaction handling within the game experience.\n - We built it with collaborators at bitcashorg. The game uses Top Shot collections as a roster instead of a separate inventory screen.\norder: 13\nyear: 2022\n---\n\n# Fantasy Top Shots\n\nA Flow Hackathon mobile game using NBA Top Shot NFTs through a React Native and Expo interface.\n',
1122
+ markdownPath: "content/projects/fantasy-top-shots.md"
1123
+ },
1124
+ {
1125
+ title: "Gridium",
1126
+ slug: "gridium",
1127
+ description: "An energy-analytics application with interactive charts for monitoring commercial-building consumption data.",
1128
+ tech: [
1129
+ "JavaScript",
1130
+ "Data Charts",
1131
+ "CSS",
1132
+ "Bootstrap",
1133
+ "Heroku"
1134
+ ],
1135
+ type: [
1136
+ "contract",
1137
+ "frontend"
1138
+ ],
1139
+ link: "https://gridium.com/",
1140
+ image: "https://gaboesquivel.com/images/work/gridium.png",
1141
+ images: [],
1142
+ achievements: [
1143
+ "Developed a data visualization platform for energy consumption analytics.",
1144
+ "Implemented interactive charts for real-time energy monitoring.",
1145
+ "Optimized UI/UX for better readability and user engagement."
1146
+ ],
1147
+ story: [
1148
+ "Gridium is an energy data analytics prototype for visualizing and analyzing energy consumption. It aids in informed energy management decisions. I built the first version of the application, focusing on displaying data collected from various buildings.",
1149
+ "The implementation included interactive charts for monitoring energy usage patterns in real-time. These visualizations helped users identify trends and anomalies in their energy consumption data.",
1150
+ "I optimized the UI/UX for better readability and engagement, ensuring users could easily interpret the presented data. The project applied data visualization techniques to make energy consumption information more accessible and actionable."
1151
+ ],
1152
+ order: 34,
1153
+ year: 2013,
1154
+ markdown: '---\ntitle: "Gridium"\nslug: "gridium"\ndescription: "An energy-analytics application with interactive charts for monitoring commercial-building consumption data."\ntech:\n - JavaScript\n - Data Charts\n - CSS\n - Bootstrap\n - Heroku\ntype:\n - contract\n - frontend\nlink: "https://gridium.com/"\nimage: "https://gaboesquivel.com/images/work/gridium.png"\n\n\nimages: []\nachievements:\n - Developed a data visualization platform for energy consumption analytics.\n - Implemented interactive charts for real-time energy monitoring.\n - Optimized UI/UX for better readability and user engagement.\nstory:\n - Gridium is an energy data analytics prototype for visualizing and analyzing energy consumption. It aids in informed energy management decisions. I built the first version of the application, focusing on displaying data collected from various buildings.\n - The implementation included interactive charts for monitoring energy usage patterns in real-time. These visualizations helped users identify trends and anomalies in their energy consumption data.\n - I optimized the UI/UX for better readability and engagement, ensuring users could easily interpret the presented data. The project applied data visualization techniques to make energy consumption information more accessible and actionable.\norder: 34\nyear: 2013\n---\n\n# Gridium\n\nAn energy-analytics application with interactive charts for monitoring commercial-building consumption data.\n',
1155
+ markdownPath: "content/projects/gridium.md"
1156
+ },
1157
+ {
1158
+ title: "ITS",
1159
+ slug: "its",
1160
+ description: "ITS InfoCom's corporate website, content-management system, and CRM integration for remote infrastructure services.",
1161
+ tech: [
1162
+ "JavaScript",
1163
+ "CSS",
1164
+ "PHP",
1165
+ "CMS"
1166
+ ],
1167
+ type: [
1168
+ "other",
1169
+ "frontend"
1170
+ ],
1171
+ image: "https://gaboesquivel.com/images/work/website-its.jpg",
1172
+ images: [],
1173
+ achievements: [
1174
+ "Deployed a company-wide CMS and CRM integration for ITS InfoCom."
1175
+ ],
1176
+ story: [
1177
+ "At IntergraphiDesign, my first development job, I built ITS InfoCom's corporate website, CMS, and CRM integration."
1178
+ ],
1179
+ order: 42,
1180
+ year: 2008,
1181
+ markdown: `---
1182
+ title: "ITS"
1183
+ slug: "its"
1184
+ description: "ITS InfoCom's corporate website, content-management system, and CRM integration for remote infrastructure services."
1185
+ tech:
1186
+ - JavaScript
1187
+ - CSS
1188
+ - PHP
1189
+ - CMS
1190
+ type:
1191
+ - other
1192
+ - frontend
1193
+ image: "https://gaboesquivel.com/images/work/website-its.jpg"
1194
+
1195
+
1196
+ images: []
1197
+ achievements:
1198
+ - Deployed a company-wide CMS and CRM integration for ITS InfoCom.
1199
+ story:
1200
+ - At IntergraphiDesign, my first development job, I built ITS InfoCom's corporate website, CMS, and CRM integration.
1201
+ order: 42
1202
+ year: 2008
1203
+ ---
1204
+
1205
+ # ITS
1206
+
1207
+ ITS InfoCom's corporate website, content-management system, and CRM integration for remote infrastructure services.
1208
+ `,
1209
+ markdownPath: "content/projects/its.md"
1210
+ },
1211
+ {
1212
+ title: "Jockey Hollow Bar and Kitchen Menu Kiosk App",
1213
+ slug: "jockey-hollow-bar-and-kitchen-menu-kiosk-app",
1214
+ description: "A responsive tablet menu kiosk with Google Sheets updates and performance tuned for restaurant service.",
1215
+ tech: [
1216
+ "SASS",
1217
+ "jQuery",
1218
+ "Lodash",
1219
+ "Grapnel.js",
1220
+ "Grunt",
1221
+ "NodeJS",
1222
+ "Heroku",
1223
+ "Divshot"
1224
+ ],
1225
+ type: [
1226
+ "contract",
1227
+ "frontend"
1228
+ ],
1229
+ image: "https://gaboesquivel.com/images/work/jockey-hollow-menu.png",
1230
+ images: [],
1231
+ achievements: [
1232
+ "Developed a user-friendly menu kiosk app to enhance restaurant service.",
1233
+ "Wired Google Spreadsheets so kitchen staff could change the menu without a deploy.",
1234
+ "Optimized app performance for smooth operation on tablet devices."
1235
+ ],
1236
+ story: [
1237
+ "At Jockey Hollow Bar & Kitchen, I developed the Menu Kiosk App, a responsive web application for tablet kiosks. It simplifies menu selection for patrons and uses Google Spreadsheets for easy updates.",
1238
+ "The app integrates with Google Spreadsheets for real-time menu management, allowing staff to keep information current and accurate. This implementation addresses the frequent menu changes common in restaurants.",
1239
+ "As the sole developer, I created an intuitive interface optimized for tablet performance. The kiosk application streamlined the dining experience while providing an efficient solution for displaying menu items."
1240
+ ],
1241
+ order: 26,
1242
+ year: 2013,
1243
+ markdown: '---\ntitle: "Jockey Hollow Bar and Kitchen Menu Kiosk App"\nslug: "jockey-hollow-bar-and-kitchen-menu-kiosk-app"\ndescription: "A responsive tablet menu kiosk with Google Sheets updates and performance tuned for restaurant service."\ntech:\n - SASS\n - jQuery\n - Lodash\n - Grapnel.js\n - Grunt\n - NodeJS\n - Heroku\n - Divshot\ntype:\n - contract\n - frontend\nimage: "https://gaboesquivel.com/images/work/jockey-hollow-menu.png"\n\n\nimages: []\nachievements:\n - Developed a user-friendly menu kiosk app to enhance restaurant service.\n - Wired Google Spreadsheets so kitchen staff could change the menu without a deploy.\n - Optimized app performance for smooth operation on tablet devices.\nstory:\n - At Jockey Hollow Bar & Kitchen, I developed the Menu Kiosk App, a responsive web application for tablet kiosks. It simplifies menu selection for patrons and uses Google Spreadsheets for easy updates.\n - The app integrates with Google Spreadsheets for real-time menu management, allowing staff to keep information current and accurate. This implementation addresses the frequent menu changes common in restaurants.\n - As the sole developer, I created an intuitive interface optimized for tablet performance. The kiosk application streamlined the dining experience while providing an efficient solution for displaying menu items.\norder: 26\nyear: 2013\n---\n\n# Jockey Hollow Bar and Kitchen Menu Kiosk App\n\nA responsive tablet menu kiosk with Google Sheets updates and performance tuned for restaurant service.\n',
1244
+ markdownPath: "content/projects/jockey-hollow-bar-and-kitchen-menu-kiosk-app.md"
1245
+ },
1246
+ {
1247
+ title: "Jockey Hollow Bar and Kitchen",
1248
+ slug: "jockey-hollow-bar-and-kitchen",
1249
+ description: "A responsive site for Jockey Hollow Bar and Kitchen, a historic mansion with four dining concepts.",
1250
+ tech: [
1251
+ "SASS",
1252
+ "jQuery",
1253
+ "Lodash",
1254
+ "Grapnel.js",
1255
+ "Grunt",
1256
+ "NodeJS",
1257
+ "Heroku",
1258
+ "Divshot"
1259
+ ],
1260
+ type: [
1261
+ "contract",
1262
+ "frontend"
1263
+ ],
1264
+ link: "http://www.jockeyhollowbarandkitchen.com/",
1265
+ image: "https://gaboesquivel.com/images/work/jockey-hollow.png",
1266
+ images: [],
1267
+ achievements: [
1268
+ "Developed a fully responsive landing page with a focus on user experience.",
1269
+ "Cut page weight so the landing page loaded on the connections diners actually had."
1270
+ ],
1271
+ story: [
1272
+ "Historic-mansion restaurant with four dining concepts; I built the responsive landing page with SASS, jQuery, and Grunt, deployed on Heroku."
1273
+ ],
1274
+ order: 25,
1275
+ year: 2013,
1276
+ markdown: '---\ntitle: "Jockey Hollow Bar and Kitchen"\nslug: "jockey-hollow-bar-and-kitchen"\ndescription: "A responsive site for Jockey Hollow Bar and Kitchen, a historic mansion with four dining concepts."\ntech:\n - SASS\n - jQuery\n - Lodash\n - Grapnel.js\n - Grunt\n - NodeJS\n - Heroku\n - Divshot\ntype:\n - contract\n - frontend\nlink: "http://www.jockeyhollowbarandkitchen.com/"\nimage: "https://gaboesquivel.com/images/work/jockey-hollow.png"\n\n\nimages: []\nachievements:\n - Developed a fully responsive landing page with a focus on user experience.\n - Cut page weight so the landing page loaded on the connections diners actually had.\nstory:\n - Historic-mansion restaurant with four dining concepts; I built the responsive landing page with SASS, jQuery, and Grunt, deployed on Heroku.\norder: 25\nyear: 2013\n---\n\n# Jockey Hollow Bar and Kitchen\n\nA responsive site for Jockey Hollow Bar and Kitchen, a historic mansion with four dining concepts.\n',
1277
+ markdownPath: "content/projects/jockey-hollow-bar-and-kitchen.md"
1278
+ },
1279
+ {
1280
+ title: "Knowledge.io",
1281
+ slug: "knowledge-io",
1282
+ description: "A tokenized knowledge platform with an ERC-20 token, marketplace, wallet dashboard, and mobile trivia game.",
1283
+ role: "Software Engineer",
1284
+ tech: [
1285
+ "TypeScript",
1286
+ "Ethereum",
1287
+ "Ethers",
1288
+ "Solidity",
1289
+ "AWS",
1290
+ "Serverless",
1291
+ "GraphQL",
1292
+ "React Native",
1293
+ "ReactJS",
1294
+ "NodeJS",
1295
+ "PostgreSQL"
1296
+ ],
1297
+ type: [
1298
+ "web3",
1299
+ "contract",
1300
+ "oss",
1301
+ "frontend",
1302
+ "backend",
1303
+ "fullstack"
1304
+ ],
1305
+ link: "https://github.com/knowledge/ethereum-contracts",
1306
+ image: "https://gaboesquivel.com/images/work/knowledge.png",
1307
+ repo: "https://github.com/knowledge",
1308
+ images: [],
1309
+ achievements: [
1310
+ "Deployed Knowledge.io's ERC-20 token for the 2018 mainnet ICO.",
1311
+ "Implemented smart contracts for token rewards and transactions.",
1312
+ "Built a serverless AWS infrastructure for the token, marketplace, and wallet services.",
1313
+ "Built the React and Web3.js marketplace and wallet dashboard around the ERC-20 token.",
1314
+ "Maintained the React Native trivia game as the token-reward client."
1315
+ ],
1316
+ story: [
1317
+ "Knowledge is a platform that rewards sharing information with an ERC-20 token. I built the token architecture and the systems around the 2018 mainnet ICO.",
1318
+ "I implemented smart contracts for token rewards and transactions, then built a serverless AWS stack for the token, marketplace, and wallet services.",
1319
+ "I also built the marketplace and wallet screens in React and Web3.js, and maintained the React Native trivia game as the reward client."
1320
+ ],
1321
+ experienceCompany: "Knowledge",
1322
+ order: 17,
1323
+ year: 2017,
1324
+ markdown: `---
1325
+ title: "Knowledge.io"
1326
+ slug: "knowledge-io"
1327
+ description: "A tokenized knowledge platform with an ERC-20 token, marketplace, wallet dashboard, and mobile trivia game."
1328
+ role: "Software Engineer"
1329
+ tech:
1330
+ - TypeScript
1331
+ - Ethereum
1332
+ - Ethers
1333
+ - Solidity
1334
+ - AWS
1335
+ - Serverless
1336
+ - GraphQL
1337
+ - React Native
1338
+ - ReactJS
1339
+ - NodeJS
1340
+ - PostgreSQL
1341
+ type:
1342
+ - web3
1343
+ - contract
1344
+ - oss
1345
+ - frontend
1346
+ - backend
1347
+ - fullstack
1348
+ link: "https://github.com/knowledge/ethereum-contracts"
1349
+ image: "https://gaboesquivel.com/images/work/knowledge.png"
1350
+ repo: "https://github.com/knowledge"
1351
+
1352
+ images: []
1353
+ achievements:
1354
+ - Deployed Knowledge.io's ERC-20 token for the 2018 mainnet ICO.
1355
+ - Implemented smart contracts for token rewards and transactions.
1356
+ - Built a serverless AWS infrastructure for the token, marketplace, and wallet services.
1357
+ - Built the React and Web3.js marketplace and wallet dashboard around the ERC-20 token.
1358
+ - Maintained the React Native trivia game as the token-reward client.
1359
+ story:
1360
+ - Knowledge is a platform that rewards sharing information with an ERC-20 token. I built the token architecture and the systems around the 2018 mainnet ICO.
1361
+ - I implemented smart contracts for token rewards and transactions, then built a serverless AWS stack for the token, marketplace, and wallet services.
1362
+ - I also built the marketplace and wallet screens in React and Web3.js, and maintained the React Native trivia game as the reward client.
1363
+ experienceCompany: "Knowledge"
1364
+ order: 17
1365
+ year: 2017
1366
+ ---
1367
+
1368
+ # Knowledge.io
1369
+
1370
+ A tokenized knowledge platform with an ERC-20 token, marketplace, wallet dashboard, and mobile trivia game.
1371
+ `,
1372
+ markdownPath: "content/projects/knowledge-io.md"
1373
+ },
1374
+ {
1375
+ title: "LegalAgent",
1376
+ slug: "legal-agent",
1377
+ description: "An AI legal platform with Expo voice and chat, RAG for case and document context, and administrative controls.",
1378
+ role: "Software Engineer",
1379
+ tech: [
1380
+ "TypeScript",
1381
+ "React Native",
1382
+ "Expo",
1383
+ "OpenAI",
1384
+ "AI SDK",
1385
+ "TanStack Query",
1386
+ "TanStack Form",
1387
+ "TanStack Start",
1388
+ "Tailwind",
1389
+ "Artificial Intelligence",
1390
+ "Redis",
1391
+ "PostgreSQL",
1392
+ "ReactJS"
1393
+ ],
1394
+ type: [
1395
+ "ai",
1396
+ "contract",
1397
+ "featured",
1398
+ "mobile",
1399
+ "backend",
1400
+ "fullstack",
1401
+ "startup"
1402
+ ],
1403
+ image: "https://gaboesquivel.com/images/work/legalagent.png",
1404
+ images: [],
1405
+ achievements: [
1406
+ "Shipped a multimodal AI assistant with voice and chat in a React Native Expo app.",
1407
+ "Built RAG for case context, document summaries, and procedural guidance.",
1408
+ "Built an admin dashboard with Microsoft SSO, prompt management, and document categorization.",
1409
+ "Shipped bilingual voice with realtime transcription and speech synthesis.",
1410
+ "Adjusted persona and tool calling in the Expo client after attorney sessions."
1411
+ ],
1412
+ story: [
1413
+ "At LegalAgent I added a voice and chat assistant to their React Native app for case context, documents, and procedures.",
1414
+ "I implemented the Vercel AI SDK for chat and OpenAI's Realtime API for voice, with Tailwind on the multimodal UI. RAG supplied case context, document summaries, and procedural guidance in Spanish and English. Attorney feedback changed persona and tool calling in that Expo client.",
1415
+ "I also built an internal admin dashboard with TanStack Start: Microsoft SSO, system prompt management, and document categorization for RAG retrieval."
1416
+ ],
1417
+ related: [
1418
+ {
1419
+ url: "2025-05-typescript-rag",
1420
+ title: "TypeScript RAG",
1421
+ publishedAt: "2025-05-01"
1422
+ },
1423
+ {
1424
+ url: "2025-09-why-expo",
1425
+ title: "Why Expo",
1426
+ publishedAt: "2025-09-01"
1427
+ }
1428
+ ],
1429
+ experienceCompany: "LegalAgent",
1430
+ order: 1,
1431
+ year: 2025,
1432
+ markdown: `---
1433
+ title: "LegalAgent"
1434
+ slug: "legal-agent"
1435
+ description: "An AI legal platform with Expo voice and chat, RAG for case and document context, and administrative controls."
1436
+ role: "Software Engineer"
1437
+ tech:
1438
+ - TypeScript
1439
+ - React Native
1440
+ - Expo
1441
+ - OpenAI
1442
+ - AI SDK
1443
+ - TanStack Query
1444
+ - TanStack Form
1445
+ - TanStack Start
1446
+ - Tailwind
1447
+ - Artificial Intelligence
1448
+ - Redis
1449
+ - PostgreSQL
1450
+ - ReactJS
1451
+ type:
1452
+ - ai
1453
+ - contract
1454
+ - featured
1455
+ - mobile
1456
+ - backend
1457
+ - fullstack
1458
+ - startup
1459
+ image: "https://gaboesquivel.com/images/work/legalagent.png"
1460
+
1461
+
1462
+ images: []
1463
+ achievements:
1464
+ - Shipped a multimodal AI assistant with voice and chat in a React Native Expo app.
1465
+ - Built RAG for case context, document summaries, and procedural guidance.
1466
+ - Built an admin dashboard with Microsoft SSO, prompt management, and document categorization.
1467
+ - Shipped bilingual voice with realtime transcription and speech synthesis.
1468
+ - Adjusted persona and tool calling in the Expo client after attorney sessions.
1469
+ story:
1470
+ - At LegalAgent I added a voice and chat assistant to their React Native app for case context, documents, and procedures.
1471
+ - I implemented the Vercel AI SDK for chat and OpenAI's Realtime API for voice, with Tailwind on the multimodal UI. RAG supplied case context, document summaries, and procedural guidance in Spanish and English. Attorney feedback changed persona and tool calling in that Expo client.
1472
+ - "I also built an internal admin dashboard with TanStack Start: Microsoft SSO, system prompt management, and document categorization for RAG retrieval."
1473
+ experienceCompany: "LegalAgent"
1474
+ order: 1
1475
+ year: 2025
1476
+ related:
1477
+ - url: "2025-05-typescript-rag"
1478
+ title: "TypeScript RAG"
1479
+ publishedAt: "2025-05-01"
1480
+ - url: "2025-09-why-expo"
1481
+ title: "Why Expo"
1482
+ publishedAt: "2025-09-01"
1483
+ ---
1484
+
1485
+ # LegalAgent
1486
+
1487
+ An AI legal platform with Expo voice and chat, RAG for case and document context, and administrative controls.
1488
+ `,
1489
+ markdownPath: "content/projects/legal-agent.md"
1490
+ },
1491
+ {
1492
+ title: "Living with Dryness",
1493
+ slug: "living-with-dryness",
1494
+ description: "A responsive medical information page for dryness-related resources, laid out to be readable on a phone.",
1495
+ tech: [
1496
+ "JavaScript",
1497
+ "CSS",
1498
+ "Wordpress"
1499
+ ],
1500
+ type: [
1501
+ "other",
1502
+ "frontend"
1503
+ ],
1504
+ image: "https://gaboesquivel.com/images/work/living-with-dryness.jpg",
1505
+ images: [],
1506
+ achievements: [
1507
+ "Built a responsive landing page and navigation for medical resources."
1508
+ ],
1509
+ story: [
1510
+ "Freelance WordPress work on a responsive medical information page focused on readability and navigation on mobile."
1511
+ ],
1512
+ order: 44,
1513
+ year: 2011,
1514
+ markdown: '---\ntitle: "Living with Dryness"\nslug: "living-with-dryness"\ndescription: "A responsive medical information page for dryness-related resources, laid out to be readable on a phone."\ntech:\n - JavaScript\n - CSS\n - Wordpress\ntype:\n - other\n - frontend\nimage: "https://gaboesquivel.com/images/work/living-with-dryness.jpg"\n\n\nimages: []\nachievements:\n - Built a responsive landing page and navigation for medical resources.\nstory:\n - Freelance WordPress work on a responsive medical information page focused on readability and navigation on mobile.\norder: 44\nyear: 2011\n---\n\n# Living with Dryness\n\nA responsive medical information page for dryness-related resources, laid out to be readable on a phone.\n',
1515
+ markdownPath: "content/projects/living-with-dryness.md"
1516
+ },
1517
+ {
1518
+ title: "Make Sense Labs",
1519
+ slug: "make-sense-labs",
1520
+ description: "A React Native messaging and wallet app with EOS transactions, token functionality, and privacy features.",
1521
+ tech: [
1522
+ "React Native",
1523
+ "TypeScript",
1524
+ "Antelope"
1525
+ ],
1526
+ type: [
1527
+ "web3",
1528
+ "contract",
1529
+ "mobile"
1530
+ ],
1531
+ link: "https://www.youtube.com/watch?v=2DJxzYDaAz8",
1532
+ image: "https://gaboesquivel.com/images/work/sense-chat.png",
1533
+ video: "https://www.youtube.com/watch?v=2DJxzYDaAz8",
1534
+ images: [],
1535
+ achievements: [
1536
+ "Improved app performance and reduced load times by optimizing React Native components.",
1537
+ "Integrated EOS mainnet functionalities for secure blockchain-based transactions.",
1538
+ "Enhanced security and privacy features for better user protection."
1539
+ ],
1540
+ story: [
1541
+ "At Make Sense Labs, I worked on Sense.chat, a secure chat and transaction app focusing on user data privacy. I improved the React Native app performance to create a more responsive experience.",
1542
+ "I integrated the app with the EOS blockchain mainnet to enable secure transactions and token functionality. The implementation included a built-in wallet and token incentives for communities.",
1543
+ "I also enhanced the app's security and privacy features to strengthen user data protection. The work combined mobile app optimization with blockchain integration."
1544
+ ],
1545
+ order: 9,
1546
+ year: 2019,
1547
+ markdown: `---
1548
+ title: "Make Sense Labs"
1549
+ slug: "make-sense-labs"
1550
+ description: "A React Native messaging and wallet app with EOS transactions, token functionality, and privacy features."
1551
+ tech:
1552
+ - React Native
1553
+ - TypeScript
1554
+ - Antelope
1555
+ type:
1556
+ - web3
1557
+ - contract
1558
+ - mobile
1559
+ link: "https://www.youtube.com/watch?v=2DJxzYDaAz8"
1560
+ image: "https://gaboesquivel.com/images/work/sense-chat.png"
1561
+
1562
+ video: "https://www.youtube.com/watch?v=2DJxzYDaAz8"
1563
+ images: []
1564
+ achievements:
1565
+ - Improved app performance and reduced load times by optimizing React Native components.
1566
+ - Integrated EOS mainnet functionalities for secure blockchain-based transactions.
1567
+ - Enhanced security and privacy features for better user protection.
1568
+ story:
1569
+ - At Make Sense Labs, I worked on Sense.chat, a secure chat and transaction app focusing on user data privacy. I improved the React Native app performance to create a more responsive experience.
1570
+ - I integrated the app with the EOS blockchain mainnet to enable secure transactions and token functionality. The implementation included a built-in wallet and token incentives for communities.
1571
+ - I also enhanced the app's security and privacy features to strengthen user data protection. The work combined mobile app optimization with blockchain integration.
1572
+ order: 9
1573
+ year: 2019
1574
+ ---
1575
+
1576
+ # Make Sense Labs
1577
+
1578
+ A React Native messaging and wallet app with EOS transactions, token functionality, and privacy features.
1579
+ `,
1580
+ markdownPath: "content/projects/make-sense-labs.md"
1581
+ },
1582
+ {
1583
+ title: "Masterbots",
1584
+ slug: "masterbots",
1585
+ description: "A platform for domain-specific AI assistants with specialized interfaces, social sharing, and multilingual support.",
1586
+ tech: [
1587
+ "NextJS",
1588
+ "NodeJS",
1589
+ "GraphQL",
1590
+ "ReactJS",
1591
+ "PostgreSQL",
1592
+ "TypeScript",
1593
+ "OpenAI",
1594
+ "AI SDK",
1595
+ "Artificial Intelligence",
1596
+ "Docker",
1597
+ "GCP",
1598
+ "ShadcnUI",
1599
+ "Tailwind",
1600
+ "TanStack Query",
1601
+ "Zod",
1602
+ "nuqs"
1603
+ ],
1604
+ type: [
1605
+ "ai",
1606
+ "oss",
1607
+ "frontend",
1608
+ "backend",
1609
+ "fullstack",
1610
+ "startup"
1611
+ ],
1612
+ link: "https://masterbots.ai",
1613
+ image: "https://gaboesquivel.com/images/work/masterbots.png",
1614
+ repo: "https://github.com/bitcashorg/masterbots",
1615
+ images: [],
1616
+ achievements: [
1617
+ "Integrated AI SDK for internationalization automation and AI-driven workflow.",
1618
+ "Developed specialized AI agents and chatbot interfaces for various use cases.",
1619
+ "Set up the Next.js application structure and trained the team on it.",
1620
+ "Integrated AI-driven development workflow using v0.dev, Anthropic Claude Sonnet, Cursor IDE, and SourceryAI."
1621
+ ],
1622
+ story: [
1623
+ "Masterbots is a platform for domain-specific AI assistants with specialized interfaces, social sharing, and multilingual support.",
1624
+ "I integrated the AI SDK for internationalization automation, set up the Next.js application structure, and built specialized agent interfaces on top of it."
1625
+ ],
1626
+ order: 4,
1627
+ year: 2024,
1628
+ markdown: '---\ntitle: "Masterbots"\nslug: "masterbots"\ndescription: "A platform for domain-specific AI assistants with specialized interfaces, social sharing, and multilingual support."\ntech:\n - NextJS\n - NodeJS\n - GraphQL\n - ReactJS\n - PostgreSQL\n - TypeScript\n - OpenAI\n - AI SDK\n - Artificial Intelligence\n - Docker\n - GCP\n - ShadcnUI\n - Tailwind\n - TanStack Query\n - Zod\n - nuqs\ntype:\n - ai\n - oss\n - frontend\n - backend\n - fullstack\n - startup\nlink: "https://masterbots.ai"\nimage: "https://gaboesquivel.com/images/work/masterbots.png"\nrepo: "https://github.com/bitcashorg/masterbots"\n\nimages: []\nachievements:\n - Integrated AI SDK for internationalization automation and AI-driven workflow.\n - Developed specialized AI agents and chatbot interfaces for various use cases.\n - Set up the Next.js application structure and trained the team on it.\n - Integrated AI-driven development workflow using v0.dev, Anthropic Claude Sonnet, Cursor IDE, and SourceryAI.\nstory:\n - Masterbots is a platform for domain-specific AI assistants with specialized interfaces, social sharing, and multilingual support.\n - I integrated the AI SDK for internationalization automation, set up the Next.js application structure, and built specialized agent interfaces on top of it.\norder: 4\nyear: 2024\n---\n\n# Masterbots\n\nA platform for domain-specific AI assistants with specialized interfaces, social sharing, and multilingual support.\n',
1629
+ markdownPath: "content/projects/masterbots.md"
1630
+ },
1631
+ {
1632
+ title: "Mobtion",
1633
+ slug: "mobtion",
1634
+ description: "A responsive agency site and WordPress CMS for Mobtion, a mobile-development studio.",
1635
+ tech: [
1636
+ "JavaScript",
1637
+ "CSS",
1638
+ "Wordpress",
1639
+ "PHP"
1640
+ ],
1641
+ type: [
1642
+ "other",
1643
+ "frontend"
1644
+ ],
1645
+ image: "https://gaboesquivel.com/images/work/mobtion.jpg",
1646
+ images: [],
1647
+ achievements: [
1648
+ "Developed a responsive and modern website for Mobtion agency.",
1649
+ "Integrated WordPress CMS for efficient content management."
1650
+ ],
1651
+ story: [
1652
+ "Responsive agency site and WordPress CMS for Mobtion at IntergraphiDesign so they could update their mobile-dev portfolio without a developer."
1653
+ ],
1654
+ order: 41,
1655
+ year: 2008,
1656
+ markdown: '---\ntitle: "Mobtion"\nslug: "mobtion"\ndescription: "A responsive agency site and WordPress CMS for Mobtion, a mobile-development studio."\ntech:\n - JavaScript\n - CSS\n - Wordpress\n - PHP\ntype:\n - other\n - frontend\nimage: "https://gaboesquivel.com/images/work/mobtion.jpg"\n\n\nimages: []\nachievements:\n - Developed a responsive and modern website for Mobtion agency.\n - Integrated WordPress CMS for efficient content management.\nstory:\n - Responsive agency site and WordPress CMS for Mobtion at IntergraphiDesign so they could update their mobile-dev portfolio without a developer.\norder: 41\nyear: 2008\n---\n\n# Mobtion\n\nA responsive agency site and WordPress CMS for Mobtion, a mobile-development studio.\n',
1657
+ markdownPath: "content/projects/mobtion.md"
1658
+ },
1659
+ {
1660
+ title: "Opyn",
1661
+ slug: "opyn",
1662
+ description: "A decentralized options protocol on Arbitrum with a Next.js trading interface and indexed onchain data.",
1663
+ role: "Software Engineer",
1664
+ tech: [
1665
+ "TypeScript",
1666
+ "NextJS",
1667
+ "ReactJS",
1668
+ "Foundry",
1669
+ "Solidity",
1670
+ "Viem",
1671
+ "Wagmi",
1672
+ "Ponder",
1673
+ "PostgreSQL",
1674
+ "Supabase",
1675
+ "ShadcnUI",
1676
+ "Tailwind",
1677
+ "TanStack Query",
1678
+ "Zod",
1679
+ "nuqs",
1680
+ "Ethereum",
1681
+ "Alchemy"
1682
+ ],
1683
+ type: [
1684
+ "web3",
1685
+ "contract",
1686
+ "featured",
1687
+ "frontend",
1688
+ "backend"
1689
+ ],
1690
+ link: "https://opyn.co",
1691
+ image: "https://gaboesquivel.com/images/work/opyn.png",
1692
+ images: [],
1693
+ achievements: [
1694
+ "Built the Next.js 14 trading interface with React Server Components.",
1695
+ "Integrated the protocol and Arbitrum testnet with viem and wagmi.",
1696
+ "Indexed onchain data with Ponder, PostgreSQL, and Supabase.",
1697
+ "Prototyped an LLM assistant for onboarding and support."
1698
+ ],
1699
+ story: [
1700
+ "Opyn is a decentralized options protocol on Arbitrum. The trading UI needed indexed protocol state, not a page of raw RPC reads.",
1701
+ "I set up the Next.js app structure and the data-fetching path the interface sits on, with Ponder over PostgreSQL and Supabase."
1702
+ ],
1703
+ related: [
1704
+ {
1705
+ url: "2025-11-bullish-2026",
1706
+ title: "Bullish 2026",
1707
+ publishedAt: "2025-11-01"
1708
+ },
1709
+ {
1710
+ url: "2026-01-tokenization",
1711
+ title: "Tokenization",
1712
+ publishedAt: "2026-01-01"
1713
+ }
1714
+ ],
1715
+ experienceCompany: "Opyn",
1716
+ order: 2,
1717
+ year: 2024,
1718
+ markdown: '---\ntitle: "Opyn"\nslug: "opyn"\ndescription: "A decentralized options protocol on Arbitrum with a Next.js trading interface and indexed onchain data."\nrole: "Software Engineer"\ntech:\n - TypeScript\n - NextJS\n - ReactJS\n - Foundry\n - Solidity\n - Viem\n - Wagmi\n - Ponder\n - PostgreSQL\n - Supabase\n - ShadcnUI\n - Tailwind\n - TanStack Query\n - Zod\n - nuqs\n - Ethereum\n - Alchemy\ntype:\n - web3\n - contract\n - featured\n - frontend\n - backend\nlink: "https://opyn.co"\nimage: "https://gaboesquivel.com/images/work/opyn.png"\n\n\nimages: []\nachievements:\n - Built the Next.js 14 trading interface with React Server Components.\n - Integrated the protocol and Arbitrum testnet with viem and wagmi.\n - Indexed onchain data with Ponder, PostgreSQL, and Supabase.\n - Prototyped an LLM assistant for onboarding and support.\nstory:\n - Opyn is a decentralized options protocol on Arbitrum. The trading UI needed indexed protocol state, not a page of raw RPC reads.\n - I set up the Next.js app structure and the data-fetching path the interface sits on, with Ponder over PostgreSQL and Supabase.\nexperienceCompany: "Opyn"\norder: 2\nyear: 2024\nrelated:\n - url: "2025-11-bullish-2026"\n title: "Bullish 2026"\n publishedAt: "2025-11-01"\n - url: "2026-01-tokenization"\n title: "Tokenization"\n publishedAt: "2026-01-01"\n---\n\n# Opyn\n\nA decentralized options protocol on Arbitrum with a Next.js trading interface and indexed onchain data.\n',
1719
+ markdownPath: "content/projects/opyn.md"
1720
+ },
1721
+ {
1722
+ title: "Panini",
1723
+ slug: "panini",
1724
+ description: "A WordPress site for Panini: frontend performance, browser compatibility, and interface work.",
1725
+ tech: [
1726
+ "JavaScript",
1727
+ "CSS",
1728
+ "Wordpress"
1729
+ ],
1730
+ type: [
1731
+ "other",
1732
+ "frontend"
1733
+ ],
1734
+ image: "https://gaboesquivel.com/images/work/panini.jpg",
1735
+ images: [],
1736
+ achievements: [
1737
+ "Improved frontend performance and cross-browser compatibility for a WordPress site."
1738
+ ],
1739
+ story: [
1740
+ "Freelance WordPress work for Panini focused on frontend performance, browser compatibility, and interface cleanup."
1741
+ ],
1742
+ order: 37,
1743
+ year: 2008,
1744
+ markdown: '---\ntitle: "Panini"\nslug: "panini"\ndescription: "A WordPress site for Panini: frontend performance, browser compatibility, and interface work."\ntech:\n - JavaScript\n - CSS\n - Wordpress\ntype:\n - other\n - frontend\nimage: "https://gaboesquivel.com/images/work/panini.jpg"\n\n\nimages: []\nachievements:\n - Improved frontend performance and cross-browser compatibility for a WordPress site.\nstory:\n - Freelance WordPress work for Panini focused on frontend performance, browser compatibility, and interface cleanup.\norder: 37\nyear: 2008\n---\n\n# Panini\n\nA WordPress site for Panini: frontend performance, browser compatibility, and interface work.\n',
1745
+ markdownPath: "content/projects/panini.md"
1746
+ },
1747
+ {
1748
+ title: "Photo and Go",
1749
+ slug: "photo-and-go",
1750
+ description: "An online photo-product platform with a custom editor and backend integration into existing commerce systems.",
1751
+ tech: [
1752
+ "ReactJS",
1753
+ "NodeJS",
1754
+ "Redux",
1755
+ "AWS",
1756
+ "Docker",
1757
+ "PostgreSQL"
1758
+ ],
1759
+ type: [
1760
+ "contract",
1761
+ "frontend",
1762
+ "backend",
1763
+ "fullstack"
1764
+ ],
1765
+ link: "https://www.myphoto.com/",
1766
+ image: "https://gaboesquivel.com/images/work/photoandgo.jpg",
1767
+ images: [],
1768
+ achievements: [
1769
+ "Built a photo editor that posted finished products into the existing commerce system.",
1770
+ "Led technical direction on the editor and the services behind it.",
1771
+ "Ran image storage and processing on AWS."
1772
+ ],
1773
+ story: [
1774
+ "MyPhoto.com is an online platform for personalized photo products. I led the photo editor and the backend that plugged into the existing commerce system.",
1775
+ "I owned cropping, layouts, checkout handoff, and AWS-backed image storage and processing."
1776
+ ],
1777
+ order: 29,
1778
+ year: 2014,
1779
+ markdown: '---\ntitle: "Photo and Go"\nslug: "photo-and-go"\ndescription: "An online photo-product platform with a custom editor and backend integration into existing commerce systems."\ntech:\n - ReactJS\n - NodeJS\n - Redux\n - AWS\n - Docker\n - PostgreSQL\ntype:\n - contract\n - frontend\n - backend\n - fullstack\nlink: "https://www.myphoto.com/"\nimage: "https://gaboesquivel.com/images/work/photoandgo.jpg"\n\n\nimages: []\nachievements:\n - Built a photo editor that posted finished products into the existing commerce system.\n - Led technical direction on the editor and the services behind it.\n - Ran image storage and processing on AWS.\nstory:\n - MyPhoto.com is an online platform for personalized photo products. I led the photo editor and the backend that plugged into the existing commerce system.\n - I owned cropping, layouts, checkout handoff, and AWS-backed image storage and processing.\norder: 29\nyear: 2014\n---\n\n# Photo and Go\n\nAn online photo-product platform with a custom editor and backend integration into existing commerce systems.\n',
1780
+ markdownPath: "content/projects/photo-and-go.md"
1781
+ },
1782
+ {
1783
+ title: "Proparques",
1784
+ slug: "proparques",
1785
+ description: "A responsive nonprofit website with an interactive map for exploring Costa Rica's national parks.",
1786
+ tech: [
1787
+ "JavaScript",
1788
+ "CSS",
1789
+ "Wordpress"
1790
+ ],
1791
+ type: [
1792
+ "other",
1793
+ "frontend"
1794
+ ],
1795
+ image: "https://gaboesquivel.com/images/work/proparques.jpg",
1796
+ images: [],
1797
+ achievements: [
1798
+ "Developed an interactive national park map for user exploration.",
1799
+ "Designed a responsive and informative landing page."
1800
+ ],
1801
+ story: [
1802
+ "Nonprofit landing page and interactive national-park map for ProParques at IntergraphiDesign."
1803
+ ],
1804
+ order: 39,
1805
+ year: 2008,
1806
+ markdown: `---
1807
+ title: "Proparques"
1808
+ slug: "proparques"
1809
+ description: "A responsive nonprofit website with an interactive map for exploring Costa Rica's national parks."
1810
+ tech:
1811
+ - JavaScript
1812
+ - CSS
1813
+ - Wordpress
1814
+ type:
1815
+ - other
1816
+ - frontend
1817
+ image: "https://gaboesquivel.com/images/work/proparques.jpg"
1818
+
1819
+
1820
+ images: []
1821
+ achievements:
1822
+ - Developed an interactive national park map for user exploration.
1823
+ - Designed a responsive and informative landing page.
1824
+ story:
1825
+ - Nonprofit landing page and interactive national-park map for ProParques at IntergraphiDesign.
1826
+ order: 39
1827
+ year: 2008
1828
+ ---
1829
+
1830
+ # Proparques
1831
+
1832
+ A responsive nonprofit website with an interactive map for exploring Costa Rica's national parks.
1833
+ `,
1834
+ markdownPath: "content/projects/proparques.md"
1835
+ },
1836
+ {
1837
+ title: "RareMint",
1838
+ slug: "raremint",
1839
+ description: "A Polygon marketplace for tokenized sports collectibles with indexed NFT data, auctions, and WalletConnect.",
1840
+ role: "Software Engineer",
1841
+ tech: [
1842
+ "NextJS",
1843
+ "Ethers",
1844
+ "NFT",
1845
+ "ReactJS",
1846
+ "GCP",
1847
+ "NodeJS",
1848
+ "GraphQL",
1849
+ "TypeScript",
1850
+ "Ethereum",
1851
+ "Docker",
1852
+ "Tailwind",
1853
+ "PostgreSQL"
1854
+ ],
1855
+ type: [
1856
+ "web3",
1857
+ "full-time",
1858
+ "frontend",
1859
+ "backend",
1860
+ "fullstack",
1861
+ "startup"
1862
+ ],
1863
+ link: "https://raremint.com",
1864
+ image: "https://gaboesquivel.com/images/work/raremint.png",
1865
+ video: "https://www.youtube.com/watch?v=2wh32w7N9xg",
1866
+ images: [
1867
+ "https://gaboesquivel.com/images/work/raremint-perf.jpeg"
1868
+ ],
1869
+ achievements: [
1870
+ "Built an EVM NFT data indexer using Moralis streams, Node.js, and PostgreSQL on Google Cloud.",
1871
+ "Refactored the marketplace to Next.js SSR with Tailwind and GraphQL.",
1872
+ "Integrated WalletConnect for connections and transactions."
1873
+ ],
1874
+ story: [
1875
+ "RareMint digitized real-world sports collectibles as NFTs. I worked on marketplace performance, wallet integration, and its first Pok\xE9mon card auctions on Polygon.",
1876
+ "I built the Moralis-streams indexer on Node.js, PostgreSQL, and Google Cloud, then moved the marketplace to Next.js SSR for listing and auction flows."
1877
+ ],
1878
+ experienceCompany: "RareMint",
1879
+ order: 6,
1880
+ year: 2021,
1881
+ markdown: '---\ntitle: "RareMint"\nslug: "raremint"\ndescription: "A Polygon marketplace for tokenized sports collectibles with indexed NFT data, auctions, and WalletConnect."\nrole: "Software Engineer"\ntech:\n - NextJS\n - Ethers\n - NFT\n - ReactJS\n - GCP\n - NodeJS\n - GraphQL\n - TypeScript\n - Ethereum\n - Docker\n - Tailwind\n - PostgreSQL\ntype:\n - web3\n - full-time\n - frontend\n - backend\n - fullstack\n - startup\nlink: "https://raremint.com"\nimage: "https://gaboesquivel.com/images/work/raremint.png"\n\nvideo: "https://www.youtube.com/watch?v=2wh32w7N9xg"\nimages:\n - https://gaboesquivel.com/images/work/raremint-perf.jpeg\nachievements:\n - Built an EVM NFT data indexer using Moralis streams, Node.js, and PostgreSQL on Google Cloud.\n - Refactored the marketplace to Next.js SSR with Tailwind and GraphQL.\n - Integrated WalletConnect for connections and transactions.\nstory:\n - RareMint digitized real-world sports collectibles as NFTs. I worked on marketplace performance, wallet integration, and its first Pok\xE9mon card auctions on Polygon.\n - I built the Moralis-streams indexer on Node.js, PostgreSQL, and Google Cloud, then moved the marketplace to Next.js SSR for listing and auction flows.\nexperienceCompany: "RareMint"\norder: 6\nyear: 2021\n---\n\n# RareMint\n\nA Polygon marketplace for tokenized sports collectibles with indexed NFT data, auctions, and WalletConnect.\n',
1882
+ markdownPath: "content/projects/raremint.md"
1883
+ },
1884
+ {
1885
+ title: "ScotiaTico",
1886
+ slug: "scotiatico",
1887
+ description: "A WordPress customer newsletter for Scotiabank Costa Rica: bank updates in a layout staff could maintain.",
1888
+ tech: [
1889
+ "JavaScript",
1890
+ "CSS",
1891
+ "Wordpress"
1892
+ ],
1893
+ type: [
1894
+ "other",
1895
+ "frontend"
1896
+ ],
1897
+ image: "https://gaboesquivel.com/images/work/scotiatico.jpg",
1898
+ images: [],
1899
+ achievements: [
1900
+ "Designed and developed an interactive newsletter layout for ScotiaBank."
1901
+ ],
1902
+ story: [
1903
+ "WordPress newsletter layout for Scotiabank Costa Rica at IntergraphiDesign."
1904
+ ],
1905
+ order: 32,
1906
+ year: 2008,
1907
+ markdown: '---\ntitle: "ScotiaTico"\nslug: "scotiatico"\ndescription: "A WordPress customer newsletter for Scotiabank Costa Rica: bank updates in a layout staff could maintain."\ntech:\n - JavaScript\n - CSS\n - Wordpress\ntype:\n - other\n - frontend\nimage: "https://gaboesquivel.com/images/work/scotiatico.jpg"\n\n\nimages: []\nachievements:\n - Designed and developed an interactive newsletter layout for ScotiaBank.\nstory:\n - WordPress newsletter layout for Scotiabank Costa Rica at IntergraphiDesign.\norder: 32\nyear: 2008\n---\n\n# ScotiaTico\n\nA WordPress customer newsletter for Scotiabank Costa Rica: bank updates in a layout staff could maintain.\n',
1908
+ markdownPath: "content/projects/scotiatico.md"
1909
+ },
1910
+ {
1911
+ title: "Staples",
1912
+ slug: "staples",
1913
+ description: "Responsive navigation and commerce interfaces for Staples' office-supply ecommerce storefront.",
1914
+ tech: [
1915
+ "JavaScript",
1916
+ "CSS",
1917
+ "Mootools"
1918
+ ],
1919
+ type: [
1920
+ "other",
1921
+ "frontend"
1922
+ ],
1923
+ image: "https://gaboesquivel.com/images/work/staples.jpg",
1924
+ images: [],
1925
+ achievements: [
1926
+ "Rebuilt the main navigation for smaller screens.",
1927
+ "Developed responsive UI components and front-end performance improvements."
1928
+ ],
1929
+ story: [
1930
+ "Freelance frontend work on Staples' ecommerce storefront: responsive navigation, UI components, and load-time improvements."
1931
+ ],
1932
+ order: 33,
1933
+ year: 2011,
1934
+ markdown: `---
1935
+ title: "Staples"
1936
+ slug: "staples"
1937
+ description: "Responsive navigation and commerce interfaces for Staples' office-supply ecommerce storefront."
1938
+ tech:
1939
+ - JavaScript
1940
+ - CSS
1941
+ - Mootools
1942
+ type:
1943
+ - other
1944
+ - frontend
1945
+ image: "https://gaboesquivel.com/images/work/staples.jpg"
1946
+
1947
+
1948
+ images: []
1949
+ achievements:
1950
+ - Rebuilt the main navigation for smaller screens.
1951
+ - Developed responsive UI components and front-end performance improvements.
1952
+ story:
1953
+ - "Freelance frontend work on Staples' ecommerce storefront: responsive navigation, UI components, and load-time improvements."
1954
+ order: 33
1955
+ year: 2011
1956
+ ---
1957
+
1958
+ # Staples
1959
+
1960
+ Responsive navigation and commerce interfaces for Staples' office-supply ecommerce storefront.
1961
+ `,
1962
+ markdownPath: "content/projects/staples.md"
1963
+ },
1964
+ {
1965
+ title: "Substrate Contracts UI",
1966
+ slug: "substrate-contracts-ui",
1967
+ description: "An open-source React interface for deploying and interacting with WASM smart contracts on Substrate.",
1968
+ tech: [
1969
+ "Polkadot",
1970
+ "Substrate",
1971
+ "ReactJS",
1972
+ "Tailwind",
1973
+ "TypeScript"
1974
+ ],
1975
+ type: [
1976
+ "web3",
1977
+ "oss",
1978
+ "frontend"
1979
+ ],
1980
+ link: "https://contracts-ui.substrate.io/",
1981
+ image: "https://gaboesquivel.com/images/work/contracts-ui.png",
1982
+ repo: "https://github.com/paritytech/contracts-ui",
1983
+ images: [],
1984
+ achievements: [
1985
+ "Enhanced code quality and performance through multiple open-source contributions.",
1986
+ "Built UI components for deploying and calling WASM contracts from the browser.",
1987
+ "Gained extensive experience in building dApps on the Substrate framework."
1988
+ ],
1989
+ story: [
1990
+ "Substrate Contracts UI is a web application for deploying and interacting with WASM smart contracts on Substrate blockchains. I contributed to the project by making open-source improvements to enhance code quality and performance.",
1991
+ "I developed UI components for interacting with WASM smart contracts to improve usability and efficiency. This work provided practical experience in building decentralized applications on the Substrate framework.",
1992
+ "I made these contributions while learning Substrate and Polkadot contracts. The work was open-source developer tooling, not a product of my own."
1993
+ ],
1994
+ order: 14,
1995
+ year: 2021,
1996
+ markdown: '---\ntitle: "Substrate Contracts UI"\nslug: "substrate-contracts-ui"\ndescription: "An open-source React interface for deploying and interacting with WASM smart contracts on Substrate."\ntech:\n - Polkadot\n - Substrate\n - ReactJS\n - Tailwind\n - TypeScript\ntype:\n - web3\n - oss\n - frontend\nlink: "https://contracts-ui.substrate.io/"\nimage: "https://gaboesquivel.com/images/work/contracts-ui.png"\nrepo: "https://github.com/paritytech/contracts-ui"\n\nimages: []\nachievements:\n - Enhanced code quality and performance through multiple open-source contributions.\n - Built UI components for deploying and calling WASM contracts from the browser.\n - Gained extensive experience in building dApps on the Substrate framework.\nstory:\n - Substrate Contracts UI is a web application for deploying and interacting with WASM smart contracts on Substrate blockchains. I contributed to the project by making open-source improvements to enhance code quality and performance.\n - I developed UI components for interacting with WASM smart contracts to improve usability and efficiency. This work provided practical experience in building decentralized applications on the Substrate framework.\n - I made these contributions while learning Substrate and Polkadot contracts. The work was open-source developer tooling, not a product of my own.\norder: 14\nyear: 2021\n---\n\n# Substrate Contracts UI\n\nAn open-source React interface for deploying and interacting with WASM smart contracts on Substrate.\n',
1997
+ markdownPath: "content/projects/substrate-contracts-ui.md"
1998
+ },
1999
+ {
2000
+ title: "SunTrust",
2001
+ slug: "suntrust",
2002
+ description: "A SunTrust campaign site where people created and shared personalized video salutes.",
2003
+ tech: [
2004
+ "JavaScript",
2005
+ "CSS"
2006
+ ],
2007
+ type: [
2008
+ "other",
2009
+ "frontend"
2010
+ ],
2011
+ image: "https://gaboesquivel.com/images/work/suntrust-1.jpg",
2012
+ images: [],
2013
+ achievements: [
2014
+ "Built the Solid Salutes campaign site for creating and sharing user-generated video salutes."
2015
+ ],
2016
+ story: [
2017
+ "I built SunTrust's Solid Salutes campaign site, including the flow for creating and sharing personalized video salutes."
2018
+ ],
2019
+ order: 31,
2020
+ year: 2011,
2021
+ markdown: `---
2022
+ title: "SunTrust"
2023
+ slug: "suntrust"
2024
+ description: "A SunTrust campaign site where people created and shared personalized video salutes."
2025
+ tech:
2026
+ - JavaScript
2027
+ - CSS
2028
+ type:
2029
+ - other
2030
+ - frontend
2031
+ image: "https://gaboesquivel.com/images/work/suntrust-1.jpg"
2032
+
2033
+
2034
+ images: []
2035
+ achievements:
2036
+ - Built the Solid Salutes campaign site for creating and sharing user-generated video salutes.
2037
+ story:
2038
+ - I built SunTrust's Solid Salutes campaign site, including the flow for creating and sharing personalized video salutes.
2039
+ order: 31
2040
+ year: 2011
2041
+ ---
2042
+
2043
+ # SunTrust
2044
+
2045
+ A SunTrust campaign site where people created and shared personalized video salutes.
2046
+ `,
2047
+ markdownPath: "content/projects/suntrust.md"
2048
+ },
2049
+ {
2050
+ title: "Tikr",
2051
+ slug: "tikr",
2052
+ description: "An online store built on Spree with realtime price changes, a custom Rails backend, and a responsive storefront.",
2053
+ tech: [
2054
+ "Ruby on Rails",
2055
+ "Spree",
2056
+ "Heroku",
2057
+ "PostgreSQL",
2058
+ "jQuery",
2059
+ "SASS"
2060
+ ],
2061
+ type: [
2062
+ "contract",
2063
+ "frontend"
2064
+ ],
2065
+ link: "http://tikr.com",
2066
+ image: "https://gaboesquivel.com/images/work/tikr.jpg",
2067
+ images: [],
2068
+ achievements: [
2069
+ "Developed a dynamic pricing engine using Spree and Ruby on Rails.",
2070
+ "Implemented a real-time price fluctuation system for enhanced user engagement.",
2071
+ "Optimized backend performance on Heroku with PostgreSQL integration."
2072
+ ],
2073
+ story: [
2074
+ "Tikr is an online store with dynamic, real-time fluctuating prices, offering a unique shopping experience. It operates on the Ruby on Rails-based Spree backend framework. My role at Tikr encompassed full-stack development with a focus on frontend development and customization of the Spree backend.",
2075
+ "I built a dynamic pricing engine using Spree and Ruby on Rails that enabled real-time price changes. This feature created a more interactive shopping experience for users.",
2076
+ "The implementation included optimizing backend performance on Heroku with PostgreSQL database integration. The work combined e-commerce fundamentals with custom pricing mechanisms to create a distinctive online shopping platform."
2077
+ ],
2078
+ order: 23,
2079
+ year: 2013,
2080
+ markdown: '---\ntitle: "Tikr"\nslug: "tikr"\ndescription: "An online store built on Spree with realtime price changes, a custom Rails backend, and a responsive storefront."\ntech:\n - Ruby on Rails\n - Spree\n - Heroku\n - PostgreSQL\n - jQuery\n - SASS\ntype:\n - contract\n - frontend\nlink: "http://tikr.com"\nimage: "https://gaboesquivel.com/images/work/tikr.jpg"\n\n\nimages: []\nachievements:\n - Developed a dynamic pricing engine using Spree and Ruby on Rails.\n - Implemented a real-time price fluctuation system for enhanced user engagement.\n - Optimized backend performance on Heroku with PostgreSQL integration.\nstory:\n - Tikr is an online store with dynamic, real-time fluctuating prices, offering a unique shopping experience. It operates on the Ruby on Rails-based Spree backend framework. My role at Tikr encompassed full-stack development with a focus on frontend development and customization of the Spree backend.\n - I built a dynamic pricing engine using Spree and Ruby on Rails that enabled real-time price changes. This feature created a more interactive shopping experience for users.\n - The implementation included optimizing backend performance on Heroku with PostgreSQL database integration. The work combined e-commerce fundamentals with custom pricing mechanisms to create a distinctive online shopping platform.\norder: 23\nyear: 2013\n---\n\n# Tikr\n\nAn online store built on Spree with realtime price changes, a custom Rails backend, and a responsive storefront.\n',
2081
+ markdownPath: "content/projects/tikr.md"
2082
+ },
2083
+ {
2084
+ title: "Tractor Supply",
2085
+ slug: "tractor-supply",
2086
+ description: "A React Native retail app with product browsing, account tools, and augmented-reality previews powered by ViroAR.",
2087
+ tech: [
2088
+ "React Native",
2089
+ "ReactJS",
2090
+ "NodeJS",
2091
+ "TypeScript",
2092
+ "ViroAR",
2093
+ "CSS",
2094
+ "Redux"
2095
+ ],
2096
+ type: [
2097
+ "contract",
2098
+ "mobile",
2099
+ "institution"
2100
+ ],
2101
+ link: "https://www.tractorsupply.com/tsc/cms/app",
2102
+ image: "https://gaboesquivel.com/images/work/tractor-supply.png",
2103
+ images: [],
2104
+ achievements: [
2105
+ "Enhanced app performance and code quality for a smoother user experience.",
2106
+ "Developed an augmented reality feature to preview products interactively.",
2107
+ "Implemented TypeScript for improved maintainability and scalability."
2108
+ ],
2109
+ story: [
2110
+ "The Tractor Supply mobile app offers features like product browsing, exclusive offers, account management, and an augmented reality feature for product previews. As a consultant, I enhanced the app's performance and code quality, and developed its augmented reality feature, improving user experience and engagement.",
2111
+ "I implemented TypeScript to improve code maintainability and scalability, ensuring the app could adapt to future requirements. My work focused on technical improvements and feature development for their existing React Native application."
2112
+ ],
2113
+ order: 28,
2114
+ year: 2020,
2115
+ markdown: `---
2116
+ title: "Tractor Supply"
2117
+ slug: "tractor-supply"
2118
+ description: "A React Native retail app with product browsing, account tools, and augmented-reality previews powered by ViroAR."
2119
+ tech:
2120
+ - React Native
2121
+ - ReactJS
2122
+ - NodeJS
2123
+ - TypeScript
2124
+ - ViroAR
2125
+ - CSS
2126
+ - Redux
2127
+ type:
2128
+ - contract
2129
+ - mobile
2130
+ - institution
2131
+ link: "https://www.tractorsupply.com/tsc/cms/app"
2132
+ image: "https://gaboesquivel.com/images/work/tractor-supply.png"
2133
+
2134
+
2135
+ images: []
2136
+ achievements:
2137
+ - Enhanced app performance and code quality for a smoother user experience.
2138
+ - Developed an augmented reality feature to preview products interactively.
2139
+ - Implemented TypeScript for improved maintainability and scalability.
2140
+ story:
2141
+ - The Tractor Supply mobile app offers features like product browsing, exclusive offers, account management, and an augmented reality feature for product previews. As a consultant, I enhanced the app's performance and code quality, and developed its augmented reality feature, improving user experience and engagement.
2142
+ - I implemented TypeScript to improve code maintainability and scalability, ensuring the app could adapt to future requirements. My work focused on technical improvements and feature development for their existing React Native application.
2143
+ order: 28
2144
+ year: 2020
2145
+ ---
2146
+
2147
+ # Tractor Supply
2148
+
2149
+ A React Native retail app with product browsing, account tools, and augmented-reality previews powered by ViroAR.
2150
+ `,
2151
+ markdownPath: "content/projects/tractor-supply.md"
2152
+ },
2153
+ {
2154
+ title: "Trivenzor",
2155
+ slug: "trivenzor",
2156
+ description: "A responsive medical information site for Trivenzor, written for patients and for clinicians.",
2157
+ tech: [
2158
+ "JavaScript",
2159
+ "CSS",
2160
+ "Mootools"
2161
+ ],
2162
+ type: [
2163
+ "other",
2164
+ "frontend"
2165
+ ],
2166
+ image: "https://gaboesquivel.com/images/work/tribenzor.jpg",
2167
+ images: [],
2168
+ achievements: [
2169
+ "Developed a fully responsive and accessible medical landing page."
2170
+ ],
2171
+ story: [
2172
+ "Responsive medical information landing page for Trivenzor (hypertension medication), built with MooTools for patients and clinicians."
2173
+ ],
2174
+ order: 43,
2175
+ year: 2011,
2176
+ markdown: '---\ntitle: "Trivenzor"\nslug: "trivenzor"\ndescription: "A responsive medical information site for Trivenzor, written for patients and for clinicians."\ntech:\n - JavaScript\n - CSS\n - Mootools\ntype:\n - other\n - frontend\nimage: "https://gaboesquivel.com/images/work/tribenzor.jpg"\n\n\nimages: []\nachievements:\n - Developed a fully responsive and accessible medical landing page.\nstory:\n - Responsive medical information landing page for Trivenzor (hypertension medication), built with MooTools for patients and clinicians.\norder: 43\nyear: 2011\n---\n\n# Trivenzor\n\nA responsive medical information site for Trivenzor, written for patients and for clinicians.\n',
2177
+ markdownPath: "content/projects/trivenzor.md"
2178
+ },
2179
+ {
2180
+ title: "Wink",
2181
+ slug: "wink",
2182
+ description: "Costa Rica's first neobank, delivered through a React Native mobile app, AWS backend, partner-bank APIs, and biometrics.",
2183
+ role: "Lead Engineer",
2184
+ tech: [
2185
+ "TypeScript",
2186
+ "AWS",
2187
+ "Serverless",
2188
+ "React Native",
2189
+ "ReactJS",
2190
+ "NodeJS",
2191
+ "Biometrics",
2192
+ "Docker"
2193
+ ],
2194
+ type: [
2195
+ "full-time",
2196
+ "lead",
2197
+ "featured",
2198
+ "mobile",
2199
+ "backend",
2200
+ "fullstack",
2201
+ "frontend",
2202
+ "startup",
2203
+ "institution"
2204
+ ],
2205
+ link: "https://holawink.com",
2206
+ image: "https://gaboesquivel.com/images/work/wink.png",
2207
+ video: "https://www.youtube.com/watch?v=rfeISMW_OVc",
2208
+ images: [],
2209
+ achievements: [
2210
+ "Developed the first version of Wink's mobile banking app.",
2211
+ "Integrated partner-bank APIs so deposits, transfers, and account data could move through the app.",
2212
+ "Built biometric KYC with a React Native native bridge."
2213
+ ],
2214
+ story: [
2215
+ "Wink is Costa Rica's first neobank: a mobile app for banking without a branch visit. I built the first version of the app and the AWS backend it depended on.",
2216
+ "I chose the stack, planned the work, and coordinated partner-bank API integration. I also implemented biometric authentication so KYC and login did not need a branch visit.",
2217
+ "Launch required forming a development team that did not exist yet."
2218
+ ],
2219
+ experienceCompany: "Wink",
2220
+ order: 18,
2221
+ year: 2015,
2222
+ markdown: `---
2223
+ title: "Wink"
2224
+ slug: "wink"
2225
+ description: "Costa Rica's first neobank, delivered through a React Native mobile app, AWS backend, partner-bank APIs, and biometrics."
2226
+ role: "Lead Engineer"
2227
+ tech:
2228
+ - TypeScript
2229
+ - AWS
2230
+ - Serverless
2231
+ - React Native
2232
+ - ReactJS
2233
+ - NodeJS
2234
+ - Biometrics
2235
+ - Docker
2236
+ type:
2237
+ - full-time
2238
+ - lead
2239
+ - featured
2240
+ - mobile
2241
+ - backend
2242
+ - fullstack
2243
+ - frontend
2244
+ - startup
2245
+ - institution
2246
+ link: "https://holawink.com"
2247
+ image: "https://gaboesquivel.com/images/work/wink.png"
2248
+
2249
+ video: "https://www.youtube.com/watch?v=rfeISMW_OVc"
2250
+ images: []
2251
+ achievements:
2252
+ - Developed the first version of Wink's mobile banking app.
2253
+ - Integrated partner-bank APIs so deposits, transfers, and account data could move through the app.
2254
+ - Built biometric KYC with a React Native native bridge.
2255
+ story:
2256
+ - "Wink is Costa Rica's first neobank: a mobile app for banking without a branch visit. I built the first version of the app and the AWS backend it depended on."
2257
+ - I chose the stack, planned the work, and coordinated partner-bank API integration. I also implemented biometric authentication so KYC and login did not need a branch visit.
2258
+ - Launch required forming a development team that did not exist yet.
2259
+ experienceCompany: "Wink"
2260
+ order: 18
2261
+ year: 2015
2262
+ ---
2263
+
2264
+ # Wink
2265
+
2266
+ Costa Rica's first neobank, delivered through a React Native mobile app, AWS backend, partner-bank APIs, and biometrics.
2267
+ `,
2268
+ markdownPath: "content/projects/wink.md"
2269
+ },
2270
+ {
2271
+ title: "Wizard World",
2272
+ slug: "wizard-world",
2273
+ description: "A Flow Hackathon PWA for generating images with OpenAI and minting them as NFTs through Niftory.",
2274
+ tech: [
2275
+ "NextJS",
2276
+ "ReactJS",
2277
+ "Flow",
2278
+ "Niftory",
2279
+ "OpenAI",
2280
+ "Tailwind",
2281
+ "NFT",
2282
+ "TypeScript"
2283
+ ],
2284
+ type: [
2285
+ "ai",
2286
+ "web3",
2287
+ "hackathon",
2288
+ "frontend"
2289
+ ],
2290
+ link: "https://wizart.world",
2291
+ image: "https://gaboesquivel.com/images/work/wizart-world.png",
2292
+ repo: "https://github.com/bitcashorg/wizartworld",
2293
+ video: "https://www.youtube.com/watch?v=I_vBUflXHFA",
2294
+ images: [],
2295
+ achievements: [
2296
+ "Developed a progressive web app integrating AI-generated images with blockchain minting.",
2297
+ "Implemented OpenAI's LLM models for AI-driven image creation and metadata processing.",
2298
+ "Minted generated images as NFTs on Flow through Niftory."
2299
+ ],
2300
+ story: [
2301
+ "Wizard World is a progressive web app that connects to OpenAI's LLM models to generate AI images and mint them on the Flow blockchain. We developed it for the Flow Hackathon 2022 with collaborators at bitcashorg.",
2302
+ "I worked on the app development, focusing on integrating OpenAI's models for image generation and implementing Flow blockchain functionality. The integration enables users to create images with AI and mint them as NFTs in a streamlined process."
2303
+ ],
2304
+ order: 15,
2305
+ year: 2022,
2306
+ markdown: `---
2307
+ title: "Wizard World"
2308
+ slug: "wizard-world"
2309
+ description: "A Flow Hackathon PWA for generating images with OpenAI and minting them as NFTs through Niftory."
2310
+ tech:
2311
+ - NextJS
2312
+ - ReactJS
2313
+ - Flow
2314
+ - Niftory
2315
+ - OpenAI
2316
+ - Tailwind
2317
+ - NFT
2318
+ - TypeScript
2319
+ type:
2320
+ - ai
2321
+ - web3
2322
+ - hackathon
2323
+ - frontend
2324
+ link: "https://wizart.world"
2325
+ image: "https://gaboesquivel.com/images/work/wizart-world.png"
2326
+ repo: "https://github.com/bitcashorg/wizartworld"
2327
+ video: "https://www.youtube.com/watch?v=I_vBUflXHFA"
2328
+ images: []
2329
+ achievements:
2330
+ - Developed a progressive web app integrating AI-generated images with blockchain minting.
2331
+ - Implemented OpenAI's LLM models for AI-driven image creation and metadata processing.
2332
+ - Minted generated images as NFTs on Flow through Niftory.
2333
+ story:
2334
+ - Wizard World is a progressive web app that connects to OpenAI's LLM models to generate AI images and mint them on the Flow blockchain. We developed it for the Flow Hackathon 2022 with collaborators at bitcashorg.
2335
+ - I worked on the app development, focusing on integrating OpenAI's models for image generation and implementing Flow blockchain functionality. The integration enables users to create images with AI and mint them as NFTs in a streamlined process.
2336
+ order: 15
2337
+ year: 2022
2338
+ ---
2339
+
2340
+ # Wizard World
2341
+
2342
+ A Flow Hackathon PWA for generating images with OpenAI and minting them as NFTs through Niftory.
2343
+ `,
2344
+ markdownPath: "content/projects/wizard-world.md"
2345
+ },
2346
+ {
2347
+ title: "ZTX",
2348
+ slug: "ztx",
2349
+ description: "A Web3 virtual world with cryptocurrency-backed digital assets, a WebGL wallet connection, and a Next.js experience.",
2350
+ role: "Software Engineer",
2351
+ tech: [
2352
+ "WebGL",
2353
+ "Ethereum",
2354
+ "Ethers",
2355
+ "NFT",
2356
+ "NodeJS",
2357
+ "ReactJS",
2358
+ "NextJS",
2359
+ "AWS",
2360
+ "Serverless",
2361
+ "Tailwind",
2362
+ "TypeScript"
2363
+ ],
2364
+ type: [
2365
+ "web3",
2366
+ "full-time",
2367
+ "featured",
2368
+ "frontend",
2369
+ "fullstack",
2370
+ "startup"
2371
+ ],
2372
+ link: "https://ztx.io",
2373
+ image: "https://gaboesquivel.com/images/work/ztx.png",
2374
+ video: "https://www.youtube.com/watch?v=h58y6UzZ7RA",
2375
+ images: [],
2376
+ achievements: [
2377
+ "Set up the initial React architecture using Next.js, TailwindCSS, and Framer Motion.",
2378
+ "Developed a WebGL EVM wallet connector using MetaMask, Ethers.js, and a custom JavaScript event system.",
2379
+ "Wired analytics through Google Tag Manager."
2380
+ ],
2381
+ story: [
2382
+ "ZTX is a Web3 virtual world with cryptocurrency-backed digital asset ownership. I built the React application that hosted the virtual-world experience.",
2383
+ "Signing and NFT trading had to happen without leaving the WebGL world, so the wallet session lived inside that surface rather than in a separate app chrome.",
2384
+ "The product is a consumer world with a live wallet session inside WebGL. I connected the Next.js experience to signing and NFT trading so the chain receded behind the screen."
2385
+ ],
2386
+ experienceCompany: "ZTX",
2387
+ order: 5,
2388
+ year: 2022,
2389
+ markdown: '---\ntitle: "ZTX"\nslug: "ztx"\ndescription: "A Web3 virtual world with cryptocurrency-backed digital assets, a WebGL wallet connection, and a Next.js experience."\nrole: "Software Engineer"\ntech:\n - WebGL\n - Ethereum\n - Ethers\n - NFT\n - NodeJS\n - ReactJS\n - NextJS\n - AWS\n - Serverless\n - Tailwind\n - TypeScript\ntype:\n - web3\n - full-time\n - featured\n - frontend\n - fullstack\n - startup\nlink: "https://ztx.io"\nimage: "https://gaboesquivel.com/images/work/ztx.png"\n\nvideo: "https://www.youtube.com/watch?v=h58y6UzZ7RA"\nimages: []\nachievements:\n - Set up the initial React architecture using Next.js, TailwindCSS, and Framer Motion.\n - Developed a WebGL EVM wallet connector using MetaMask, Ethers.js, and a custom JavaScript event system.\n - Wired analytics through Google Tag Manager.\nstory:\n - ZTX is a Web3 virtual world with cryptocurrency-backed digital asset ownership. I built the React application that hosted the virtual-world experience.\n - Signing and NFT trading had to happen without leaving the WebGL world, so the wallet session lived inside that surface rather than in a separate app chrome.\n - The product is a consumer world with a live wallet session inside WebGL. I connected the Next.js experience to signing and NFT trading so the chain receded behind the screen.\nexperienceCompany: "ZTX"\norder: 5\nyear: 2022\n---\n\n# ZTX\n\nA Web3 virtual world with cryptocurrency-backed digital assets, a WebGL wallet connection, and a Next.js experience.\n',
2390
+ markdownPath: "content/projects/ztx.md"
2391
+ }
2392
+ ];
2393
+
2394
+ // src/generated/tech.ts
2395
+ var techStack = [
2396
+ {
2397
+ name: "AI SDK",
2398
+ slug: "ai-sdk",
2399
+ tag: "AI SDK",
2400
+ image: "/images/tech/ai-sdk.png",
2401
+ description: "Vercel's TypeScript toolkit for streaming LLM responses, tool calling, and structured outputs in React and Node.js apps.",
2402
+ link: "https://ai-sdk.dev/",
2403
+ since: "2023",
2404
+ experience: [
2405
+ "Wired LegalAgent's chat UI to the Vercel AI SDK with streaming responses and tool calls for legal workflows.",
2406
+ "Built Bitlauncher's site chatbot with AI SDK tools for news, video, and structured product answers.",
2407
+ "Automated Masterbots and Bitlauncher locale copy generation with AI SDK prompt templates."
2408
+ ]
2409
+ },
2410
+ {
2411
+ name: "Alchemy",
2412
+ slug: "alchemy",
2413
+ tag: "Alchemy",
2414
+ image: "/images/tech/alchemy.png",
2415
+ description: "Managed Ethereum RPC, webhooks, and developer APIs for reliable chain reads, writes, and indexing workloads.",
2416
+ link: "https://www.alchemy.com/",
2417
+ since: "2020",
2418
+ experience: [
2419
+ "Routed Opyn's Arbitrum Testnet reads and writes through Alchemy RPC endpoints behind Viem clients.",
2420
+ "Used Alchemy as the node provider layer for Bitlauncher EVM indexing and wallet interactions."
2421
+ ]
2422
+ },
2423
+ {
2424
+ name: "AngularJS",
2425
+ slug: "angularjs",
2426
+ tag: "AngularJS",
2427
+ image: "/images/tech/angularjs.png",
2428
+ description: "SPA framework for subscription apps, flight-information dashboards, and fitness trackers in early full-stack products.",
2429
+ link: "https://angularjs.org/",
2430
+ since: "2018",
2431
+ experience: [
2432
+ "Built Eat Arcade's full-stack subscription app with AngularJS, Node.js, and MongoDB on Heroku.",
2433
+ "Connected ARINC Microfids' AngularJS frontend to a Ruby on Rails backend for live flight boards.",
2434
+ "Developed the 4Tius Fitness Data Tracker dashboard with AngularJS and secure API endpoints."
2435
+ ]
2436
+ },
2437
+ {
2438
+ name: "Antelope",
2439
+ slug: "antelope",
2440
+ tag: "Antelope",
2441
+ image: "/images/tech/antelope.png",
2442
+ description: "High-throughput chain protocol behind exchange backends, GraphQL indexers, multichain auctions, and music marketplaces.",
2443
+ link: "https://antelope.io/",
2444
+ since: "2018",
2445
+ experience: [
2446
+ "Built Bitcash's peer-to-peer exchange, chat, and EOS indexer on Antelope infrastructure with Node.js services.",
2447
+ "Indexed Antelope chain data for ChainGraph's open-source GraphQL toolkit.",
2448
+ "Shipped Bitlauncher's multichain auction product with Antelope and EOS EVM contract deployments.",
2449
+ "Delivered Emanate's music marketplace against Antelope accounts and contract APIs."
2450
+ ]
2451
+ },
2452
+ {
2453
+ name: "Artificial Intelligence",
2454
+ slug: "artificial-intelligence",
2455
+ tag: "Artificial Intelligence",
2456
+ image: "/images/tech/artificial-intelligence.png",
2457
+ description: "Production AI assistants with retrieval, chat, voice, and automated localization across legal and domain-specific products.",
2458
+ link: "https://ai-sdk.dev/",
2459
+ since: "2023",
2460
+ experience: [
2461
+ "Shipped LegalAgent as a multimodal legal assistant combining retrieval, chat, and voice models for lawyers.",
2462
+ "Built Bitlauncher's domain chatbot and template-driven internationalization with model-backed content generation.",
2463
+ "Structured Masterbots around specialized AI assistants with automated localization across product surfaces."
2464
+ ],
2465
+ featuredOrder: 2
2466
+ },
2467
+ {
2468
+ name: "AWS",
2469
+ slug: "aws",
2470
+ tag: "AWS",
2471
+ image: "/images/tech/aws.png",
2472
+ description: "Cloud infrastructure for neobank backends, virtual-world services, token marketplaces, and image processing workloads.",
2473
+ link: "https://aws.amazon.com/",
2474
+ since: "2015",
2475
+ experience: [
2476
+ "Built Wink's serverless AWS backend for partner-bank API integration and the neobank mobile app.",
2477
+ "Deployed ZTX's Next.js virtual-world and wallet services on AWS during early product development.",
2478
+ "Led Knowledge.io's serverless AWS infrastructure for the token, marketplace, and wallet services.",
2479
+ "Ran Photo and Go image storage and processing workloads on AWS for the commerce editor."
2480
+ ]
2481
+ },
2482
+ {
2483
+ name: "Biometrics",
2484
+ slug: "biometrics",
2485
+ tag: "Biometrics",
2486
+ image: "/images/tech/biometrics.png",
2487
+ description: "Device-bound identity verification for Wink neobank login and Bitcash exchange authentication.",
2488
+ link: "https://fidoalliance.org/fido2/",
2489
+ since: "2020",
2490
+ experience: [
2491
+ "Implemented biometric authentication on Wink so KYC and login worked without a branch visit.",
2492
+ "Integrated biometric verification into Bitcash's exchange alongside WebAuthn transaction signing."
2493
+ ]
2494
+ },
2495
+ {
2496
+ name: "Blockchain",
2497
+ slug: "blockchain",
2498
+ tag: "Blockchain",
2499
+ image: "/images/tech/blockchain.png",
2500
+ description: "On-chain products and indexer systems across EVM chains and Antelope, from token launches to exchange backends and open-source tooling.",
2501
+ link: "https://ethereum.org/en/developers/docs/",
2502
+ since: "2017",
2503
+ experience: [
2504
+ "Shipped DeFi, NFT, and token products on Ethereum and EVM chains for Knowledge.io, RareMint, Opyn, and Bitlauncher.",
2505
+ "Built Antelope-based exchange and indexer systems for Bitcash and ChainGraph with on-chain accounts, contracts, and live chain data.",
2506
+ "Contributed open-source blockchain tooling including ChainGraph and Substrate Contracts UI."
2507
+ ],
2508
+ featuredOrder: 1
2509
+ },
2510
+ {
2511
+ name: "Bootstrap",
2512
+ slug: "bootstrap",
2513
+ tag: "Bootstrap",
2514
+ image: "/images/tech/bootstrap.png",
2515
+ description: "Responsive grid toolkit for energy dashboards, WordPress sites, and early subscription web apps.",
2516
+ link: "https://getbootstrap.com/",
2517
+ since: "2018",
2518
+ experience: [
2519
+ "Built Gridium's energy-analytics prototype with Bootstrap for the chart dashboard layout.",
2520
+ "Structured Capoeira Abolicao's WordPress promotional site with Bootstrap responsive grids.",
2521
+ "Laid out Eat Arcade's restaurant subscription web app with Bootstrap alongside AngularJS."
2522
+ ]
2523
+ },
2524
+ {
2525
+ name: "Content Management Systems",
2526
+ slug: "cms",
2527
+ tag: "CMS",
2528
+ image: "/images/tech/cms.png",
2529
+ description: "Custom CMS for ITS InfoCom's corporate site, including CRM integration.",
2530
+ link: "https://wordpress.org/",
2531
+ since: "2009",
2532
+ experience: [
2533
+ "Built ITS InfoCom's corporate website and custom CMS with CRM integration at IntergraphiDesign."
2534
+ ]
2535
+ },
2536
+ {
2537
+ name: "C++",
2538
+ slug: "cpp",
2539
+ tag: "C++",
2540
+ image: "/images/tech/cpp.png",
2541
+ description: "Performance-critical indexing and EOSIO node software for exchange backends, validators, and onchain rating contracts.",
2542
+ link: "https://isocpp.org/",
2543
+ since: "2018",
2544
+ experience: [
2545
+ "Wrote C++ indexing services at Bitcash for realtime EOS blockchain data deserialization.",
2546
+ "Built EOS Costa Rica validator and private-chain infrastructure with C++ EOSIO node software.",
2547
+ "Implemented onchain rating storage for EOS Rate with C++ smart contract logic on EOSIO."
2548
+ ]
2549
+ },
2550
+ {
2551
+ name: "CSS",
2552
+ slug: "css",
2553
+ tag: "CSS",
2554
+ image: "/images/tech/css.png",
2555
+ description: "Layout and responsive styling for ecommerce navigation, energy dashboards, and early client marketing sites.",
2556
+ link: "https://developer.mozilla.org/en-US/docs/Web/CSS",
2557
+ since: "2009",
2558
+ experience: [
2559
+ "Rebuilt Staples' ecommerce navigation and responsive UI components for smaller screens.",
2560
+ "Styled Gridium's energy-analytics charts and dashboard for readable consumption data.",
2561
+ "Laid out Capoeira Abolicao's WordPress site with responsive CSS and Bootstrap grids."
2562
+ ]
2563
+ },
2564
+ {
2565
+ name: "Data Charts",
2566
+ slug: "data-charts",
2567
+ tag: "Data Charts",
2568
+ image: "/images/tech/data-charts.png",
2569
+ description: "Interactive energy-consumption visualizations for Gridium's commercial-building monitoring dashboard.",
2570
+ link: "https://www.chartjs.org/",
2571
+ since: "2018",
2572
+ experience: [
2573
+ "Built Gridium's interactive energy-consumption charts for real-time commercial-building monitoring."
2574
+ ]
2575
+ },
2576
+ {
2577
+ name: "DatoCMS",
2578
+ slug: "datocms",
2579
+ tag: "DatoCMS",
2580
+ image: "/images/tech/datocms.png",
2581
+ description: "Headless CMS option for structured editorial content in content-driven web applications.",
2582
+ link: "https://www.datocms.com/",
2583
+ since: "2020",
2584
+ experience: []
2585
+ },
2586
+ {
2587
+ name: "Docker",
2588
+ slug: "docker",
2589
+ tag: "Docker",
2590
+ image: "/images/tech/docker.png",
2591
+ description: "Container packaging and orchestration for consistent local development, CI builds, and production deployments.",
2592
+ link: "https://www.docker.com/",
2593
+ since: "2013",
2594
+ experience: [
2595
+ "Containerized ChainGraph's GraphQL indexer and supporting services for repeatable deployments.",
2596
+ "Packaged Photo and Go's application stack in Docker for staging and production releases.",
2597
+ "Used Docker in Masterbots and Bitlauncher pipelines to align dev and cloud environments."
2598
+ ],
2599
+ featuredOrder: 12
2600
+ },
2601
+ {
2602
+ name: "Ethereum",
2603
+ slug: "ethereum",
2604
+ tag: "Ethereum",
2605
+ image: "/images/tech/ethereum.png",
2606
+ description: "EVM contracts and deployments behind token products, NFT marketplaces, options protocols, and cross-chain auction systems.",
2607
+ link: "https://ethereum.org/",
2608
+ since: "2017",
2609
+ experience: [
2610
+ "Deployed Knowledge.io token and marketplace contracts on Ethereum mainnet and test networks.",
2611
+ "Shipped RareMint's NFT marketplace and Opyn's options protocol on Arbitrum-compatible EVM chains.",
2612
+ "Ran Gnosis auction contracts on EOS EVM for Bitlauncher batch sales with uniform clearing prices."
2613
+ ],
2614
+ featuredOrder: 3
2615
+ },
2616
+ {
2617
+ name: "Ethers.js",
2618
+ slug: "ethersjs",
2619
+ tag: "Ethers",
2620
+ image: "/images/tech/ethersjs.png",
2621
+ description: "A compact JavaScript library for Ethereum wallets, providers, and contract calls before the Viem/Wagmi stack.",
2622
+ link: "https://docs.ethers.org/",
2623
+ since: "2017",
2624
+ experience: [
2625
+ "Built ZTX's WebGL wallet connector with Ethers.js so players signed NFT trades inside the metaverse client.",
2626
+ "Ran RareMint's Polygon marketplace minting and ownership flows through Ethers.js contract interfaces.",
2627
+ "Indexed RareMint NFT transfers with Moralis streams, Node.js, and Ethers.js event parsing.",
2628
+ "Led Knowledge.io's 2018 ERC-20 ICO contract interactions with Ethers.js providers and wallets."
2629
+ ]
2630
+ },
2631
+ {
2632
+ name: "Expo",
2633
+ slug: "expo",
2634
+ tag: "Expo",
2635
+ image: "/images/tech/expo.png",
2636
+ description: "React Native toolchain for LegalAgent's voice assistant and Flow Hackathon game builds.",
2637
+ link: "https://expo.dev/",
2638
+ since: "2017",
2639
+ experience: [
2640
+ "Shipped LegalAgent's bilingual voice and chat assistant on Expo with OpenAI Realtime API integration.",
2641
+ "Built Fantasy Top Shots for the Flow Hackathon with Expo, wiring NBA Top Shot NFTs into gameplay."
2642
+ ]
2643
+ },
2644
+ {
2645
+ name: "Faye",
2646
+ slug: "faye",
2647
+ tag: "Faye",
2648
+ image: "/images/tech/faye.png",
2649
+ description: "Pub-sub messaging for live flight updates on ARINC Microfids' AngularJS airport display boards.",
2650
+ link: "https://faye.jcoglan.com/",
2651
+ since: "2009",
2652
+ experience: [
2653
+ "Pushed live flight updates to ARINC Microfids' AngularJS boards with Faye pub-sub messaging."
2654
+ ]
2655
+ },
2656
+ {
2657
+ name: "Foundry",
2658
+ slug: "foundry",
2659
+ tag: "Foundry",
2660
+ image: "/images/tech/foundry.png",
2661
+ description: "A Rust-based Ethereum toolkit for compiling, testing, and deploying Solidity with fast fuzzing and fork simulations.",
2662
+ link: "https://getfoundry.sh/",
2663
+ since: "2024",
2664
+ experience: [
2665
+ "Tested and deployed Opyn's options protocol Solidity to Arbitrum Testnet with Foundry scripts and forge tests."
2666
+ ]
2667
+ },
2668
+ {
2669
+ name: "GCP",
2670
+ slug: "gcloud",
2671
+ tag: "GCP",
2672
+ image: "/images/tech/gcloud.png",
2673
+ description: "Google Cloud compute, storage, and managed services for APIs, indexers, databases, and containerized workloads.",
2674
+ link: "https://cloud.google.com/",
2675
+ since: "2018",
2676
+ experience: [
2677
+ "Hosted Bitcash's React, Node.js, PostgreSQL, and EOS indexer stack on Google Cloud with worker-thread deserialization.",
2678
+ "Ran RareMint's NFT indexer APIs and Polygon data pipelines on GCP infrastructure.",
2679
+ "Deployed ChainGraph services and Bitlauncher's backend workloads on Google Cloud."
2680
+ ],
2681
+ featuredOrder: 11
2682
+ },
2683
+ {
2684
+ name: "GraphQL",
2685
+ slug: "graphql",
2686
+ tag: "GraphQL",
2687
+ image: "/images/tech/graphql.png",
2688
+ description: "Typed API layer for blockchain subscriptions, exchange data, onchain ratings, and marketplace services.",
2689
+ link: "https://graphql.org/",
2690
+ since: "2015",
2691
+ experience: [
2692
+ "Built ChainGraph's real-time GraphQL subscription toolkit for EOSIO and Antelope blockchain data.",
2693
+ "Exposed Bitcash's indexed EOS trading data through GraphQL APIs over Hasura and PostgreSQL.",
2694
+ "Developed EOS Rate's GraphQL API for reading onchain block-producer ratings and comparison UI.",
2695
+ "Integrated Knowledge.io marketplace and wallet services with GraphQL in the serverless AWS stack."
2696
+ ]
2697
+ },
2698
+ {
2699
+ name: "Hardhat",
2700
+ slug: "hardhat",
2701
+ tag: "Hardhat",
2702
+ image: "/images/tech/hardhat.png",
2703
+ description: "Solidity compile and test environment for Bitlauncher auction contracts before EOS EVM deployment.",
2704
+ link: "https://hardhat.org/",
2705
+ since: "2020",
2706
+ experience: [
2707
+ "Compiled and tested Bitlauncher's Solidity auction contracts with Hardhat before EOS EVM deployment."
2708
+ ]
2709
+ },
2710
+ {
2711
+ name: "Heroku",
2712
+ slug: "heroku",
2713
+ tag: "Heroku",
2714
+ image: "/images/tech/heroku.png",
2715
+ description: "Hosted deployments for subscription apps, Rails backends, restaurant sites, and early ecommerce prototypes.",
2716
+ link: "https://www.heroku.com/",
2717
+ since: "2018",
2718
+ experience: [
2719
+ "Deployed Eat Arcade's Node.js, MongoDB, and AngularJS subscription app on Heroku with Stripe and Twilio.",
2720
+ "Hosted ARINC Microfids' Ruby on Rails flight-information backend on Heroku for hotel and airport displays.",
2721
+ "Deployed Tikr's Spree and Ruby on Rails dynamic-pricing store on Heroku with PostgreSQL."
2722
+ ]
2723
+ },
2724
+ {
2725
+ name: "JavaScript",
2726
+ slug: "javascript",
2727
+ tag: "JavaScript",
2728
+ image: "/images/tech/javascript.png",
2729
+ description: "Client and server scripting for community platforms, ecommerce navigation, energy dashboards, and early full-stack products.",
2730
+ link: "https://developer.mozilla.org/en-US/docs/Web/JavaScript",
2731
+ since: "2009",
2732
+ experience: [
2733
+ "Founded Costa Rica JS in 2010 and grew the community past 2,000 developers through meetups, NodeSchool, and JSConf.",
2734
+ "Built Elder Scrolls Online's official community site with JavaScript for news, guides, and forum navigation.",
2735
+ "Rebuilt Staples' ecommerce navigation and responsive UI components with JavaScript.",
2736
+ "Built Gridium's energy-analytics prototype with JavaScript-driven interactive charts."
2737
+ ]
2738
+ },
2739
+ {
2740
+ name: "LESS",
2741
+ slug: "less",
2742
+ tag: "LESS",
2743
+ image: "/images/tech/less.png",
2744
+ description: "CSS preprocessor for ARINC Microfids' AngularJS flight-information display styling.",
2745
+ link: "https://lesscss.org/",
2746
+ since: "2009",
2747
+ experience: [
2748
+ "Styled ARINC Microfids' AngularJS flight-information displays with LESS alongside Faye real-time updates."
2749
+ ]
2750
+ },
2751
+ {
2752
+ name: "MongoDB",
2753
+ slug: "mongodb",
2754
+ tag: "MongoDB",
2755
+ image: "/images/tech/mongodb.png",
2756
+ description: "Document store for subscription delivery data and Fitbit-connected fitness metrics behind secure APIs.",
2757
+ link: "https://www.mongodb.com/",
2758
+ since: "2018",
2759
+ experience: [
2760
+ "Stored Eat Arcade's restaurant subscription and SMS delivery data in MongoDB on Heroku.",
2761
+ "Persisted 4Tius Fitness Data Tracker metrics in MongoDB behind a secure API on AWS."
2762
+ ]
2763
+ },
2764
+ {
2765
+ name: "MooTools",
2766
+ slug: "mootools",
2767
+ tag: "Mootools",
2768
+ image: "/images/tech/mootools.png",
2769
+ description: "JavaScript framework for responsive medical landing pages in early client work.",
2770
+ link: "https://mootools.net/",
2771
+ since: "2009",
2772
+ experience: [
2773
+ "Built Trivenzor's responsive medical information landing page with MooTools for patients and clinicians."
2774
+ ]
2775
+ },
2776
+ {
2777
+ name: "Next.js",
2778
+ slug: "nextjs",
2779
+ tag: "NextJS",
2780
+ image: "/images/tech/nextjs.png",
2781
+ description: "Full-stack React framework for trading apps, auction platforms, AI assistants, and virtual-world experiences with SSR and server components.",
2782
+ link: "https://nextjs.org/",
2783
+ since: "2016",
2784
+ experience: [
2785
+ "Shipped Opyn's trading app on Next.js 14 with React Server Components over Ponder-indexed chain data.",
2786
+ "Ran Bitlauncher's auction platform on Next.js 14 with live chain updates through Supabase subscriptions.",
2787
+ "Built Masterbots on Next.js with the AI SDK for domain-specific assistants and automated internationalization.",
2788
+ "Delivered ZTX's web experience on Next.js with embedded WebGL wallet connection for NFT trading."
2789
+ ],
2790
+ featuredOrder: 9
2791
+ },
2792
+ {
2793
+ name: "NFT",
2794
+ slug: "nft",
2795
+ tag: "NFT",
2796
+ image: "/images/tech/nft.png",
2797
+ description: "On-chain collectibles in Polygon marketplaces, virtual-world commerce, and hackathon minting flows.",
2798
+ link: "https://ethereum.org/en/developers/docs/standards/tokens/erc-721/",
2799
+ since: "2022",
2800
+ experience: [
2801
+ "Built RareMint's Polygon marketplace for minting, listing, and trading ERC-721 collectibles.",
2802
+ "Connected ZTX's in-world commerce to NFT inventory and wallet signing for player-owned items.",
2803
+ "Minted Wizard World hackathon assets on Flow after OpenAI image generation in the PWA."
2804
+ ]
2805
+ },
2806
+ {
2807
+ name: "Niftory",
2808
+ slug: "niftory",
2809
+ tag: "Niftory",
2810
+ image: "/images/tech/niftory.png",
2811
+ description: "Flow NFT minting infrastructure for Wizard World hackathon assets generated with OpenAI image models.",
2812
+ link: "https://niftory.com/",
2813
+ since: "2022",
2814
+ experience: [
2815
+ "Minted Wizard World AI-generated images as Flow NFTs through Niftory during the Flow Hackathon."
2816
+ ]
2817
+ },
2818
+ {
2819
+ name: "Node.js",
2820
+ slug: "nodejs",
2821
+ tag: "NodeJS",
2822
+ image: "/images/tech/nodejs.png",
2823
+ description: "Server runtime for EVM indexers, Antelope workers, exchange backends, and serverless API functions in production systems.",
2824
+ link: "https://nodejs.org/",
2825
+ since: "2009",
2826
+ experience: [
2827
+ "Indexed Bitlauncher EVM events in Node.js with Viem subscriptions and wrote auction state to PostgreSQL.",
2828
+ "Streamed Antelope blocks into ChainGraph's GraphQL layer with Node.js workers and PostgreSQL storage.",
2829
+ "Ran Bitcash's matching engine, realtime chat, and EOS indexer services on Node.js.",
2830
+ "Deployed Knowledge.io token and marketplace logic as serverless Node.js functions."
2831
+ ],
2832
+ featuredOrder: 10
2833
+ },
2834
+ {
2835
+ name: "nuqs",
2836
+ slug: "nuqs",
2837
+ tag: "nuqs",
2838
+ image: "/images/tech/nuqs.png",
2839
+ description: "URL state synchronization for auction filters, trading views, and shareable assistant pages on Next.js.",
2840
+ link: "https://nuqs.47ng.com/",
2841
+ since: "2023",
2842
+ experience: [
2843
+ "Synced Bitlauncher's auction filters and wallet views with URL state through nuqs on Next.js.",
2844
+ "Managed Opyn's trading interface URL state with nuqs alongside TanStack Query and Zod validation.",
2845
+ "Wired Masterbots' assistant views to shareable URL parameters with nuqs on Next.js."
2846
+ ]
2847
+ },
2848
+ {
2849
+ name: "OpenAI",
2850
+ slug: "openai",
2851
+ tag: "OpenAI",
2852
+ image: "/images/tech/openai.png",
2853
+ description: "APIs and models for chat, embeddings, image generation, and realtime voice used in production assistant products.",
2854
+ link: "https://openai.com/",
2855
+ since: "2022",
2856
+ experience: [
2857
+ "Integrated OpenAI Realtime voice in LegalAgent's multimodal assistant for spoken legal intake and responses.",
2858
+ "Powered Bitlauncher's public chatbot and Masterbots domain assistants with OpenAI chat models.",
2859
+ "Used DALL\xB7E in Wizard World to generate images that players minted as Flow NFTs during the hackathon build."
2860
+ ]
2861
+ },
2862
+ {
2863
+ name: "Ponder",
2864
+ slug: "ponder",
2865
+ tag: "Ponder",
2866
+ image: "/images/tech/ponder.png",
2867
+ description: "On-chain event indexer that persists options chain data to PostgreSQL for Opyn's Next.js trading interface.",
2868
+ link: "https://ponder.sh/",
2869
+ since: "2024",
2870
+ experience: [
2871
+ "Ran Ponder for Opyn on Arbitrum Testnet, persisting options chain data in PostgreSQL for the Next.js trading UI."
2872
+ ]
2873
+ },
2874
+ {
2875
+ name: "PostgreSQL",
2876
+ slug: "postgresql",
2877
+ tag: "PostgreSQL",
2878
+ image: "/images/tech/postgresql.png",
2879
+ description: "Relational store for auction indexing, options chain data, exchange backends, and blockchain subscription pipelines.",
2880
+ link: "https://www.postgresql.org/",
2881
+ since: "2012",
2882
+ experience: [
2883
+ "Indexed Bitlauncher auction and transaction data in PostgreSQL through Supabase.",
2884
+ "Stored Opyn's Ponder-indexed options chain data in PostgreSQL via Supabase.",
2885
+ "Ran Bitcash's peer-to-peer exchange, chat, and EOS indexer on PostgreSQL with Hasura.",
2886
+ "Persisted ChainGraph blockchain subscription data in PostgreSQL for GraphQL queries."
2887
+ ]
2888
+ },
2889
+ {
2890
+ name: "Ruby on Rails",
2891
+ slug: "rails",
2892
+ tag: "Ruby on Rails",
2893
+ image: "/images/tech/rails.png",
2894
+ description: "Full-stack framework for dynamic pricing stores and flight-information backends feeding AngularJS frontends.",
2895
+ link: "https://rubyonrails.org/",
2896
+ since: "2009",
2897
+ experience: [
2898
+ "Built Tikr's dynamic pricing engine on Spree and Ruby on Rails with PostgreSQL on Heroku.",
2899
+ "Developed ARINC Microfids' flight-information backend in Ruby on Rails, feeding live data to AngularJS."
2900
+ ]
2901
+ },
2902
+ {
2903
+ name: "React Native",
2904
+ slug: "react-native",
2905
+ tag: "React Native",
2906
+ image: "/images/tech/react-native.png",
2907
+ description: "Cross-platform mobile for neobank apps, AI assistants, retail AR previews, and hackathon game builds.",
2908
+ link: "https://reactnative.dev/",
2909
+ since: "2015",
2910
+ experience: [
2911
+ "Built LegalAgent's multimodal AI assistant with voice and chat interfaces in React Native and Expo.",
2912
+ "Shipped the first version of Wink, Costa Rica's neobank mobile app, on React Native with partner-bank API integration.",
2913
+ "Added ViroAR product previews to the Tractor Supply retail app on their existing React Native codebase.",
2914
+ "Built Fantasy Top Shots as a Flow Hackathon game with React Native, Expo, and NBA Top Shot NFT rosters."
2915
+ ]
2916
+ },
2917
+ {
2918
+ name: "React",
2919
+ slug: "reactjs",
2920
+ tag: "ReactJS",
2921
+ image: "/images/tech/reactjs.png",
2922
+ description: "Component model for web UIs across trading interfaces, admin dashboards, and marketplace screens in Next.js and standalone apps.",
2923
+ link: "https://react.dev/",
2924
+ since: "2013",
2925
+ experience: [
2926
+ "Composed Opyn's options trading views with React Server Components over Ponder-indexed chain data.",
2927
+ "Composed Bitlauncher's live auction and wallet screens with React state fed by Supabase realtime channels.",
2928
+ "Implemented LegalAgent's admin dashboards in React with Microsoft SSO and document management flows.",
2929
+ "Refactored RareMint's marketplace UI during a Next.js SSR performance pass with component-level code splitting.",
2930
+ "Shipped ZTX's Next.js shell that embeds WebGL wallet flows for in-world NFT trading."
2931
+ ],
2932
+ featuredOrder: 8
2933
+ },
2934
+ {
2935
+ name: "Redis",
2936
+ slug: "redis",
2937
+ tag: "Redis",
2938
+ image: "/images/tech/redis.png",
2939
+ description: "In-memory layer in LegalAgent's production stack alongside the React Native assistant and admin services.",
2940
+ link: "https://redis.io/",
2941
+ since: "2015",
2942
+ experience: [
2943
+ "LegalAgent's production stack includes Redis alongside the React Native assistant and admin services."
2944
+ ]
2945
+ },
2946
+ {
2947
+ name: "Redux",
2948
+ slug: "redux",
2949
+ tag: "Redux",
2950
+ image: "/images/tech/redux.png",
2951
+ description: "Shared application state for retail AR features and photo editor commerce workflows in React Native and web apps.",
2952
+ link: "https://redux.js.org/",
2953
+ since: "2016",
2954
+ experience: [
2955
+ "Managed shared state in the Tractor Supply React Native app with Redux during performance and AR feature work.",
2956
+ "Led Photo and Go's photo editor state with Redux, connecting the custom editor to the commerce backend."
2957
+ ]
2958
+ },
2959
+ {
2960
+ name: "RxJS",
2961
+ slug: "rxjs",
2962
+ tag: "RXJS",
2963
+ image: "/images/tech/rxjs.png",
2964
+ description: "Reactive streams for ChainGraph's real-time blockchain data subscriptions over EOSIO and Antelope networks.",
2965
+ link: "https://rxjs.dev/",
2966
+ since: "2020",
2967
+ experience: [
2968
+ "Built ChainGraph's real-time blockchain data streaming with RxJS Observables over EOSIO and Antelope networks."
2969
+ ]
2970
+ },
2971
+ {
2972
+ name: "Serverless",
2973
+ slug: "serverless",
2974
+ tag: "Serverless",
2975
+ image: "/images/tech/serverless.png",
2976
+ description: "AWS Lambda execution for neobank backends, virtual-world services, and token marketplace APIs.",
2977
+ link: "https://www.serverless.com/",
2978
+ since: "2015",
2979
+ experience: [
2980
+ "Built Wink's AWS serverless backend for partner-bank API integration and mobile app services.",
2981
+ "Deployed ZTX's Next.js and wallet services on AWS serverless infrastructure during early product development.",
2982
+ "Led Knowledge.io's serverless AWS stack for the ERC-20 token, marketplace, and wallet services."
2983
+ ]
2984
+ },
2985
+ {
2986
+ name: "shadcn/ui",
2987
+ slug: "shadcn",
2988
+ tag: "ShadcnUI",
2989
+ image: "/images/tech/shadcn.png",
2990
+ description: "Accessible React component layer for options trading, auction screens, and AI assistant interfaces on Next.js.",
2991
+ link: "https://ui.shadcn.com/",
2992
+ since: "2021",
2993
+ experience: [
2994
+ "Built Opyn's options trading interface with shadcn/ui components on Radix UI and Tailwind CSS.",
2995
+ "Composed Bitlauncher's auction, wallet, and bidding screens from shadcn/ui on Next.js 14.",
2996
+ "Structured Masterbots' assistant interfaces with shadcn/ui as the shared component layer."
2997
+ ]
2998
+ },
2999
+ {
3000
+ name: "Solidity",
3001
+ slug: "solidity",
3002
+ tag: "Solidity",
3003
+ image: "/images/tech/solidity.png",
3004
+ description: "Smart contract language for EVM auction systems, options protocols, and token deployments tested with Foundry.",
3005
+ link: "https://soliditylang.org/",
3006
+ since: "2017",
3007
+ experience: [
3008
+ "Authored Gnosis auction Solidity for Bitlauncher on EOS EVM with batch bidding and uniform pricing rules.",
3009
+ "Wrote Opyn options protocol contracts for Arbitrum Testnet, tested and deployed with Foundry.",
3010
+ "Delivered ERC-20 token contracts for Knowledge.io's 2018 mainnet ICO."
3011
+ ],
3012
+ featuredOrder: 4
3013
+ },
3014
+ {
3015
+ name: "Stitches",
3016
+ slug: "stitches",
3017
+ tag: "Stitches",
3018
+ image: "/images/tech/stitches.png",
3019
+ description: "CSS-in-JS styling for Bitcash's React exchange interface alongside Zustand client state.",
3020
+ link: "https://stitches.dev/",
3021
+ since: "2021",
3022
+ experience: [
3023
+ "Styled Bitcash's React exchange interface with Stitches alongside Zustand for client state."
3024
+ ]
3025
+ },
3026
+ {
3027
+ name: "Stripe",
3028
+ slug: "stripe",
3029
+ tag: "Stripe",
3030
+ image: "/images/tech/stripe.png",
3031
+ description: "Checkout and subscription payments for Eat Arcade's SMS restaurant service on Heroku.",
3032
+ link: "https://stripe.com/",
3033
+ since: "2018",
3034
+ experience: [
3035
+ "Integrated Stripe checkout into Eat Arcade's SMS restaurant subscription service on Heroku."
3036
+ ]
3037
+ },
3038
+ {
3039
+ name: "Supabase",
3040
+ slug: "supabase",
3041
+ tag: "Supabase",
3042
+ image: "/images/tech/supabase.png",
3043
+ description: "PostgreSQL-backed realtime layer for auction indexing, options data, and QR signature flows in Web3 products.",
3044
+ link: "https://supabase.io/",
3045
+ since: "2022",
3046
+ experience: [
3047
+ "Architected Bitlauncher on Supabase for transaction indexing, real-time auction subscriptions, and data aggregation.",
3048
+ "Indexed Opyn's onchain options data in PostgreSQL through Supabase alongside Ponder.",
3049
+ "Used Supabase subscriptions and webhooks on Bitcash for QR-based signature request flows."
3050
+ ]
3051
+ },
3052
+ {
3053
+ name: "Tailwind CSS",
3054
+ slug: "tailwind",
3055
+ tag: "Tailwind",
3056
+ image: "/images/tech/tailwind.png",
3057
+ description: "Utility-first styling for trading interfaces, AI dashboards, virtual-world shells, and marketplace UIs across Next.js and React apps.",
3058
+ link: "https://tailwindcss.com/",
3059
+ since: "2022",
3060
+ experience: [
3061
+ "Set up ZTX's Next.js architecture with Tailwind CSS and Framer Motion for the virtual-world experience.",
3062
+ "Implemented Opyn's trading interface with shadcn/ui components styled through Tailwind CSS.",
3063
+ "Styled LegalAgent's admin dashboard and multimodal assistant UI with Tailwind CSS.",
3064
+ "Composed Bitlauncher's auction and wallet screens with Tailwind on Next.js 14."
3065
+ ]
3066
+ },
3067
+ {
3068
+ name: "TanStack Form",
3069
+ slug: "tanstack-form",
3070
+ tag: "TanStack Form",
3071
+ image: "/images/tech/tanstack-form.png",
3072
+ description: "Headless form layer for LegalAgent's document categorization and system prompt management in the admin dashboard.",
3073
+ link: "https://tanstack.com/form/latest",
3074
+ since: "2022",
3075
+ experience: [
3076
+ "Built LegalAgent's admin forms for document categorization and system prompt management with TanStack Form."
3077
+ ]
3078
+ },
3079
+ {
3080
+ name: "TanStack Query",
3081
+ slug: "tanstack-query",
3082
+ tag: "TanStack Query",
3083
+ image: "/images/tech/tanstack-query.png",
3084
+ description: "Server data caching for RAG assistants, auction platforms, options trading, and chatbot interfaces on Next.js.",
3085
+ link: "https://tanstack.com/query/latest",
3086
+ since: "2021",
3087
+ experience: [
3088
+ "Wired LegalAgent's RAG-backed assistant and admin dashboard data layer with TanStack Query.",
3089
+ "Cached Bitlauncher's auction and wallet data with TanStack Query over Supabase and chain RPCs.",
3090
+ "Managed Opyn's indexed options data fetching with TanStack Query alongside Ponder and PostgreSQL.",
3091
+ "Structured Masterbots' assistant and chatbot data flows with TanStack Query on Next.js."
3092
+ ]
3093
+ },
3094
+ {
3095
+ name: "TanStack Start",
3096
+ slug: "tanstack-start",
3097
+ tag: "TanStack Start",
3098
+ image: "/images/tech/tanstack-start.png",
3099
+ description: "Full-stack React framework with file-based routing and server functions for LegalAgent's admin dashboard and document workflows.",
3100
+ link: "https://tanstack.com/start/latest",
3101
+ since: "2023",
3102
+ experience: [
3103
+ "Built LegalAgent's internal admin dashboard with TanStack Start, including Microsoft SSO and RAG document management."
3104
+ ]
3105
+ },
3106
+ {
3107
+ name: "Terraform",
3108
+ slug: "terraform",
3109
+ tag: "Terraform",
3110
+ image: "/images/tech/terraform.png",
3111
+ description: "Infrastructure-as-code for provisioning private EOSIO blockchains on Azure at EOS Costa Rica.",
3112
+ link: "https://www.terraform.io/",
3113
+ since: "2019",
3114
+ experience: [
3115
+ "Provisioned Grant Thornton's private EOSIO blockchain on Azure with Terraform at EOS Costa Rica."
3116
+ ]
3117
+ },
3118
+ {
3119
+ name: "Trigger.dev",
3120
+ slug: "trigger",
3121
+ tag: "Trigger",
3122
+ image: "/images/tech/trigger.png",
3123
+ description: "Background job runner for Bitlauncher's auction indexing and processing alongside the Next.js platform.",
3124
+ link: "https://trigger.dev/",
3125
+ since: "2023",
3126
+ experience: [
3127
+ "Ran Bitlauncher's background indexing and auction processing jobs on Trigger.dev alongside the Next.js platform."
3128
+ ]
3129
+ },
3130
+ {
3131
+ name: "Twilio",
3132
+ slug: "twilio",
3133
+ tag: "Twilio",
3134
+ image: "/images/tech/twilio.png",
3135
+ description: "SMS delivery for Eat Arcade's restaurant subscription notifications on Heroku.",
3136
+ link: "https://www.twilio.com/",
3137
+ since: "2018",
3138
+ experience: [
3139
+ "Integrated Twilio SMS into Eat Arcade's restaurant subscription service for curated dish notifications."
3140
+ ]
3141
+ },
3142
+ {
3143
+ name: "TypeScript",
3144
+ slug: "typescript",
3145
+ tag: "TypeScript",
3146
+ image: "/images/tech/typescript.png",
3147
+ description: "JavaScript with static types for safer refactors, richer editor tooling, and shared contracts across clients and services.",
3148
+ link: "https://www.typescriptlang.org/",
3149
+ since: "2012",
3150
+ experience: [
3151
+ "Typed Opyn's options data layer and React components against Ponder-indexed schemas and Zod validators.",
3152
+ "Shared contract ABIs and indexer handlers in Bitlauncher's TypeScript monorepo for auctions and bridges.",
3153
+ "Standardized LegalAgent's admin, mobile, and API packages on TypeScript for retrieval and form flows."
3154
+ ],
3155
+ featuredOrder: 7
3156
+ },
3157
+ {
3158
+ name: "Viem",
3159
+ slug: "viem",
3160
+ tag: "Viem",
3161
+ image: "/images/tech/viem.png",
3162
+ description: "TypeScript client for EVM contract reads, event subscriptions, and wallet interactions in trading and auction systems.",
3163
+ link: "https://viem.sh/",
3164
+ since: "2023",
3165
+ experience: [
3166
+ "Connected Opyn's trading UI to Arbitrum Testnet contracts through Viem with Alchemy RPC endpoints.",
3167
+ "Indexed Bitlauncher auction events with Viem subscriptions and persisted fills for the Next.js client.",
3168
+ "Implemented Bitlauncher's stablecoin-to-USDCred bridge and wallet balance views with Viem contract calls."
3169
+ ],
3170
+ featuredOrder: 5
3171
+ },
3172
+ {
3173
+ name: "ViroAR",
3174
+ slug: "viroar",
3175
+ tag: "ViroAR",
3176
+ image: "/images/tech/viroar.png",
3177
+ description: "Augmented-reality product previews in the Tractor Supply React Native retail app.",
3178
+ link: "https://viromedia.com/viroreact",
3179
+ since: "2019",
3180
+ experience: [
3181
+ "Implemented augmented-reality product previews in the Tractor Supply React Native retail app with ViroAR."
3182
+ ]
3183
+ },
3184
+ {
3185
+ name: "Wagmi",
3186
+ slug: "wagmi",
3187
+ tag: "Wagmi",
3188
+ image: "/images/tech/wagmi.png",
3189
+ description: "React hooks for Ethereum wallets and contracts, built on Viem with multichain configuration and shared query caching.",
3190
+ link: "https://wagmi.sh/",
3191
+ since: "2023",
3192
+ experience: [
3193
+ "Wired Opyn wallet connect and contract interactions on Arbitrum Testnet with Wagmi and Viem.",
3194
+ "Subscribed to token balances in Bitlauncher's wallet UI so auction screens stayed in sync with chain state.",
3195
+ "Configured multichain connectors in Bitlauncher for EOS and EVM wallets through a single React layer."
3196
+ ],
3197
+ featuredOrder: 6
3198
+ },
3199
+ {
3200
+ name: "WebAuthn",
3201
+ slug: "webauthn",
3202
+ tag: "WebAuthN",
3203
+ image: "/images/tech/webauthn.png",
3204
+ description: "In-browser transaction signing for Bitcash's peer-to-peer crypto exchange without external wallet extensions.",
3205
+ link: "https://webauthn.io/",
3206
+ since: "2021",
3207
+ experience: [
3208
+ "Implemented WebAuthn for in-browser transaction signing on Bitcash's peer-to-peer crypto exchange."
3209
+ ]
3210
+ },
3211
+ {
3212
+ name: "WebGL",
3213
+ slug: "webgl",
3214
+ tag: "WebGL",
3215
+ image: "/images/tech/webgl.png",
3216
+ description: "In-browser 3D rendering for ZTX's EVM wallet connector embedded inside the virtual-world canvas.",
3217
+ link: "https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API",
3218
+ since: "2018",
3219
+ experience: [
3220
+ "Built ZTX's WebGL EVM wallet connector with Ethers.js so NFT trading ran inside the virtual-world canvas."
3221
+ ]
3222
+ },
3223
+ {
3224
+ name: "WordPress",
3225
+ slug: "wordpress",
3226
+ tag: "Wordpress",
3227
+ image: "/images/tech/wordpress.png",
3228
+ description: "Content management for medical information sites, community promotions, and editorial publishing in early client work.",
3229
+ link: "https://wordpress.org/",
3230
+ since: "2009",
3231
+ experience: [
3232
+ "Built Living with Dryness as a responsive WordPress medical information page for mobile readability.",
3233
+ "Developed Capoeira Abolicao's promotional WordPress site with Bootstrap for instructors and community events.",
3234
+ "Built the ScotiaTico WordPress site for medical information and resource navigation."
3235
+ ]
3236
+ },
3237
+ {
3238
+ name: "Zod",
3239
+ slug: "zod",
3240
+ tag: "Zod",
3241
+ image: "/images/tech/zod.png",
3242
+ description: "Runtime schema validation for auction payloads, trading inputs, and assistant configuration across Next.js apps.",
3243
+ link: "https://zod.dev/",
3244
+ since: "2022",
3245
+ experience: [
3246
+ "Validated Bitlauncher auction and wallet payloads with Zod across the Next.js and Supabase stack.",
3247
+ "Enforced type-safe chain and API inputs on Opyn's trading interface with Zod schema validation.",
3248
+ "Structured Masterbots assistant configuration and API contracts with Zod on Next.js."
3249
+ ]
3250
+ },
3251
+ {
3252
+ name: "Zustand",
3253
+ slug: "zustand",
3254
+ tag: "Zustand",
3255
+ image: "/images/tech/zustand.png",
3256
+ description: "Client state management for Bitcash's peer-to-peer exchange interface alongside Stitches styling.",
3257
+ link: "https://github.com/pmndrs/zustand",
3258
+ since: "2021",
3259
+ experience: [
3260
+ "Managed Bitcash's exchange client state with Zustand alongside Stitches for component styling."
3261
+ ]
3262
+ }
3263
+ ];
3264
+
3265
+ export {
3266
+ projects,
3267
+ techStack
3268
+ };