Projects

🌞 Golden Sol Tanning

A modern, fast, and fully custom website for a mobile spray tanning company in Scottsdale.

Golden Sol Screenshot

Tech Stack

  • Next.js 15 – App Router, Turbopack
  • React 19
  • Tailwind CSS 4
  • Firebase Admin SDK + Firestore
  • React Icons, clsx, custom hooks

Key Features

  • Custom analytics system (no third-party scripts)
  • Tracks page views, screen size, IP, referrer, user agent
  • Serverless logging with Firebase Firestore
  • Responsive, accessible, mobile-optimized design

🧰 Tauri List Tool

A fast, cross-platform ETL utility built with Tauri + Next.js + TypeScript to process DNC lists, scrub call center data, and save hours of manual work.

Tauri list tool screenshot 1Tauri list tool screenshot 2

Tech Stack

  • Tauri – Native desktop app shell powered by Rust
  • Rust – Backend system and app bundling via Tauri
  • Next.js – Frontend UI
  • TypeScript – Typed app logic
  • Tailwind CSS, React, Bun

Key Features

  • Scrubs and preprocesses DNC and lead data lists
  • Locally bundled .EXE and MSI builds for Windows users
  • Used daily by call center coworkers
  • Two-process dev flow with Tauri and Next

🛡️ ThreatDetector

A modular Apache log parser written in Perl to detect intrusion attempts on Linux-based web servers and Vicidial systems. Install the module, call ThreatDetector::ThreatDetector::analyze_log(), and it just works — no config needed.

SQL Injection
XSS & Command Injection
Brute Force Logins
Suspicious Headers
Encoded Payloads
Client Errors & Method Abuse
Parsing log file...
[2025-07-06 12:21:33] [SQLInjection] 192.168.1.42 GET /index.php?id=1%20OR%201=1
[2025-07-06 12:21:35] [XSS] 192.168.1.42 GET /search?q=<script>alert(1)</script>
Threat summary saved to ./2025-07-06_threat_results.log

Key Features

  • Detects and classifies 10+ web attack types from Apache logs
  • Drop-in usage with analyze_log()
  • Verbose output for CLI visibility
  • No external config or setup required
  • Minimal dependencies: Perl 5.10+ and core CPAN modules

Modules Used

  • JSON, File::Slurp, Getopt::Long
  • Time::HiRes, POSIX, IPC::System::Simple