SKILL DETAIL

Building with AI

n8n automation workflows, AI-assisted pipelines, and mobile-first web apps — built and shipped end-to-end.

Below are three n8n workflows I built to automate recurring parts of my life — content posting, expense capture, and job hunting — followed by two mobile-first web apps. All five are open-source on GitHub.

n8n Automation Workflows

Each of these runs unattended on a schedule or trigger, chains together AI nodes (OpenAI/Gemini) with Google Sheets, Gmail, and external APIs, and handles its own error paths and retries.

📸
Instagram AI Content Posting
Fully automated daily posting pipeline · n8n
View on GitHub →
n8nOpenAI Image + TextGoogle SheetsInstagram Graph APITelegram Alerts

A workflow that runs every morning at 8AM, picks the next 5 unposted rows from a content-queue spreadsheet, generates an image and caption for each with AI, and publishes straight to Instagram — with a 3-hour delay between posts so it looks and reads as manually posted, not bot-spammed.

How it works
  1. Trigger & queue. A daily 8AM schedule reads all pending rows from the content sheet, filters out anything already posted, and picks the next 5 for the day.
  2. Per-post AI pipeline. For each post in the loop: an image is generated with AI, uploaded to ImgBB for a public URL, a caption is generated separately, then an Instagram media container is created via the Graph API.
  3. Publish & verify. After a short wait for Instagram to process the container, the post is published and the workflow checks whether publishing actually succeeded.
  4. Success path. The row is marked "Posted" in the sheet, then the workflow waits 3 hours before moving to the next post — so all 5 land spaced out through the day.
  5. Failure path. If publishing fails, the row is marked "Failed" and I get a Telegram notification immediately instead of finding out days later.
Workflow Diagram
n8n workflow: Instagram AI Content Posting System — daily trigger, AI image/caption generation, Instagram publish with success/fail branching
📩
Spending Tracker — Capture & Weekly Summary
Gmail-triggered expense capture · n8n
View on GitHub →
n8nGmail TriggerOpenAI CategorizationGoogle SheetsScheduled Digest

Two linked flows: one listens to my inbox in real time and logs every bank alert email as a transaction automatically; the other runs every Sunday night to total up the week and email me a summary — so spending tracking happens without me opening an app.

How it works
  1. Real-time capture. A Gmail trigger fires on every new email; the body is parsed for a transaction amount. If none is found, the email is discarded.
  2. AI categorization. When an amount is present, an AI node reads the merchant name and classifies it into a spending category, which then gets normalized against a fixed category list before being appended as a new row in Google Sheets.
  3. Weekly digest. Every Sunday at 8PM, a separate schedule computes the last 7 days' date range, reads all transactions from the sheet, filters and sums them by category, and emails me a summary via Gmail.
Workflow Diagram
n8n workflow: Spending Tracker — Gmail-triggered expense capture and AI categorization, plus weekly summary digest
💼
Automated Job Applications & Status Tracking
LinkedIn + Indeed + Google Sheets · n8n
View on GitHub →
n8nLinkedIn APIIndeed APIGoogle SheetsGmail Notifications

Two linked workflows that turned job hunting into something that runs on autopilot: one applies to new listings with a personalized cover letter, the other checks in every couple of days on applications already sent and lets me know the moment a status changes.

How it works
  1. 1. Apply to new jobs (daily). Reads the job-listings sheet, filters to rows still marked "Not Applied," and processes them one by one — preparing a tailored cover letter and resume link for each, then routing the application to the correct platform (LinkedIn or Indeed) before recording the result and status back to the sheet and notifying me by email.
  2. 2. Track application status (every 2 days). Reads every job already marked "Applied," checks each one's current status on the platform, and — only when a status has actually changed — updates the sheet and sends me an email; unchanged applications are skipped silently.
Workflow Diagram
n8n workflow: Automated Job Applications and Status Tracking with LinkedIn, Indeed and Google Sheets
Mobile Web Apps

Two earlier React/TypeScript apps — still in daily use, now the secondary projects on this page.

💸
Expense Tracker
Dual-pane finance tracker · Gmail auto-sync · Gemini AI
View on GitHub →

An elegant, dual-pane personal finance tracker for logging daily, weekly, and monthly expenses and savings. The standout feature is automatic transaction capture: it connects to Gmail (read-only OAuth) to detect DBS Bank alert emails, then uses the Gemini API to parse each alert into a structured transaction — amount, category, and description — so I don't have to manually enter every purchase.

How I use it
  • Log a daily expense or saving entry in seconds via the dual-pane add form
  • Let bank SMS/email alerts auto-populate transactions via Gmail sync
  • Gemini AI reads each bank alert and classifies category + amount automatically
  • Check today / this-week / this-month / all-time totals at a glance
  • Browse spending by category — Food, Transport, Bills, Rent, and more
  • Track savings sources separately — Salary, Investments, Side Hustle, Refunds
  • Switch between multiple country/currency formats and locales
  • Export the full transaction history to Excel (.xlsx) for records
  • Works fully offline with local persistence; syncs to Firebase when online
  • Dark mode built in for low-light daily use
App Preview — Mobile
9:41●●●●
Expense Tracker
ExpenseSavings
Today
$42
This Month
$1,180
Food & Dining
Today · Hawker lunch
-$8.50
Transportation
Today · Grab ride
-$14.20
Bills & Subscriptions
Yesterday
-$19.30
+
Home — dual-pane summary
9:41●●●●
Gmail Sync
🔗 Connected to Gmail (read-only) — scanning for DBS Bank alerts…
DBS Alert · Parsed
Gemini AI: Shopping
-$56.00
DBS Alert · Parsed
Gemini AI: Salary
+$3,200.00
DBS Alert · Parsing…
Awaiting classification
···
Gmail → Gemini auto-sync
Tech Stack
React 19TypeScriptViteTailwind CSS 4 FirebaseGemini APIGmail OAuthRecharts SheetJS (xlsx)Express
📈
Invest Tracker
Portfolio & savings-scheme tracker · offline-first
View on GitHub →

A mobile-first tracker for logging investment payments, managing multiple savings schemes, and monitoring portfolio growth over time — built to handle the mixed basket of instruments I actually use: recurring deposits, SSY, stocks, mutual funds, and chit funds, all in one place, with full offline persistence.

How I use it
  • Set up a "scheme" for each instrument — RD, SSY, Stocks, MF, Chit, or Custom
  • Record the monthly SIP amount and the platform/provider for each scheme
  • Log a monthly entry per scheme — amount invested vs. current value
  • See return % calculated automatically per entry and per scheme
  • Add notes and payment mode (bank transfer, UPI, auto-debit, etc.) per entry
  • Review portfolio P&L across every scheme in one consolidated view
  • Keep logging and reviewing fully offline — data persists locally on-device
  • Sync across devices via Firebase when back online
App Preview — Mobile
9:41●●●●
Portfolio
Invested
$18,400
Current Value
$21,150
HDFC Flexicap MFMF
SIP $120/mo+14.2%
SSY — DaughterSSY
SIP $80/mo+7.6%
Axis Bank StockStocks
SIP $60/mo-2.1%
+
Portfolio overview
9:41●●●●
Add Entry
RDSSYChit
Month
Jul 2026
Amount Invested
Bank transfer
$120.00
Current Value
Auto-fetched
$137.00
Return
This entry
+14.2%
Log a monthly entry
Tech Stack
React 19TypeScriptViteTailwind CSS 4 FirebaseGemini APIFramer MotionLucide Icons