I am a full-stack software engineer focused on designing and deploying reliable web applications using Go, Ruby on Rails, and React with TypeScript. My work centers on building API-first systems with well-defined domain models, secure authentication boundaries, and infrastructure that can be deployed and maintained consistently across development and production environments. In addition to custom application development, I have also implemented and maintained Joomla and WordPress installations where a CMS is the appropriate solution for rapidly delivering complex organizational websites.

I approach software engineering as a systems discipline. Rather than treating backend development, frontend implementation, database design, and deployment as isolated concerns, I design applications as cohesive platforms in which each layer supports the others. This approach emphasizes clear separation of responsibilities, structured service layers, disciplined version control workflows, and infrastructure designed for scalability, operational clarity, and long-term maintainability.

My backend architecture often centers on API development in Go or Rails, depending on project requirements. In Go, I build stateless API services using web frameworks such as Gin to manage routing, middleware, and request/response lifecycles. For authentication and authorization, I implement JWT-based flows using packages such as golang-jwt/jwt, along with golang.org/x/crypto/bcrypt for secure password hashing and credential verification. For persistence, I work with PostgreSQL using tools such as GORM or other structured data-access layers to manage user records, relational integrity, and application data in a maintainable way. In Rails-based systems, I commonly use Rails 7 API-only services with Devise-based authentication and JWT-backed authorization patterns to support secure communication between clients and backend APIs. Where needed, I also incorporate PostGIS for geospatial and location-aware functionality.

Across projects, I containerize services with Docker Compose to maintain environment parity between local development and production. I implement CI/CD pipelines with GitHub Actions, publish container images to GitHub Container Registry, and deploy to Ubuntu-based VPS infrastructure behind Nginx reverse proxies. This allows me to manage the full application lifecycle, from architecture and implementation through testing, packaging, deployment, and operational maintenance.

On the frontend, I build strongly typed React applications with TypeScript, structured Axios service layers, and modular SCSS architectures that preserve clear boundaries between presentation, data access, and application state. Where needed, I integrate external services such as Stripe in a way that keeps transactional workflows isolated from core business logic and preserves long-term maintainability.