Skip to content

Repository files navigation

KameOps

A business automation platform for reminders, scheduled jobs, notifications, and integrations — with Philippine credit card SOA workflows as the first module.

Track statement-of-account PDFs from Gmail, parse dues across multiple PH banks, send Telegram/Slack reminders, validate payment receipts with AI, and mark cards paid from the dashboard or bot. Built with Next.js 15, tRPC, Drizzle, Supabase, and Bun.

Features · Tech Stack · Project Structure · Routes

Next.js React TypeScript Tailwind tRPC Drizzle ORM Supabase Bun Vercel Google OAuth


Features

Credit cards & SOA

  • Card CRUD — encrypted PDF passwords, recurring due day, per-card Gmail routing, bank issuer config
  • SOA pipeline — Gmail fetch → PDF unlock/parse → summary PDF → Postgres upsert
  • Bank parsers (PH) — Metrobank, RCBC, BPI, Unionbank; OCR fallback when PDF text is unusable
  • Manual SOA upload — drag-and-drop PDF or image; auto-detects bank and statement period
  • Period workspace — Overview, Transactions, and Analytics tabs per billing cycle
  • Transaction categories — built-in labels, custom categories, keyword rules, AI categorization

Due tracking & reminders

  • Due entries — minimum/total due, paid status, partial payments, multi-receipt sums
  • Mark paid / unpaid — dashboard UI, Telegram webhook, receipt AI validation
  • Scheduled reminders — default daily jobs for payment alerts and SOA Gmail checks
  • Preventive due entries — fallback rows when the reminder window opens without a parsed SOA
  • Google Calendar — optional due-date events per card cycle

Receipts & AI validation

  • Multi-file upload — batch processing with live progress per detected card/bank
  • Gemini / Groq vision — validates payment screenshots against due amounts
  • Telegram bot — send receipt photos to mark cards paid from chat
  • Month view — receipts grouped by SOA statement period

Integrations & automations

  • Multi Google/Gmail accounts — link additional inboxes without switching sessions
  • Telegram & Slack — outbound notifications and inbound mark-paid via webhook
  • Automation jobs — cron-style scheduling with run history and manual trigger
  • Supabase pg_cron + Vercel — daily dispatch for due jobs and SOA pipeline

Dashboard

  • Overview — statement paid %, minimum met per card, attention list, spend summary
  • Settings — integrations, AI API keys, transaction category rules
  • Light / dark mode via next-themes
  • Public / landing — dashboard routes require Google sign-in

Tech Stack

Layer Technology
Framework Next.js 15 (App Router, Turbopack)
UI React 19, Tailwind CSS 3, shadcn/ui
API tRPC 11 + TanStack Query 5
Database Supabase Postgres + Drizzle ORM
Auth NextAuth 5 — Google OAuth (Gmail + Calendar scopes)
Storage Supabase Storage (SOA PDFs, receipts)
PDF / OCR pdfjs-dist, qpdf-wasm, Tesseract.js, pdfkit
AI Gemini / Groq (receipt validation, SOA extraction, transaction categorization)
Monorepo Turborepo + Bun
Hosting Vercelkame-ops-web.vercel.app
Toasts Sonner
Forms React Hook Form + Zod

Project structure

apps/web/
  src/app/                    # Routes only (pages, layouts, API handlers)
  src/features/dashboard/     # Feature modules
    credit-cards/             # Card CRUD
    soa/                      # SOA periods, statements, analytics
    reminders/                # Due entries, mark paid, automations
    receipts/                 # Upload + AI validation
    integrations/             # Gmail, Telegram, Slack settings
    settings/                 # Profile, AI keys, category rules
    overview/                 # Dashboard home
  src/server/
    routers/                  # tRPC routers
    services/                 # Business logic (SOA, reminders, receipts, …)
  src/lib/soa/                # Gmail fetch, bank parsers, summary PDF
docs/                         # Product and technical documentation
scripts/                      # Local setup, Supabase bootstrap, CLI migration
.cursor/                      # Cursor rules, skills, hooks, agents

Routes

Route Access Description
/ Public Marketing landing
/login Public Google OAuth sign-in
/dashboard Auth Overview and mission panel
/dashboard/credit-cards Auth Manage cards
/dashboard/soa Auth SOA period list
/dashboard/soa/[periodId] Auth Period detail (Overview / Transactions / Analytics)
/dashboard/reminders Auth Due entries, mark paid, scheduled jobs
/dashboard/receipts Auth Receipt upload and validation
/dashboard/settings Auth Integrations, AI keys, category rules

AI development

Path Purpose
.cursorrules Main Cursor rules
.cursor/rules/ Modular rules
.cursor/skills/ Agent skills (/credit-cards, /integrations, …)
docs/ Product and technical docs

License

Private / personal use.


Built for operators who want reminders, SOA parsing, and payment tracking in one place — not scattered scripts and inbox tabs.

About

Finance ops automation for credit cards and payment workflows. Fetch and parse SOA PDFs from Gmail, track dues and mark paid from the dashboard or Telegram, validate receipts with AI, categorize transactions, send reminders via Telegram and Slack, sync Google Calendar, and run cron automations from one dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages