Over time, I’ve found myself solving the same problems across different Laravel projects. Rather than re-implementing the same solutions again and again, I started extracting them into small, focused packages that are easy to drop into any application.
Below is an overview of the Laravel packages I’ve built so far, what they do, and the kinds of problems they are designed to solve.
CurrencyExchange – Currency Rates and Conversion Made Simple
CurrencyExchange is a Laravel package that provides a straightforward way to retrieve exchange rates and perform currency conversions.
It integrates with the ExchangeRate API to ensure reliable and up-to-date data, and it is designed to be simple to configure and extend.
Features
- Retrieve real-time exchange rates for any supported currency
- Convert between two currencies with a clean API
- Configurable default base currency and API key
- Optional frontend UI for fetching rates and conversions
- Lightweight and suitable for any Laravel application
This package works well for SaaS platforms, e-commerce projects, or any application that needs currency data without unnecessary complexity.
https://packagist.org/packages/mattyeend/currency-exchange
Dynamic Enum Generator – PHP Enums from Database Columns
Modern PHP gives us native enums, but database schemas often lag behind. Dynamic Enum Generator bridges that gap by generating PHP 8.1+ enums directly from database columns.
Features
- Works with any table and column
- Automatically creates missing directories
- Generates native PHP enums
- Ideal for status, role, and type fields
It helps keep application logic strongly typed and aligned with the underlying database structure.
https://packagist.org/packages/mattyeend/dynamic-enum-generator
Guest-to-User Helper – Seamless Guest Migration
Many applications allow users to interact as guests before registering or logging in. Guest-to-User Helper makes it easy to migrate guest-owned data to a real user account when that happens.
Features
- Compatible with Laravel 10, 11, and 12
- Assigns a unique guest identifier
- Automatically migrates guest-owned models on registration or login
- Simple API with no deep framework coupling
This is particularly useful for carts, drafts, preferences, and other temporary data that should persist after sign-up.
https://packagist.org/packages/mattyeend/guest-to-user-helper
Health Status – Application Health Monitoring
Health Status provides a simple way to monitor the operational health of a Laravel application from within the app itself.
What It Monitors
- Database connectivity and latency
- External host ping checks
- Queue sizes
- Cron heartbeat
- Disk usage
It supports Laravel 10, 11, and 12, and works well as the foundation for internal dashboards or alerting systems.
https://packagist.org/packages/mattyeend/health-status
Laravel Model Service – Generate Models with Services
For projects that follow a service-layer architecture, Laravel Model Service extends the make:model command to generate a matching service class at the same time.
Features
- Adds a
-sor--serviceflag tomake:model - Generates service classes in
app/Services - Fully PSR-4 compliant
- Works with all existing
make:modeloptions
This helps enforce consistency and reduces repetitive setup work.
https://packagist.org/packages/mattyeend/laravel-model-service
Logging – Structured Application Event Logging
Logging is a database-driven event logging package for Laravel applications that need more than simple file logs.
Features
- Log predefined or custom actions
- Track the user performing an action and any related user
- Store additional structured data as JSON
- Includes common predefined actions such as login, logout, and user creation
It is well suited to auditing, analytics, and applications where traceability matters.
https://packagist.org/packages/mattyeend/logging
Prevent Destructive Commands – Protect Production Environments
Prevent Destructive Commands is a small but important package that disables dangerous Artisan commands in production environments.
Its goal is simple: reduce the risk of accidental data loss caused by running destructive commands on a live system.
https://packagist.org/packages/mattyeend/prevent-destructive-commands
Queue Monitor – Real-Time Queue Visibility
Queue Monitor provides real-time insight into how Laravel queues are behaving.
Features
- Monitor queue processing in real time
- Track job execution times
- View failed jobs and retry status
It is especially useful for diagnosing bottlenecks and ensuring background jobs are running as expected.
https://packagist.org/packages/mattyeend/queue-monitor
Closing Thoughts
Each of these packages exists because I needed a clean, reusable solution to a real problem. They are deliberately lightweight, opinionated where necessary, and designed to integrate naturally with Laravel rather than fighting against it.
If any of these solve a problem you are facing, I hope they save you some time and help keep your codebase clean and maintainable.
