Skip to content
Gabriel Tibay

Things I've built to solve actual problems.

Each one starts with the problem, not the tool. The stack follows.

Full StackAnalyticsIntegrations

Recruitment Analytics Platform

Problem
Recruitment performance and operational information existed across several systems.
What I built
A custom analytics application that consolidates recruitment reporting and performance visibility.
Result
Reporting moved from weekly manual exports to a live application.
Stack
Next.js, React, APIs, RecruitCRM, PostgreSQL, Custom Analytics

Pipeline by stage

Period
Sourced
48187541
Screened
31122352
Interviewed
1457168
Offered
51961
Placed
31136
Sample numbers. The real one runs on private client data.
AIAutomation

AI Handwriting OCR

Problem
Difficult handwritten information required manual interpretation.
What I built
An AI-powered OCR workflow that extracts structured information.
Result
Roughly 90% of fields on the tested document set were extracted correctly with no human involvement.
Stack
n8n, OCR, AI / LLM, APIs, Structured Outputs, Workflow Orchestration

ScanOCRLLM ExtractionValidationReview QueueDatabase

GTMAutomationIntegrations

Automated Lead Infrastructure

Problem
Lead generation ran as a chain of disconnected manual steps: find the leads, enrich them, verify emails, upload to the CRM, add to sequences, follow up, report.
What I built
An end-to-end lead pipeline built around n8n and a small Node.js service: sourcing tools feed enrichment, verification filters out what would bounce, clean records land in the CRM, and outreach sequences start automatically with follow-ups and reporting attached.
Result
Leads flow from source to sequenced outreach without manual handoffs, and the team works the conversations instead of maintaining the list.
Stack
n8n, Node.js, APIs, RecruitCRM, Smartlead, HeyReach, SalesQL, NeverBounce, Evaboot

Lead SourceEnrichmentVerificationCRMOutreachFollow-UpAnalytics

IntegrationsAutomationAnalytics

Messaging & Conversion Tracking

Problem
Inbound forms triggered text messages, but nobody could tell which messages led to bookings, who clicked and didn't book, or where people dropped off.
What I built
Form submissions trigger a Make workflow that sends SMS through Twilio using tracked links.
Result
Every message, click, and booking is attributed, and follow-ups go out on schedule instead of when someone remembers.
Stack
Twilio, Make, Calendly, Node.js, Custom Backend, Tracking Dashboard

FormWorkflowTwilioTracked LinkCalendlyAnalyticsFollow-Up

AnalyticsAutomationIntegrations

Marketing Analytics Automation

Problem
Campaign data lived in Meta Ads, Google Ads, and Shopify, each with its own definition of a conversion.
What I built
Automated campaign reporting: scheduled pulls from each platform's API, a normalization step for currencies, time zones, and attribution windows, storage in a database, and reports generated from it.
Result
Reports generate themselves on schedule, and ad spend finally sits next to the revenue it produced.
Stack
Meta Ads, Google Ads, Shopify, APIs, Scheduled Workflows, Custom Reporting

Ad PlatformsScheduled PullNormalizeDatabaseReport

AutomationIntegrations

RPA + API Automation

Problem
A critical system had no API.
What I built
Python RPA scripts drive the portal where no API exists.
Result
The daily manual session became a scheduled job with error alerts, and the person who used to do it no longer needs to.
Stack
Python, n8n, APIs, RPA, HTTP Requests

ScheduleRPAExtractAPI CallsDestinationLog