☁️ Cloud & Hosting

The platforms and infrastructure I use to build, deploy, and scale applications — from simple web apps to complex distributed systems.

Cloud infrastructure is where development turns into production.
I focus on using reliable, secure, and cost-effective hosting platforms that give me flexibility across different projects — whether that’s a Rails app, a Java API, or an IoT backend.

🌎 Primary Cloud Platforms

  • Amazon Web Services (AWS)
    My main platform for enterprise and high-availability environments.
    I use AWS EC2 for app hosting, RDS for managed PostgreSQL databases, and S3 for asset storage and backups. CloudWatch and IAM play key roles in monitoring and access control.
    I often combine these with Docker containers and GitHub Actions for smooth, automated deployments.

  • Linode
    My preferred choice for lightweight and personal projects. Linode’s simplicity, predictable pricing, and solid performance make it ideal for hosting Rails and API services that don’t need AWS-level complexity.
    I use it frequently with Kamal for container-based deployments and SSL-secured endpoints.

  • Vercel
    The go-to platform for hosting static and Next.js applications — like my personal website.
    Its automatic builds, previews, and global CDN make frontend deployments seamless and ridiculously fast.

  • DigitalOcean (occasional use)
    Used mainly for proof-of-concepts and quick client demos. I like its straightforward dashboards and easy scaling options for short-term projects.

🧱 Application Hosting Stacks

  • Ruby on Rails + Kamal (Dockerized) – For full-stack web applications, deployed on Linode or AWS with built-in CI/CD pipelines.
  • Spring Boot (Java) – Deployed on Tomcat or Jetty servers, often within Docker containers or managed instances.
  • Next.js / React – Hosted on Vercel for instant builds, previews, and edge caching.
  • C# .NET Apps – Deployed on Windows Server or Docker for cross-platform environments.

🗄️ Databases & Storage

  • PostgreSQL – My standard choice for relational data, managed on AWS RDS or self-hosted.
  • MySQL / MariaDB – Used occasionally for legacy systems or client-specific integrations.
  • Redis – For caching, background jobs, and session storage in high-traffic applications.
  • S3 Buckets & Cloud Storage – For static assets, logs, and backups — secure and versioned for long-term reliability.

🚀 Deployment & Automation

  • Kamal – My favorite lightweight deployment tool for Rails, built around Docker.
  • GitHub Actions – Handles all CI/CD workflows — from automated testing to image builds and deployments.
  • Containerization – Every production environment runs in Docker containers for consistency and easy scaling.
  • SSL & Reverse Proxies – Managed through Nginx or Caddy, depending on project requirements.

This stack gives me the freedom to choose the right environment for each project —
lightweight when it can be, robust when it needs to be — without compromising on performance or security.