What I can automate for your business

Stop repeating tasks. Start automating.

I connect the tools your business runs on — CRM, payments, documents, email and chat — into reliable automated workflows, with AI where it helps and a person approving anything costly.

  • n8n
  • PostgreSQL
  • Supabase
  • GoHighLevel
  • PayMongo
  • OpenRouter
  • JavaScript
How an automated business process runs Start. Receive the request, then process the information. Decision: is everything ready? Yes: complete the task, then end. No: request the missing information; once it is received, process the information again and re-check. How an automated business process runs Start. Receive the request, then process the information. Decision: is everything ready? Yes: complete the task, then end. No: request the missing information; once it is received, process the information again and re-check.
From request to done. Map the process, automate the repetitive steps, check that everything is ready, then route the result. Missing details are requested, not guessed.
  • Workflow automation
  • AI agents
  • Document retrieval (RAG)
  • CRM automation
  • Payment webhooks
  • Human approval gates
  • Database-backed state
  • API integrations

Selected systems

Systems, not just workflows.

Each one opens into a full case study: the problem, how the automation works, and where people make the call.

n8n canvas of the Dispatch Approved Chases workflow: webhook, claim pending outbox rows, revalidate live invoice state, still valid to send.
Accounts receivableConcept Demo · FINAL

AR Payment Chasing

Chases overdue invoices by email — once per customer, at the right escalation level, and never after they've paid.

  • n8n
  • PostgreSQL
  • Gmail API
  • OpenRouter
n8n canvas of the Route Human Review and Approval workflow: review decision form and deadline sweep triggers with automation checks.
Bids & proposalsFINAL · structural

RFP & Tender Response

Turns tender documents into reviewed, approved draft answers — with a person signing off at every point that matters.

  • n8n
  • PostgreSQL + pgvector
  • Ollama
  • OpenRouter

Client work

Built for a real business.

Delivered in a paid trial. The client is anonymized and confidential details are withheld.

n8n canvas: approval gate, prior-send check, duplicate-send block and client email.Client details withheld
Interior design firm · AnonymizedCore flow delivered & verified

AI Proposal Intake & Pricing System

Turns a sales intake into a priced, AI-reviewed, approved proposal PDF — and makes sure only an approved proposal reaches the client, once. Deterministic pricing runs first; AI reviews proposal risk and recommends a complexity-based fee uplift.

  • n8n Forms
  • OpenRouter (Llama 3.3 70B)
  • Google Docs & Sheets
  • Gmail

All builds

More automations, agents and integrations.

Smaller builds and experiments — AI assistants, chatbots and CRM workflows built with n8n, Zapier and GoHighLevel. Several ideas in the systems above were first tried here.

n8n canvas: Slack mention to a RAG knowledge agent with a retrieval tool over the handbook vector store, reply in Slack.
n8n · RAGActive

RAG Employee Handbook Assistant

Answers policy questions in Slack from handbook documents embedded with Ollama into a Supabase vector store.

  • Supabase
  • Ollama
  • Slack
n8n canvas: Facebook webhook with verification branch and a message branch through a knowledge document and chat agent to an HTTP reply.
n8n · AI agentActive

Messenger Inquiry Assistant

Answers Facebook Messenger inquiries from a Google Docs knowledge source, with webhook verification and short memory.

  • Messenger
  • Google Docs
  • OpenRouter
n8n canvas: invoice image analysed by OCR, AI extraction with structured parser, validation and duplicate checks.
n8n · Document AIActive

Invoice Agent for Telegram

Invoice photo in, structured record out: OCR, AI extraction, validation and duplicate checks before anything is stored.

  • Telegram
  • OCR.space
  • Google Sheets
n8n canvas: Slack mention to SQL Sales Agent with GPT-4o mini, sales database query, calculator and reasoning tools, reply in Slack.
n8n · AI agentExperimental

SQL Sales Analytics Assistant

Answers sales questions in Slack by querying a PostgreSQL table through an AI agent's SQL, calculator and reasoning tools.

  • Slack
  • PostgreSQL
  • OpenRouter
n8n Book slots tool: webhook, argument parsing and verification, Google Calendar event creation.
n8n · Voice agentBuilt · inactive

Dental Voice Appointment Setter

A Vapi voice agent calls n8n webhook tools to check, book, update and cancel Google Calendar slots, logging calls in Airtable.

  • Vapi
  • Google Calendar
  • Airtable
n8n canvas: chat trigger to Online Sales Agent with GPT-4o mini, four data table tools and a calculator.
n8n · AI agentSuperseded by SQL version

AI Sales Data Assistant

The earlier sales assistant: an agent answering questions through four n8n Data Table tools and a calculator.

  • n8n Data Tables
  • OpenRouter
Zapier editor: Asana trigger split into five paths: Ready to Start, No Response, Quoted, Approved, and Paid and Closed.
Zapier · CRMEarlier build

Zapier–Asana CRM Automation

An Asana task update routes each lead down one of five paths: folders, sub-tasks, timed follow-ups and emails.

  • Zapier
  • Asana
  • Gmail
Zapier editor: form submission, Apollo organisation lookup and AI lead scoring steps.
Zapier · Lead qualificationEarlier build

Zapier Lead Qualification & Outreach

Enriches form leads through Apollo, scores them with AI, and routes high, medium and low leads to different follow-up.

  • Zapier
  • Apollo
  • Supabase
  • Slack
Zapier editor: new Google Drive file, date formatting, logging and an mp3 filter.
Zapier · ContentEarlier build

Zapier Content Repurposing

Audio dropped in Google Drive is transcribed, drafted into blog and social posts, and routed to publish or review.

  • Zapier
  • Google Drive
  • Sheets
GoHighLevel workflow builder: contact tag or new contact triggers, waits, opportunity creation and tagging.
GoHighLevel · CRMEarlier build

Car Insurance Sales Workflows

New leads get an opportunity, tags, an intake-form email, an assigned agent and an internal alert.

  • GoHighLevel
  • Email
GoHighLevel workflow builder: salon inquiry form, waits, opportunity and tag steps.
GoHighLevel · CRMEarlier build

Salon Client Retention Pipeline

Salon inquiries become opportunities with a welcome email, a front-desk alert, a note and a contact task.

  • GoHighLevel
  • Email
GoHighLevel workflow builder: booked-appointment form, waits and tag changes.
GoHighLevel · CRMEarlier build

Lead Nurturing Pipeline

Tag-driven stages move a lead from new, to nurturing, to booked as forms are submitted.

  • GoHighLevel
  • Forms

15 builds

Process maps

From trigger to outcome.

See how each automation moves from trigger to outcome — and where AI, automation and human decisions fit into the process.

Preview of the AR Payment Chasing process map.
Accounts receivableConcept Demo · FINAL

AR Payment Chasing

Chase overdue invoices by email: once per customer, at the right level of firmness, never after payment.

View process map: AR Payment Chasing
Preview of the AI Sales Data Assistant process map.
n8n · AI agentSuperseded by SQL version

AI Sales Data Assistant

The first sales assistant, answering from a small sample sales table. Replaced by the SQL Sales Analytics Assistant.

View process map: AI Sales Data Assistant

19 process maps

Stack

What the systems run on.

The tools behind the systems above — every one of them used in a project on this page.

Current stack n8n systems, CRM, payments and AI

  • n8n
  • GoHighLevel
  • PostgreSQL
  • Supabase
  • PayMongo
  • OpenRouter
  • Ollama
  • Gmail
  • Slack
  • Telegram
  • Messenger
  • Google Drive
  • Google Docs
  • Google Sheets
  • JavaScript
  • HTML5

Earlier builds Zapier, Airtable and Vapi projects

  • Zapier
  • Airtable
  • Vapi

Background projects Thesis and internship

  • Python
  • Mask R-CNN
  • PHP
  • MySQL

How I build

Design before workflow.

I plan before I build: map how the work really happens, decide what should be automated and what stays with people, and look for what could go wrong — then build and test.

  1. Process map

    Actors, decisions, exceptions and hand-offs — and where automation should stop.

  2. Architecture gate

    What is deterministic, where AI is allowed, which database holds the truth.

  3. Premortem

    Assume it failed and find out why. For AR Payment Chasing: seven design holes, each given a fix in the plan before building.

  4. Implementation spec

    States, contracts, tests and scope — sent back when it isn't build-ready.

  5. Build & validate

    Structural and runtime evidence reported separately; blocked and failed paths exercised.

  6. Honest status

    Untested paths, deferrals and known limitations written down.

Failure-injection suites are part of each implementation spec; so far they have only been run in part.

Angelo Torrevillas, AI Automation Specialist

About

Reliability is the point.

I'm Angelo Torrevillas, an AI automation specialist in the Philippines. Connecting apps is the easy part; making it dependable is the work — explicit state in a database, deterministic rules before AI, and people in the loop for decisions that cost money or trust.

My background is computer engineering. I'd rather write down what hasn't been tested than let a demo imply it has.

Based in
Philippines
Education
BS Computer Engineering, Technological Institute of the Philippines (2026)

Background

Rebar Vista camera screen showing a rebar column with a live distance reading.
Team thesis · Computer vision

Rebar Vista — Rebar Column Measurement System

Mask R-CNN on a Raspberry Pi 5 measures rebar columns and recommends a cement mix. 96.3% system test success rate (77 of 80 trials, ±5% tolerance).

  • Python
  • Mask R-CNN
  • Flask
  • Raspberry Pi 5
Sign-in screen of the Quezon City Public Library employee daily time record system.
Internship · Web app

Employee Daily Time Record System

A web app for the Quezon City Public Library that replaced manual attendance records.

  • PHP
  • MySQL
  • JavaScript

FAQ

Common questions.

What does Angelo Torrevillas build?

Automation systems for business processes: n8n and GoHighLevel workflows backed by a database, integrations with CRMs, payment providers, email and chat tools, and AI steps where they genuinely help — such as reviewing proposal pricing, classifying replies, or retrieving and drafting answers from approved documents.

What tools does he work with?

Mainly n8n, PostgreSQL and Supabase, and GoHighLevel. For AI he uses models accessed through OpenRouter and Ollama for embeddings; for payments, PayMongo (so far in sandbox); for communication, Gmail, Slack, Telegram and Facebook Messenger. He writes JavaScript for custom logic, and has used Zapier, Airtable and Vapi on earlier builds.

How does he approach automation reliability?

He maps how the business process actually works and runs a premortem to find what could go wrong before building. Fixed rules handle anything that must be exact, such as prices and payment status; AI gets a narrow role and no authority over money or records. Systems are built so a retry can't send the same email twice, sending can be stopped instantly with a kill switch, and a person approves anything costly or irreversible.

How can someone work with him?

Use the Book a call section on torrevillas.tech or email angelo.automates@gmail.com with a short description of the process you want to automate.

Discovery call

Let's find what's worth automating.

A short call about how your process runs today, where manual work is slowing it down, and whether automation is the right fix.

  1. Walk through the process

    How work moves today: the tools, the people and the hand-offs.

  2. Find the manual gaps

    Where repetitive work, errors or delays are costing you time.

  3. Agree on next steps

    What to automate first, and what it takes to make it dependable.

Book a discovery call

Pick a time that suits you. The calendar is provided by GoHighLevel and loads as you reach this section.

Calendar not loading? Open it in a new tab or email angelo.automates@gmail.com.

Contact

Tell me what's manual, slow or fragile.

Prefer to write first? Send a few lines about the process you want to automate. I'll tell you honestly whether automation is the right fix — and what it would take to make it dependable.

Case studies

Selected system · Accounts receivable

AR Payment Chasing

  • Concept Demo · FINAL
  • Portfolio system · synthetic data

Concept Demo · FINAL: the four core workflows are complete and run on synthetic invoices. A real accounting connection, the final-notice approval step, opt-out suppression and monitoring are planned for a later phase.

Chases overdue invoices by email — once per customer, at the right escalation level, and never after they've paid.

Problem

Chasing overdue invoices is repetitive, but mistakes are expensive: a reminder sent after payment, three emails to one customer, or a message to the wrong address damages the relationship. Simple automations can't rule those out.

Solution

Four n8n workflows over a PostgreSQL state machine. Deterministic rules decide who to chase and how firmly; reminders go through a durable outbox that re-checks each invoice before sending; replies are triaged by a narrowly scoped AI classifier that cannot change financial records.

How it flows

  1. Sync invoicesAccounting adapter → idempotent upsert into PostgreSQL
  2. Plan chasesEligibility rules, one consolidated reminder per customer at its highest tier
  3. Final notices held Never auto-sentInvoices 45 or more days overdue: the final notice is held, based on invoice age, not amount
  4. DispatchAtomic claim → re-check payment → allowlist → kill switch → send
  5. Route repliesKeyword pre-filter, then AI classification with a confidence floor
  6. Audit trailEvery sent, blocked, superseded or failed outcome is recorded

Runs automatically

  • Invoice sync with stable, duplicate-free upserts
  • Eligibility and escalation-tier decisions
  • Per-customer consolidation and outbox de-duplication
  • Template rendering per tier
  • Reply triage: a verified promise to pay pauses chasing and a dispute stops it; opt-out, bounce and out-of-office replies are flagged for a person

Where humans decide

  • Final notices for invoices 45 or more days overdue stay in awaiting approval; dispatch cannot claim them, and no approval step is built yet
  • Low-confidence reply classifications aren't acted on automatically
  • An operator can stop all sending with the kill switch

Guardrails

  • Atomic claim — a single UPDATE … RETURNING
  • Send-time revalidation: paid or closed invoices are superseded, not sent
  • Recipient-domain allowlist
  • Kill switch that safely releases claimed rows
  • AI classifier has no tools and no write access to financial state

Stack: n8n · PostgreSQL · Gmail API · OpenRouter LLM (classification only) · JavaScript

Selected system · Bids & proposals

RFP & Tender Response

  • FINAL · structural completeness
  • Portfolio system · synthetic tenders

FINAL · structural completeness: every workflow is built and passes validation; full runtime testing of the system is still to come.

Turns tender documents into reviewed, approved draft answers — with a person signing off at every point that matters.

Problem

Answering a tender means pulling every requirement out of long, inconsistent documents, finding the best previously approved answer, drafting the rest and getting sign-off before a hard deadline. A missed requirement or an unapproved claim can cost the bid.

Solution

A multi-workflow n8n system on PostgreSQL with vector search. It parses tender documents, extracts and reconciles requirements, retrieves and scores answers from an approved library, drafts with a structured AI call, and routes every answer through review, approval and owner-only final sign-off.

How it flows

  1. Ingest tenderPDF, DOCX, XLSX or CSV → parsed text
  2. Go / no-go Human decisionRecorded with a rationale before any work starts
  3. Extract requirementsExtraction and reconciliation, including addenda
  4. Confirm requirements Human decisionThe locked list is what gets drafted
  5. Retrieve & draftVector retrieval and scoring; low confidence becomes a review task, not a draft
  6. Review, approve, sign off Human decisionPer-answer approval, escalation on deadlines, owner-only final sign-off

Runs automatically

  • Document parsing and requirement extraction
  • Candidate retrieval and confidence scoring
  • Structured, validated AI drafting
  • Review-package compilation
  • Deadline sweeps with tiered Slack escalation
  • Answer-library freshness checks

Where humans decide

  • Whether to bid at all
  • Which requirements are confirmed
  • Every answer: approve, reject, or hand to manual drafting after two rejections
  • Final sign-off by the bid owner only, through a verified login rather than a typed name

Guardrails

  • AI drafts but never approves
  • Owner-only enforcement on sign-off; unauthorized attempts are rejected
  • Append-only audit events
  • Fail-closed kill switch at twelve entry points
  • Duplicate decisions return “already processed”

Stack: n8n · PostgreSQL + pgvector · Ollama embeddings · OpenRouter (GPT-4o mini) · Google Drive & Docs · n8n Forms with user auth · Slack

Selected system · Healthcare funnel & payments

Medical Clinic Website & Payment Integration

  • In development · Sandbox
  • Portfolio system · fictional clinic

A paid online-consultation funnel where the patient only receives consultation access after a signed payment webhook has been verified against the database.

Visit demo site (opens in a new tab)Public GoHighLevel preview of the fictional clinic. Its checkout runs in PayMongo test mode only.

Problem

For paid online consultations, the consultation link is the product. A clinic needs patients to move smoothly from interest to booking, but access should only be released once payment is genuinely confirmed — not because a redirect page said so.

Solution

Built in two stages. First the GoHighLevel layer: a patient funnel and CRM workflows that move contacts through a pipeline, send reminders and alert staff. Then a payment layer in n8n and PostgreSQL: server-side pricing, PayMongo hosted checkout, signature-verified webhooks and a database-backed payment state that decides what the patient receives — synced back to the CRM.

System layers and their status

  1. Patient funnelGoHighLevel pages: landing → talk to a doctor → doctor profile → patient details → payment → confirmationBuilt · public preview
  2. CRM & bookingFour GHL workflows and a booking-reminder loop: readiness routing, pipeline stages, booking reminders, medical-history stage, visit follow-upImplemented
  3. PricingServer-side quote with USD → PHP conversion; the browser never sets the priceRuntime-tested
  4. CheckoutPayMongo hosted checkout with a guard that refuses anything but test modeSandbox-tested
  5. Payment verificationSigned webhook → HMAC check → idempotent event → guarded state change in PostgreSQLBuilt · sandbox
  6. Access & confirmationConsultation and medical-history links are emailed only after verified paymentBuilt · sandbox
  7. CRM syncVerified payment → one controlled tag write to the GHL contactVerified once · controlled
  8. Staff notificationGHL alert to staff when the verified-payment tag landsImplemented

Sandbox means PayMongo test mode — no real money moves. Verified once · controlled means one deliberate, supervised run has verified the CRM sync, which stays locked outside such runs.

Runs automatically

  • Lead routing, pipeline moves and booking reminders in GHL
  • Price quote, checkout creation and webhook verification
  • Payment-state transitions and confirmation email
  • Verified-payment status synced to the CRM contact

Where humans decide

  • Staff are notified on verified payment and continue the clinic process
  • Staff move a patient to the on-site visit stage, which triggers follow-up
  • CRM writes run only as deliberate, controlled runs — the sync is kept locked otherwise

Guardrails

  • Missing or invalid doctor is rejected — never defaulted to another doctor
  • Invalid webhook signatures get a 401 and are logged
  • Duplicate webhooks are acknowledged but not re-processed
  • Already-settled payments can't transition twice
  • Database outage returns 503 so the provider retries

Stack: GoHighLevel · n8n · PostgreSQL (Supabase) · PayMongo · Webhooks + HMAC · Gmail API · HTML/CSS/JS

Client work · Paid trial

AI Proposal Intake & Pricing System

  • Interior design firm · anonymized
  • Core flow delivered & verified

Turns a sales intake into a priced, AI-reviewed, approved proposal PDF — and makes sure only an approved proposal reaches the client, once.

Problem

The firm wanted design-fee proposals produced from sales intake under firm rules: the same inputs must always give the same fee, AI may advise but never set prices, Sales must approve before anything is sent, and retries or edits must never duplicate a proposal or a client email.

Solution

A 65-node n8n workflow. Deterministic JavaScript pricing runs first; an AI review then checks risk and missing information and returns structured output; Sales decides; the proposal is generated as a PDF, previewed, approved and emailed to the client with Sales copied — with every step recorded.

How it flows

  1. Sales intakeForm, normalization, validation
  2. Version checkNew proposal, material revision, or delivery-only correction
  3. Deterministic pricingRules-based fee with a visible breakdown
  4. AI risk reviewStructured JSON; flags items for manager review
  5. Sales decision Human decisionReview the fee and AI findings, then continue; the adjust-pricing and request-changes options aren't connected yet
  6. Proposal PDFDocument built, exported and stored
  7. Preview & approve Human decisionApprove or send back for revision
  8. Deliver onceDuplicate-send check, then email client and CC Sales

Runs automatically

  • Input validation and proposal numbering
  • Revision detection against existing proposals
  • Fee calculation and AI risk review
  • Document, PDF and record creation
  • Client delivery and status logging

Where humans decide

  • Higher-risk proposals are flagged for manager review; that review step isn't built yet
  • Sales reviews the fee and the AI findings before the proposal is built
  • Sales previews and explicitly approves the PDF before sending

Guardrails

  • The AI never calculates the base fee
  • Structured-output parsing on the AI review
  • Duplicate-send and duplicate-resend blocks
  • AI, PDF and email failures logged on their own paths
  • Separate error-alert workflow

Stack: n8n Forms & Code · OpenRouter (Llama 3.3 70B) · Google Docs & Drive · Google Sheets records · Gmail · Slack error alerts

Build · n8n · AI agent

SQL Sales Analytics Assistant

  • Experimental

Answers sales questions in Slack. An AI agent queries a PostgreSQL sales table through a SQL tool, then uses calculator and reasoning tools before replying. It evolved from the earlier AI Sales Data Assistant, which used n8n Data Tables.

Answer accuracy is still being evaluated: some test answers contained wrong dates or totals.

Stack: Slack · n8n · OpenRouter (GPT-4o mini) · PostgreSQL

Build · n8n · Voice agent

Dental Voice Appointment Setter

  • Built · not currently active

A Vapi voice agent calls five n8n webhook tools to check, book, update and cancel Google Calendar slots and to record call results, logging bookings in Airtable.

Stack: Vapi · n8n webhooks · Google Calendar · Airtable

Build · n8n · RAG

RAG Employee Handbook Assistant

  • Active

Answers policy questions in Slack from company documents. New files in a Google Drive folder are embedded with Ollama into a Supabase vector store; an agent retrieves the relevant passages before answering.

Stack: Google Drive · Ollama embeddings · Supabase vector store · OpenRouter · Slack

Build · Knowledge-grounding experiment 1 of 3

Full-Context Assistant: document in the prompt

  • Experiment

One of three small chat agents comparing ways to ground answers in documents. This one answers from reference material written directly into the agent's prompt, with no retrieval step. The RAG assistant is the later approach.

Stack: n8n chat trigger · OpenRouter (GPT-4o mini)

Build · Knowledge-grounding experiment 2 of 3

Full-Context Assistant: documents fetched per message

  • Experiment

Fetches two Google Docs on every message and passes their full text to the agent, trading tokens for complete context.

Stack: n8n · Google Docs · OpenRouter (GPT-4o mini)

Build · Knowledge-grounding experiment 3 of 3

Full-Context Assistant: documents as tools

  • Experiment

The same two Google Docs exposed as tools, so the agent decides when to read them instead of receiving them on every message.

Stack: n8n · Google Docs tools · OpenRouter (GPT-4o mini)

Build · n8n · AI agent

Messenger Inquiry Assistant

  • Active

Answers Facebook Messenger inquiries about services from a Google Docs knowledge source. Handles Meta's webhook verification handshake, filters non-text events, keeps short conversation memory and replies through the Graph API.

Stack: Messenger webhook · Google Docs · OpenRouter (GPT-4o mini) · Graph API

Build · n8n · AI agent

AI Sales Data Assistant

  • Superseded by the SQL version

The first sales assistant: a chat agent that answers questions through four n8n Data Table tools — all rows, by product, by date, by transaction — plus a calculator. The SQL Sales Analytics Assistant replaced the Data Table tools with a PostgreSQL query tool.

Stack: n8n Data Tables · OpenRouter (GPT-4o mini)

Build · n8n · Document AI

Invoice Agent for Telegram

  • Active

Send an invoice photo to a Telegram bot: OCR extracts the text, an AI step turns it into structured fields, missing fields and duplicates are caught, the file goes to Google Drive, the record to Google Sheets, and a confirmation comes back. A separate error-handler workflow reports failures.

Stack: Telegram · OCR.space · OpenRouter (GPT-4o mini) · Google Drive · Google Sheets

Earlier build · Zapier

Zapier–Asana CRM Automation

  • Earlier build

An updated Asana task splits into five paths — Ready to Start, No Response, Quoted, Approved, and Paid and Closed — that create lead folders and sub-tasks, send timed Gmail follow-ups, and draft welcome and recommendation emails with AI.

Stack: Zapier · Asana · Google Drive · Gmail · AI by Zapier

Earlier build · Zapier

Zapier Lead Qualification & Outreach

  • Earlier build

A form submission is enriched with company data from Apollo, scored by AI and stored through Supabase's REST API, then routed by priority: high and medium leads are automatically sent an AI-written outreach or nurturing email, with a Slack alert; low leads get a summary in Slack.

Stack: Zapier · Apollo API · AI by Zapier · Supabase REST · Gmail · Slack

Earlier build · Zapier

Zapier Content Repurposing

  • Earlier build

An mp3 dropped into Google Drive is transcribed, turned into two blog drafts and Facebook and LinkedIn posts, then routed by an AI approval step to publish or to a “needs review” path saved in Google Docs — with every stage logged in Google Sheets.

Stack: Zapier · Google Drive · AI by Zapier · Google Sheets · Google Docs · Facebook Pages · LinkedIn

Earlier build · GoHighLevel

Car Insurance Sales Workflows

  • Earlier build

A set of GoHighLevel workflows for a car-insurance sales process. The first takes a new or tagged contact, creates an opportunity, tags it, sends the insurance intake form, assigns an available agent and notifies the team.

Stack: GoHighLevel workflows · email

Earlier build · GoHighLevel

Salon Client Retention Pipeline

  • Earlier build

GoHighLevel workflows for a salon. New-lead intake turns an inquiry form into an opportunity with a tag, a welcome email, a front-desk notification, a note and a “contact within 1 hour” task.

Stack: GoHighLevel workflows · email

Earlier build · GoHighLevel

Lead Nurturing Pipeline

  • Earlier build

GoHighLevel workflows that move a lead through tagged stages. When the appointment form is submitted, the “new lead” and “nurturing” tags are removed and “booked” is added.

Stack: GoHighLevel workflows · forms

Background · Team thesis

Rebar Vista — Deep Learning-Based Rebar Column Measurement System

A Raspberry Pi 5 with a camera and distance sensor photographs a rebar column; a Mask R-CNN model — chosen after evaluating YOLOv8 and RetinaNet — detects it, the system computes its dimensions and concrete volume, and a web app recommends the cement mixture.

My role

  1. Deep-learning model
  2. Web application
  3. Raspberry Pi deployment

I started as the deep-learning model developer, was reassigned to web-application development in the final phase, and integrated the move from a laptop-hosted web app to a Raspberry Pi deployment.

96.3%System test success rate: 77 of 80 trials within a ±5% tolerance
4.54 / 5Average evaluator rating (two evaluators, five-point scale)

Trials covered rebar-column detection (19/20), non-rebar detection (20/20), dimension and volume computation (19/20) and cement-mixture estimation (19/20).

Stack: Python · Mask R-CNN · OpenCV · Flask · Raspberry Pi 5

Background · Internship · Quezon City Public Library

Employee Daily Time Record System

A web application that replaced manual attendance records: employee time-in and time-out, attendance history, an admin dashboard with search and filters, and attendance reports.

Stack: PHP · MySQL · JavaScript · HTML/CSS

Process maps in detail

Process map · Accounts receivable

AR Payment Chasing

  • Concept Demo · FINAL

Chase overdue invoices by email: once per customer, at the right level of firmness, never after payment.

The challenge

Chasing overdue invoices is repetitive, but mistakes are costly: a reminder after payment, several emails to one customer or a message to the wrong address damages the relationship.

The approach

Fixed rules decide who to chase and how firmly, every reminder is re-checked just before it's sent, and customer replies are sorted by an AI classifier that can't change any financial records.

Process map · Bids & proposals

RFP & Tender Response

  • FINAL · structural

Turn tender documents into reviewed, approved answers, with a person signing off at every point that matters.

The challenge

Answering a tender means pulling every requirement out of long, inconsistent documents and getting approved answers signed off before a hard deadline. A missed requirement or an unapproved claim can cost the bid.

The approach

Requirements are extracted and confirmed by a person, answers are drafted only from an approved library, and every answer goes through review, approval and the owner's final sign-off.

Process map · Healthcare funnel & payments

Medical Clinic Website & Payment Integration

  • In development · Sandbox

A patient only receives consultation access after the payment has been genuinely confirmed.

The challenge

For paid online consultations, the consultation link is the product: access should only be released once payment is genuinely confirmed, not because a confirmation page said so.

The approach

A patient journey from choosing a doctor to payment, where the clinic's system sets the price, checks that the payment confirmation is genuine and only then sends the consultation links. A separate CRM process follows up on bookings and visits.

Process map · Interior design firm · Anonymized

AI Proposal Intake & Pricing System

  • Core flow delivered & verified

Turn a sales intake into a priced, AI-reviewed, approved proposal that reaches the client once.

The challenge

The firm needed design-fee proposals from sales intake where the same inputs always give the same fee, Sales approves before anything is sent, and retries never duplicate a proposal or a client email.

The approach

Rule-based pricing runs first, AI reviews proposal risk and recommends a complexity-based fee uplift, Sales reviews the fee and approves the PDF, and the client receives the proposal once.

Process map · n8n · RAG

RAG Employee Handbook Assistant

  • Active

Answer staff policy questions in the team chat, grounded in the company's own handbook documents.

The challenge

Staff have policy questions whose answers are in the company's handbook documents.

The approach

New handbook documents are indexed as they're added; when someone asks in Slack, AI finds the relevant passages and answers from them.

Process map · n8n · AI agent

Messenger Inquiry Assistant

  • Active

Answer customer questions about services on the business's Facebook page.

The challenge

Customers send inquiries about the business's services through Facebook Messenger.

The approach

Text messages are answered by AI from a single services document, with short conversation memory; other message types are ignored.

Process map · n8n · Document AI

Invoice Agent for Telegram

  • Active

Photo of an invoice in, checked invoice record out.

The challenge

Invoice photos need to become structured records, with missing details and duplicate invoices caught before anything is stored.

The approach

The text is read from the photo, AI pulls out the invoice details, and missing details or duplicates are reported back before anything is stored.

Process map · n8n · AI agent

SQL Sales Analytics Assistant

  • Experimental

Answer sales questions in the team chat from the company's sales records.

The challenge

Sales questions need answers drawn from the sales records, including calculated totals.

The approach

Questions asked in Slack are answered by an AI agent that looks up the sales records and uses a calculator. Answer accuracy is still being evaluated.

Process map · n8n · Voice agent

Dental Voice Appointment Setter

  • Built · inactive

An AI voice assistant answers calls and books, moves or cancels appointments in the clinic calendar.

The challenge

Callers need to check, book, move or cancel appointments over the phone.

The approach

An AI voice assistant handles the call and uses calendar actions to find free times and book, move or cancel appointments, recording the outcome of every call.

Process map · n8n · Experiment

Full-Context Assistant: document in the prompt

  • Experiment

Knowledge-grounding experiment 1 of 3: the reference material is written into the assistant's instructions.

The challenge

Comparing ways to give a chat assistant the reference material it answers from.

The approach

The reference material is written directly into the assistant's instructions, with no lookup step.

Process map · n8n · Experiment

Full-Context Assistant: documents fetched per message

  • Experiment

Knowledge-grounding experiment 2 of 3: both reference documents are fetched in full for every message.

The challenge

Comparing ways to give a chat assistant the reference material it answers from.

The approach

Both reference documents are fetched in full on every message, trading cost per message for complete context.

Process map · n8n · Experiment

Full-Context Assistant: documents as tools

  • Experiment

Knowledge-grounding experiment 3 of 3: the assistant decides for itself when to read the reference documents.

The challenge

Comparing ways to give a chat assistant the reference material it answers from.

The approach

The documents are available as tools, so the assistant decides for itself when to read them.

Process map · n8n · AI agent

AI Sales Data Assistant

  • Superseded by SQL version

The first sales assistant, answering from a small sample sales table. Replaced by the SQL Sales Analytics Assistant.

The challenge

An early test of answering sales questions from a small sample dataset.

The approach

A chat assistant looks up sales by product, date or transaction and calculates totals. It was later replaced by the SQL Sales Analytics Assistant.

Process map · Zapier · CRM

Zapier–Asana CRM Automation

  • Earlier build

When the team moves a lead to a new stage, the matching follow-up happens automatically.

The challenge

Each stage a lead reaches on the project board calls for a different follow-up.

The approach

When the team updates a lead's stage, the matching follow-up runs: a project folder and task, timed follow-up emails, quote follow-ups, or an AI-written welcome or recommendation email.

Process map · Zapier · Lead qualification

Zapier Lead Qualification & Outreach

  • Earlier build

Enrich and score every new enquiry, then follow up according to how promising the lead is.

The challenge

New form enquiries need enriching with company data and prioritising, so each gets the right follow-up.

The approach

Each enquiry is enriched with company details and scored by AI; high and medium leads are automatically sent an AI-written email with a sales alert, and low leads are summarised for sales.

Process map · Zapier · Content

Zapier Content Repurposing

  • Earlier build

Turn one recorded audio file into blog and social posts, publishing or holding them for review.

The challenge

One audio recording needs to become blog posts and social posts.

The approach

The audio is transcribed and drafted into blog and social posts by AI; an AI check then publishes them or saves them for a person to review.

Process map · GoHighLevel · CRM

Car Insurance Sales Workflows

  • Earlier build

Move a car-insurance lead from first contact to an issued policy, with follow-up at each stage.

The challenge

A car-insurance lead passes through several stages, from first contact to an issued policy, each with its own follow-up.

The approach

Each stage triggers its own emails, assignments and team alerts, from the intake form and package options to upsell offers and policy delivery.

Process map · GoHighLevel · CRM

Salon Client Retention Pipeline

  • Earlier build

Take a salon client from first enquiry through their service to a rebooking follow-up.

The challenge

A salon client moves from first enquiry, through their service, to rebooking, and each stage has its own follow-up.

The approach

The enquiry creates the client record and a welcome email; as staff move the client through each stage, the matching emails, notes and tasks follow, ending with a rebooking offer.

Process map · GoHighLevel · CRM

Lead Nurturing Pipeline

  • Earlier build

Keep in touch with a new lead until they book an appointment, then welcome them as a client once paid.

The challenge

New leads who don't book straight away need following up until they do.

The approach

Leads get a booking link, then a nurturing email each day until they book; the booking is confirmed, and paid clients are moved to the client stage and thanked.