Dev Diary
Welcome to My Learning Journey, Experience & Experiments
I'm a Freelancer
Experienced in building a variety of web applications and websites. In my free time, I enjoy tinkering, browsing the internet, and coding as a hobby. I have big dreams and goals to become an expert web developer. Coming from a simple community, I'm ready to take on challenges and seek knowledge for continuous self-development. While I may not be as experienced as you might think, I'd like to demonstrate my abilities and knowledge as a professional seeking to attract employers and increase my market value. Innovation is my passion!
Continuously learning in the web development field, I keep improving and enhancing my knowledge. My focus is on back-end development with PHP and MySQL, also using frameworks like WordPress, SilverStripe, and Laravel.
Years of Experience & Counting professional development work
plus Projects delivered on time
plus Countries I've worked with
plus Code Commits contributions to project repositories
Hours of Support dedicated to maintenance and client support
plus Technologies Mastered in my development toolkit
I'm constantly expanding my technical toolkit across multiple development disciplines while exploring new frameworks and languages that can help me build more efficient, scalable web solutions.
These are the professional development tools and technologies I've mastered across various platforms to efficiently build, test, and deploy web applications throughout my career.
A showcase of diverse client projects across different industries, demonstrating my ability to develop both informational websites and complex web applications tailored to specific business needs.
I offer a wide range of full stack development services to build, scale, and maintain high-quality websites and applications. My expertise spans both front-end and back-end development, ensuring seamless functionality and user experience. Here's how I can help:
Responsive and dynamic websites using modern technologies. Cross-browser compatibility and mobile-first design.
Interactive and visually appealing user interfaces. Optimized for performance and speed.
Secure server-side development with robust databases. API integration and data protection.
Custom e-commerce platforms or integration with existing solutions. Payment gateway setup and secure transactions.
Custom content management systems like WordPress and SilverStripe. Easy-to-manage solutions for non-technical users.
Seamless integration with third-party services via APIs. Custom API development for unique requirements.
Efficient and secure database setup and optimization. Handling migrations, backups, and performance tuning.
Ongoing updates, security patches, and troubleshooting. Performance monitoring and optimization.
Website optimization for better search engine ranking. On-page SEO, keyword optimization, and analytics setup.
Implementing security measures to protect your site. Regular security audits and vulnerability testing.
Cloud infrastructure setup on AWS and Digital Ocean. Server management, scalability, and SSL setup.
Automating deployment pipelines for faster development. Version control and continuous integration (CI/CD).
Tailored solutions for project management, CRM, and more. Full-stack web application development.
Hassle-free migration between platforms with minimal downtime. Database migration and optimization.
Web accessibility for users with disabilities (WCAG 2.1 compliance). GDPR and CCPA compliance for data privacy.
A personal workspace where I experiment with new web technologies and document my learning journey, featuring interactive demos and code snippets from my creative side projects.
Welcome to My Learning Journey, Experience & Experiments
Purpose: Early exit to avoid deep nesting.
function save($user)
{
if (!$user->isActive()) return;
// proceed only if user is active
$user->saveToDatabase();
}
Purpose: Avoid code duplication, promote reuse.
function calculateTax($amount)
{
return $amount * 0.12;
}
// instead of copying the formula multiple times
Purpose: One function or class = one task only.
class User {
function saveToDatabase() {}
}
class EmailService {
function sendWelcomeEmail() {}
}
Purpose: Throw errors immediately when something is wrong, don't prolong it.
if (!input) throw new Error("Input required");
Purpose: Similar to guard clause — return immediately when done or not needed.
function process(data) {
if (!data) return;
// continue with processing
}
Purpose: Code becomes immediately understandable, even without comments.
Bad:
function x($a) {}
Good:
function sendInvoice($customer) {}
Purpose: Easier to read and maintain. Use early returns or continue/break.
Bad:
if ($a) {
if ($b) {
if ($c) {
// do something
}
}
}
Good:
if (!$a || !$b || !$c) return;
// do something
Purpose: Avoid side effects, especially in functional programming.
const updatedList = [...list, newItem]; // instead of modifying original list
Purpose: Don't mix logic, UI, and data access in one place.
Bad:
if ($status == 3) // what 3 means?
Good:
const STATUS_APPROVED = 3;
if ($status == STATUS_APPROVED)
Purpose: More flexible, easier to replace implementations.
interface Storage {
public function save($data);
}
class FileStorage implements Storage { ... }
class DBStorage implements Storage { ... }
Purpose: Don't code features that aren't needed yet.
Tip: Focus on the current need, not on "what might be needed in the future."
Purpose: Don't make it complicated. Simple logic is better.
Bad:
for ($i = 0; $i < count($arr); $i++) {
// ...
}
Good:
foreach ($arr as $item) {
// ...
}
Purpose: Use descriptive error messages for better debugging.
Bad:
throw new Exception("Error");
Good:
throw new InvalidArgumentException("User ID must be numeric.");
Purpose: Important for debugging production bugs.
if (!$db->connect()) {
error_log("Database connection failed.");
}
Purpose: Think of PSR-1 as the ABC of PHP coding standards.
Bad:
class user_profile {
function Get_user_name() {
return "John Doe";
}
}
Good:
class UserProfile
{
public function getUserName()
{
return "John Doe";
}
}
Purpose: PSR-12 is like the grammar book of PHP coding.
namespace MyApp\Blog;
class BlogPost
{
private $title;
private $content;
public function __construct($title, $content)
{
$this->title = $title;
$this->content = $content;
}
public function getTitle(): $string
{
return $this->title;
}
}
Purpose: Imagine organizing your closet — PSR-4 helps you organize your PHP files similarly.
src/
├── Blog/
│ ├── Post.php
│ └── Comment.php
└── User/
└── Authentication.php
// composer.json
{
"autoload": {
"psr-4": {
"MyApp\\": "src/"
}
}
}
This is my personal development journal where I document:
"The best way to learn is to build, experiment, and document."
Seeking employment opportunities to upgrade, develop, and enhance my experience, skills, and personal qualities.
4/F PELBEL Bldg. I, 2019 Shaw Blvd., Oranbo, Pasig City, Metro Manila, Philippines
Lope K. Santos San Joaquin, Pasig City, Metro Manila, Philippines
Lope K. Santos San Joaquin, Pasig City, Metro Manila, Philippines
Remote
Remote
7c, Tuscan Building, 114 V.A. Rufino St, Legazpi Village, Makati, Metro Manila, Philippines
3/F LYH Richsons Building J. Abad Santos Street Brgy, 3 Jose Abad Santos, San Juan, 1500 Metro Manila, Philippines
Pasig City, Metro Manila, Philippines
Religious service roles that shaped my discipline, teamwork, and commitment to community values in my formative years.
Creative abilities that complement my technical expertise and bring an artistic perspective to my development work.
Core professional attributes that drive my approach to development projects and contribute to successful collaborative outcomes.
Feel free to contact me regarding job opportunities, freelance work, or project collaborations. I'm always interested in new challenges and would be happy to discuss how my skills can help bring your ideas to life. I typically respond within 24-48 hours.
Block 116, Lot 21, Sonoma Residences, Sta. Cruz, Santa Maria, Bulacan, Philippines 3022