About Me
Hi, my name is Areg and I help development teams rapidly build and deploy reliable and maintainable web applications.
In the past I have developed mission critical software for organizations as diverse as America Online, Autobytel and Disney.
I am the author of the Always Deployed Manifesto and Endpoint Driven Development web application development and deployment methodologies that help developers provide continuous customer value, faster, by using tools that support this development process.
My rapid application development stack
My web development stack is focused on building server side HTML
rendered Majestic Monolith web apps.
- Laravel - Rapid Application Development PHP web framework
- livewire - Laravel Javascript framework for rendering server side components
- AlpineJS - Declarative JavaScript behavior framework
- Tailwindcss - Utility first CSS framework
- StimulusJS - MVC framework for organizing client side Javascript
- Turbolinks - Framework for Ajax loaded html pages
- IntercoolerJS - Framework for Ajax loaded html fragments
- htmx - Html attribute based framework similar to IntercoolerJS
For more info, also see the TALL Stack (Tailwind Alpine Laravel Livewire)
My lean development process
- Always Deployed - continuous delivery guarded by feature flags
- Endpoint Driven Development - incremental feature development guarded by feature tests
- Trunk Based Development - continuous integration into master delivery branch
- No Estimates - because working software is the primary measure of progress
- Kanban - Agile done right with just in time work item pulling and work in progress (WIP) limits
My development tools
- PHPDocker.io - Docker containers for locally running the LEMP stack, Redis,Elasticsearch and Mailhog
- ngrok - Secure public URLs for local webhook testing
- VSCode - Lightweight editor and IDE
- PHPStorm - Powerful PHP IDE
- TablePlus - Database management GUI for MySQL, Redis and more
Services I use
- kanbanflow - Kanban board with Pomodoro timer
- Mailtrap - Email delivery testing service
- Zeplin - Web design service for developer and designer collaboration
- DigitalOcean - Cloud deployment with managed MySQL database, managed Redis cluster and Managed Load Balancer
- SendGrid - Transactional Email Service
- HoneyBadger - Exception, uptime, scheduled task and background job monitoring for Laravel
- Papertrail - Application log aggregator
- Cloudinary - Media file hosting and CDN service
- Amazon S3 - AWS Cloud Media file hosting
- Cloudflare - CDN front for Amazon S3
My Laravel development setup
My development stack embraces the boring stack and 12 factore apps philosophies as much as possible.
- PHP, Composer, Laravel Valet installed on host machine.
- MySQL, Redis, ElasticSearch and MailHog running in Docker containers via Docker Compose.
- NodeJS installed on host machine via node version manager (nvm)