Paul Wendell Aguilar

I'm Paul. I rebuild slow, manual business processes into systems that run themselves, using AI where judgment is needed, code where it has to be exact, and people where it still matters.

See the work

Available for remote roles and freelance projects.

Lead sourcing, before and after the rebuild
Search prospectsJob-seeking signalApify + HarvestAPI
Check ICP matchICP qualificationCustom ChatGPT Skill
Verify GovCon / DefenseEmployer / industry validationQualification rules
Confirm job seekingExclusion rulesRoles & industries
Exclude roles & industriesDuplicate checkProfile URL as key
Check duplicatesFinal QCReviewer
Add to trackerLead trackerGoogle Sheets
≈ 3 hoursof manual research every week
≈ 100 prospects / weekqualified at $6.50–7.50 per 100 leads
  • AI reasoning
  • Deterministic code
  • Human review
Selected work

AI-powered lead sourcing & qualification

A recurring workflow that produces about 100 qualified prospects a week for a career coaching business, with less sourcing cost, fewer duplicates, and less manual research.

Built with
Apify, HarvestAPI, a custom ChatGPT Skill I built, Google Sheets, MCP
Replaced
≈ 3 hours of weekly manual sourcing

What I changed

The biggest improvement was not the scraper. It was flipping the sourcing order from company-first to job-seeker-first, so the workflow starts with people who have already shown public job-seeking intent.

Then I built a custom ChatGPT Skill from scratch to do the qualifying: it checks every candidate against the business's ideal client profile the same way each week, instead of someone judging profiles by hand.

I also avoided approaches that needed LinkedIn credentials, session cookies, or browser account automation because of platform and account risk.

Result

  • ≈ 100 qualified prospects per week
  • $20 → $6.50–7.50 per 100 leads
  • 60–68% lower sourcing cost, depending on the run
  • Automated ICP qualification through a ChatGPT Skill I built, plus duplicate detection
  • More consistent qualification, fewer irrelevant candidates processed

Sourcing order

  1. Company
  2. Employees
  3. ICP check
  4. Job-seeking check

Bar height shows how much data each step handles. Illustrative, not measured.

Sourcing cost per 100 leads

$20 with the previous sourcing approach

Read the full case studyHide the full case study

The problem

The business needed around 100 qualified LinkedIn prospects every week. Each one had to be found, checked against the ICP, verified for GovCon or Defense experience, confirmed as job seeking, screened for excluded roles, and de-duplicated before it reached the tracker.

The old structure started with companies, went through their employees, and only at the end checked whether anyone was actually looking for work. Most of the data processed early was never going to qualify.

How qualification works

HarvestAPI runs through Apify to source public LinkedIn-related data. Candidates then go into the ChatGPT Skill I built. I wrote its qualification logic myself, turning the business's ideal client profile into explicit rules: U.S. location, active job-seeking intent, GovCon or Defense background, target functions from program management to logistics, employer background, and excluded roles and industries. When false positives slipped through, I tightened the rules and added final QC checks.

Before approval, each candidate is checked against the existing lead database, using the LinkedIn profile URL as the unique key. Only net-new candidates that pass move into review.

What I personally worked on
  • Researched sourcing options
  • Evaluated LinkedIn automation risk
  • Selected the sourcing approach
  • Redesigned the sourcing logic
  • Created the ICP qualification structure
  • Designed and built the custom ChatGPT Skill
  • Added duplicate filtering
  • Connected the workflow to the lead database
  • Created recurring sourcing logic
  • Added cost controls
  • Refined the process after false positives appeared
  • Added final QC rules

Automated client onboarding & program setup

A client lifecycle workflow that connects payment, intake, file creation, templates, and tracking, and hands the client to the next stage of delivery.

Built with
Stripe, webhooks, Google Apps Script, Sheets, Forms, Drive, Gmail
Replaced
≈ 1–2 hours of manual setup per client

What I built

A connected chain where a Stripe payment starts everything and each step triggers the next. Step through it below.

Result

  • ≈ 1–2 hours of manual onboarding saved per client
  • More consistent setup and fewer missed steps
  • Cleaner handoff between sales and delivery
  • Centralized client tracking

When a prospect pays through Stripe, a webhook sends the payment event into Google Apps Script. The system records the client email, payment status, amount, and transaction details, and onboarding starts only after payment is confirmed.

Read the full case studyHide the full case study

The problem

Every new client meant confirming payment, recording it, sending instructions, collecting their resume and LinkedIn details, creating folders, duplicating program templates, updating the master tracker, and preparing notes for the first call. Every step was a chance to miss something.

What I personally worked on
  • Mapped the onboarding workflow
  • Connected Stripe payment events to Apps Script
  • Built the payment recording workflow
  • Built Google Form–triggered automation
  • Structured client folder creation
  • Automated template duplication
  • Connected intake to the master tracker
  • Helped structure the program handoff
  • Created branded email materials

AI-assisted tax & document filing

A hybrid system that classifies, renames, de-duplicates, moves, logs, and routes for review five years of tax, real-estate, business, and personal documents.

Built with
Claude, Google Apps Script, Google Drive, JSON
Archive
2021–2026, multiple entities

The key decision

AI could classify the documents, but having it also perform every file operation wasted tokens and made runs less predictable. So I split the work: Claude decides what should happen, Apps Script does it. That made the workflow cheaper, easier to audit, and safer to maintain.

Result

  • ≈ 60% less manual document-handling time
  • ≈ 45% less AI token usage after splitting reasoning from execution
  • Standardized naming, centralized logging, and rollback
  • Human review for uncertain cases

Estimates are based on operational observation.

  1. Tax Inbox
  2. Claude classification
  3. Pending actions JSON
  4. Apps Script
  5. Duplicate validation
  6. FiledNeeds review

Review threshold

Files below the threshold don't get finalized. They wait for a person. The live system uses about 80%.

Filed automatically 5

Needs review 3

Pending action select a file

{
  "fileId": "1aZ5rpi",
  "originalName": "closing_docs_final_v2.pdf",
  "proposedName": "2021_ClosingDisclosure_Property2.pdf",
  "sourcePath": "Tax Inbox/",
  "targetPath": "Needs Review/",
  "driveUrl": "https://drive.google.com/file/d/1aZ5rpi",
  "confidence": 0.79,
  "action": "route_to_review"
}

Sample files for illustration.

Read the full case studyHide the full case study

The problem

Years of files sat scattered across an old Google Drive. For each one, someone had to open it and work out what it was, which entity and tax year it belonged to, what to name it, where it should go, and whether it already existed somewhere else. With thousands of files, that doesn't hold up.

Duplicate detection and safety

Duplicates are caught four ways: an MD5 hash of the file content, internal PDF document IDs for files downloaded again with a new timestamp, a filename check against the target folder, and a running index that grows after every filing run.

Every action is written to an audit log with the original name, new name, source, destination, file link, and review status. Because the original name and location are kept, any change can be rolled back.

What I personally worked on
  • Mapped the folder taxonomy
  • Documented filing rules
  • Defined naming conventions
  • Designed the AI classification instructions
  • Separated AI analysis from execution
  • Created the JSON action structure
  • Built the Apps Script execution logic
  • Added duplicate detection and the file index
  • Added confidence-based review
  • Added audit logging
  • Added rollback protection
  • Optimized AI usage

E-commerce & operations platform

A full-stack platform for a handcrafted leather watch strap brand in the Philippines. It runs the storefront, the admin, the production floor, finance, and customer tracking from one Next.js and Firebase codebase.

Stack
Next.js 15, TypeScript, Tailwind CSS 4, shadcn/ui, Firebase, Resend
Reused for
A second leather-goods business, focused on bags

One order, every surface

Orders come in from the online store, a walk-in kiosk, shareable order links, and manual entry for social media leads. Every one follows the same lifecycle: pending, confirmed once payment is verified, in production, production completed, then shipped or picked up, and fulfilled.

The demo above is a replica with sample data. It follows the real workflow, statuses, and fees, but not the live system's addresses, identifiers, or data. Place an order on the storefront and follow it through the admin, the production floor, and the customer's tracking page.

What it covers

  • Storefront, cart, and checkout with Philippine address selection
  • Kiosk / POS and shareable order links
  • Order, production, and inventory management with BOM deduction
  • Payments: full, partial, and COD with remittance reconciliation
  • PDF invoices, production slips, and financial reports
  • Email notifications, order tracking, and audit logging
Read the full case studyHide the full case study

What runs behind it

Made-to-order products carry a bill of materials, so a sale deducts the right amount of leather, thread, and hardware from inventory. Invoices and production slips are generated as PDFs. Partial payments and cash-on-delivery balances are tracked per order and reconciled when the courier remits.

Finance covers transactions, a P&L statement, and profit distributions. Staff actions are written to an audit log, and admin areas are restricted by role.

What I personally worked on
  • System planning
  • Workflow mapping
  • Order flow design
  • Admin structure
  • Production workflow
  • Fulfillment logic
  • Customer records
  • Dashboard structure
  • Reporting structure
  • Reusable architecture
  • Tailoring for a second business
Tech stackNext.js 15, TypeScript, Tailwind CSS 4, shadcn/ui, Firebase, Resend
Frontend
Next.js 15 (App Router), React 19, TypeScript, Tailwind CSS 4, shadcn/ui on Radix UI, Lucide icons, Embla Carousel, next-themes for dark mode
Authentication
Firebase Authentication with email/password and Google sign-in, plus role-based access for admin and production staff
Database & files
Cloud Firestore with security rules and composite indexes; Firebase Storage for product images and finished-product photos
Hosting
Firebase Hosting with the Next.js framework backend
Server logic
Next.js API routes; Cloud Functions for Firebase: Firestore triggers for new and ready orders, a scheduled daily deadline digest, and scheduled cleanup of expired order links
Notifications
Firebase Cloud Messaging web push for staff
Email
Resend and Nodemailer for order notifications, invoices, receipts, pickup-ready notices, and payment reminders
Documents
jsPDF and jspdf-autotable for invoices, production slips, and financial reports; QR codes with qrcode and react-qr-code
Forms & content
React Hook Form with Zod validation; Tiptap rich-text editor with DOMPurify for the journal
Reporting UI
Recharts for analytics, Sonner for toasts

Digital Pregnancy PassportIn development

A mobile-first Progressive Web App for a women's health clinic that keeps a pregnancy organized in one place: dates, visits, questions for the OB, lab results, and ultrasounds.

Stack
Next.js 16, TypeScript, Tailwind CSS 4, Firebase, Serwist, Resend
Scope
Organizer only. It never diagnoses or replaces medical care.

What it's for

Mothers keep their pregnancy details, prenatal visits, questions, lab results, and scans together, and bring them to every appointment. The phone on the left is a replica of the app's screens with a sample mother and sample records. Tap through the tabs.

Journey modules

  • Pregnancy
  • Postpartum
  • Trying to Conceive
  • PCOS

What I'm building

  • Product structure and journey-module architecture
  • Firestore data model and security rules for private health records
  • Firebase Authentication, onboarding, and one-time passport codes
  • Transactional email with Resend
  • Installable PWA with offline support
Read the full case studyHide the full case study

Architecture

Pregnancy is the first journey module. Each module supplies its own tabs, routes, and content through a manifest, so postpartum, trying to conceive, and PCOS can be added on the same engine without touching the pregnancy code.

Access is sold as a one-time passport code, and each code can only ever be claimed once. Health records are private to the mother: clinic staff manage content and codes, never patient data.

Tech stackNext.js 16, TypeScript, Tailwind CSS 4, Firebase, Serwist, Resend
Frontend
Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4, shadcn/ui on Base UI, Motion for animation, Lucide icons
Progressive Web App
Serwist service worker: installable, works offline, mobile-first with a desktop layout
Authentication
Firebase Authentication with email/password and Google sign-in, email verification, and admin custom claims
Database & files
Cloud Firestore with offline persistence and security rules; Firebase Storage for scans and lab results
Hosting
Firebase App Hosting for the Next.js app, Firebase Hosting for the auth handler
Server logic
Next.js API routes with the Firebase Admin SDK for passport codes and clinic tools; secrets kept in Google Secret Manager
Email
Resend for passport-ready and verification emails
Documents
pdf-lib for printable QR sticker sheets, qrcode for passport QR codes
Forms & dates
React Hook Form with Zod validation; date-fns with time-zone support for Asia/Manila
Also built

Smaller systems that solved one problem well.

Letterpress: AI-designed branded emailReplaces a $20–60 a month subscription

Rather than adding Mailchimp and another system for the team to manage, I built Letterpress, a small admin tool inside the business's own website for designing and sending branded client emails.

The design comes from AI, so there's no template library to squeeze into. Give Claude the brand kit (logo, colours, fonts, tone) and a short brief, paste the email HTML it returns, and Letterpress shows the finished design straight away. No design for a launch or an event yet? Generate one in minutes and plug it in. Try it below with three different brand kits.

  1. Brief AI with the brand kit
  2. Paste the HTML
  3. Swap images, add a PDF
  4. Fill the tags
  5. Send a test
  6. Send through Resend
  7. Campaign logged

Designed by AI from a brand kit

Brief Navy and lime, bold sans, direct and encouraging

Tags found in this design

Personalized on send

2 tags left to fill before this can be sent.

Once the HTML is in, the editor finds every image so each one can be swapped or uploaded, takes an optional PDF attachment, and detects bracket tags. [FIRST NAME] is personalized for each recipient when it sends; any other tag, like a program name or date, is filled in once and updates everywhere.

Mailchimp only lets you send your own HTML templates on its Standard plan, which starts at $20 a month for 500 contacts and is $60 a month at 2,500. Template builders like Stripo also start around $20 a month and still need a separate sending service. Letterpress replaces that recurring cost with a tool the business owns.

To send, you pick a template and contacts, send yourself a test, then send for real. A Cloud Function that only signed-in staff can call sends each email through Resend with the attachment, a reply-to address, and one-click unsubscribe headers, paced to stay under Resend's rate limit. Every send is saved as a campaign so there's a record of who got what.

Built with Next.js 16, TypeScript, Tailwind CSS 4, Firebase Authentication, Cloud Firestore, Firebase Storage, Cloud Functions for Firebase, Resend

Next up

  • Brand kit from a single upload: drop in a logo, a brochure, or the website, and AI reads the colours, fonts, and tone, then designs the email inside Letterpress. No prompt writing, no copying HTML between tools.
  • Sending that scales: queued sends with live progress, automatic unsubscribes, and bounce and open tracking from Resend.

Prices from Mailchimp's published pricing (Standard plan, monthly, regular rate) and Stripo's plans, checked October 2026.

AI brand voice & LinkedIn engagement system≈ 45% more efficient engagement workflow

Team members handling LinkedIn comments and messages had to study training material, old comments, and past conversations to learn how the CEO communicates. I consolidated the voice, messaging principles, and examples into structured Markdown files that a GPT workflow uses as its knowledge source.

Employees ask things like "How would the CEO approach this?" or "How does the brand usually handle this objection?" The AI supports them. It never publishes on its own, and the employee controls the final message.

LinkedIn conversation & funnel analyticsKondo → MCP → ChatGPT

Conversation data from Kondo flows into ChatGPT through MCP for funnel and sales analysis: how many prospects entered conversations, became qualified, booked calls, and converted, where they dropped out, and how that changes week over week.

  1. Prospects
  2. Conversations
  3. Qualified leads
  4. Calls booked
  5. Sales

The results go straight into business performance reports and presentations.

Multi-business dashboardsCoaching, rentals, lending

Operational and financial dashboards for several businesses, tracking revenue, expenses, profit and loss, KPIs, client counts, payroll, subscription costs, team hours, and rental and lending performance.

The work wasn't generating charts. It was deciding which metrics mattered, how to group them, what time period to show, which decisions each dashboard should support, and how to keep the businesses separate.

Program & client materialsOverviews, journeys, leave-behind PDFs

Structured client-facing materials made with AI-assisted design and development: program overviews, client journey documents, internal training, leave-behind PDFs, and process documents. The goal is to make complex program information easy for clients and team members to follow.

How I work

I started in operations, inside the processes I now automate.

I kept running into workflows that were slow, repetitive, disconnected, or hard to maintain. Instead of continuing to run them by hand, I started rebuilding them.

That began with small workflow fixes and grew into AI-assisted automation, Apps Script systems, APIs and webhooks, MCP integrations, internal tools, dashboards, and full-stack applications.

A technically impressive automation is not automatically a useful one. It still has to fit the people using it, the budget, the operational risk, and the way the business actually works.

My goal is simple: build systems that make the business easier to operate.

What used to happen by hand

  1. Lead research took hours every week.Rebuilt as a sourcing pipeline
  2. Client onboarding depended on manual setup.Rebuilt as a payment-triggered workflow
  3. Documents were scattered across folders and entities.Rebuilt as an AI filing system
  4. Reporting meant pulling data from different sources.Rebuilt as dashboards
  5. New team members studied old examples to learn the voice.Rebuilt as a knowledge system

I don't automate everything. I decide what each part of the work needs.

  1. Understand the workflow

    Before picking a tool, I map how the process actually runs: repetitive actions, decision points, handoffs, bottlenecks, duplicate work, risk areas, and steps that only exist because of an old process.

  2. Simplify before automating

    Sometimes the biggest win comes before any automation. Switching lead sourcing from company-first to job-seeker-first cut the data before a single script ran.

  3. Assign each task to the right part

    AI where reasoning is needed, deterministic code where predictability matters, and people where judgment still counts.

AI handles

  • Classification
  • Interpretation
  • Context-heavy decisions
  • Pattern recognition
  • Natural-language interaction
  • Knowledge retrieval

Code handles

  • Moving files
  • Creating folders
  • Updating records
  • Structured API requests
  • Scheduled tasks
  • Naming conventions
  • Logging

Safeguards keep people in control

  • Confidence thresholds
  • Manual review
  • Duplicate checks
  • Audit logs
  • Rollback
  • Final QC
  • Cost caps

Optimize for the business, not the tool.

The right answer isn't always the most complex one. Sometimes it's

  • a script
  • a workflow
  • a dashboard
  • a simple website
  • a custom application
  • a manual step supported by AI

Besides “does it work,” I ask

  • Can employees actually use it?
  • Is the process understandable?
  • Can the business afford it?
  • Are exceptions handled?
  • Does it introduce new risk?
  • Can it be maintained?
Stack

Tools I use, grouped by the job they do.

AI
ChatGPT, ChatGPT Skills, Claude, AI coding assistants, LLM workflows, knowledge bases, prompt and context architecture, human-in-the-loop AI, AI classification
Automation
Google Apps Script, n8n, Make, Zapier, scheduled and trigger-based workflows, workflow orchestration
APIs & integrations
REST APIs, webhooks, MCP, Stripe, Apify, HarvestAPI, Kondo, Google Workspace integrations
Google Workspace
Sheets, Drive, Forms, Gmail, Apps Script, HTML email workflows
Development
Next.js, TypeScript, JavaScript, HTML, CSS, Tailwind CSS, shadcn/ui, JSON, lightweight web apps
Backend & data
SQL, Firebase Authentication, Cloud Firestore, Firebase Storage, Cloud Functions for Firebase, Resend, Google Sheets, Google Drive

I’m open to remote roles and freelance projects: automation, business systems, and websites or web apps.

If something is slow, manual, or needs to exist and doesn’t yet, I’d like to hear about it.

1 What do you need?

2 Anything I should know? (optional)

To Paul

Subject Let's talk about [NEED]

Hi Paul,

I'm reaching out about [NEED].

[DETAILS]

Thanks, [YOUR NAME]

Choose what you need to seal the envelope.

Work I’m looking for

  • AI automation
  • Business systems
  • Internal tools & dashboards
  • API & webhook integrations
  • Websites & landing pages
  • Full-stack web apps
  • Workflow redesign
  • Technical operations