VITE SEO Digital Advertising ERP
VITE SEO Digital Advertising, the agency I founded and have since closed, ran its people, leads, projects and books in separate places. With the in-house team, I led and co-developed one ERP that put HRIS, CRM, project management and accounting behind a single login with role-based access. We shipped 115 pages, 144 data models and 5,241 automated tests in under 3 months.
- When
- July to October 2026
- Role
- Led and co-developed the system with the in-house team
- Team
- VITE SEO Digital Advertising in-house team
- Status
- Internal system (the agency has closed)
- Stack
- Laravel, Next.js, React, MySQL, n8n, OpenRouter, GPT, Python
The problem
VITE SEO Digital Advertising grew to a team of up to 22 across sales, development, project management, marketing and SEO. HR, sales, project work and accounting each needed their own records, and some of them had to connect, such as payroll posting into the accounting books.
[Uriel to add: what the team used before the ERP, and what was hardest about it]
What we built
One system with role-based access and four modules.
- HRIS (TeamOra): attendance with geofenced clock-in and remote check-in, leave and overtime requests, recruitment, employee self-service, and payroll that computes SSS, PhilHealth, Pag-IBIG, withholding tax and 13th-month pay and issues payslips.
- CRM (Zerem): lead management with scoring and follow-ups, email outreach from connected Gmail inboxes, in-browser calling, an inbox for Facebook Page and Instagram messages, AI-drafted replies, and a map-based lead-discovery tool.
- PMS (Sprintly): workspaces, projects, tasks and subtasks with custom statuses, bulk task import with manager approval, workload analysis, activity logs and real-time updates.
- Accounting: double-entry journals, invoices, bills, purchase orders, recurring invoices, bank reconciliation and budgets, with payroll posting from the HRIS and reports for trial balance, balance sheet, profit and loss, cash flow, aged receivables and BIR VAT.
The system also connected to Gmail, Twilio Voice, Meta messaging webhooks, OpenAI and OpenRouter, used Laravel Reverb for real-time events, ran 5 n8n outreach workflows, and fed a Python lead-discovery scraper built on OpenStreetMap data.
Stack and why
- Back end: a Laravel 13 API.
- Front end: Next.js 16 with React 19.
- Database: MySQL.
- Integrations: Laravel Reverb, n8n, OpenAI, OpenRouter, Gmail, Twilio Voice, Meta messaging webhooks, and a Python scraper.
[Uriel to add: why this stack]
Results
- 4 modules (HRIS, CRM, PMS and accounting) behind one login.
- 115 pages and 144 data models.
- 5,241 automated tests.
- Built in under 3 months, from July to October 2026.
[Uriel to add: how the team used it day to day]
Written about in
Want to work together? Get in touch.