Building Assetika: Custom Laravel & TailAdmin ITSM Application with Vibe Coding

August 30, 2026

Assetika is an in-house IT Asset Management (ITAM) and Service Desk (ITSM) platform built to solve real-world hardware tracking, ticket SLAs, and reporting challenges.

Instead of relying on heavy legacy enterprise tools, Assetika was built with a modern stack leveraging Laravel, MySQL, TailAdmin, and Vibe Coding techniques to accelerate development without sacrificing code quality.

1. System Core Architecture & Tech Stack

  • Backend: Laravel 11 / PHP 8.3 (MVC, Eloquent ORM, Service layer)
  • Database: MySQL (relational schema for Assets, Licenses, Tickets, Users, and Audit Logs)
  • Frontend & UI: TailAdmin Blade template (Tailwind CSS v3, Alpine.js, ApexCharts)
  • PDF & Export Services: Barryvdh Laravel DomPDF & Maatwebsite Excel
  • Dev & Workflow Method: Vibe Coding + AI-assisted code iteration

2. Key Modules & Technical Implementation

A. IT Asset & Inventory Lifecycle Tracking

  • Scope Tracking: Laptops, Desktops, Servers, Network Switches, APs, Monitors, and Accessories.
  • Status Workflows: In Use, In Storage, Under Maintenance, Disposed.
  • Automated QR Generation: Instant QR code generation for quick asset tagging and mobile audit scans.

B. Helpdesk & Ticket Management System

  • Ticket Lifecycle: Categorization by Priority (Low, Medium, High, Critical) and Status (Open, In Progress, Resolved, Closed).
  • SLA & Analytics: Real-time dashboard with ApexCharts tracking ticket resolution speed, category breakdown, and team workloads.

C. Role-Based Access Control (RBAC)

  • Built-in Spatie Permission rules differentiating Admin staff, IT Support, and General Employees for secure data boundaries.

3. The Vibe Coding Workflow

Building Assetika using Vibe Coding meant focusing on architecture, business rules, and rapid feedback loops:

  1. Schema First: Defining relational data structures and migrations upfront.
  2. AI Prompt Iteration: Rapidly generating CRUD controllers, Eloquent scopes, and blade views.
  3. Refactoring & Polish: Cleaning up edge cases, adding unit tests (Pest), and hardening security boundaries.
public function scopeInUse($query) { return $query->where('status', 'in_use'); } public function scopeNeedsMaintenance($query) { return $query->where('status', 'under_maintenance'); }
LinkedIn
GitHub