Developer | Ruby & Rails | WA, USA
About Me
Hi, I’m John-Alvin, a Full Stack Developer specializing in Ruby on Rails. Coding truly fuels my soul, and the thrill of continuous learning is absolutely addictive! Driven and constantly seeking to deepen my knowledge, I thrive on embracing new challenges. My interest in cybersecurity, particularly devops, informs my approach to building more robust and secure applications that solve real-world problems.
I value clear communication and actively seek opportunities to share insights and connect with fellow developers. Explore my projects on GitHub and follow my programming adventures and learning experiences on my blog. Beyond professional development, my hobby in game development broadens my creative problem-solving skills.
When not coding, you’ll find me engrossed in a good book 📚 or exploring new recipes in the kitchen 🔪.
Skills
Hotwire
Kamal
Projects
- In-development Celeste-like platformer built in Godot 4.2 using GDScript.
- Features a custom platformer physics system to achieve smooth, responsive, and precise character movement.
- Built a scene manager that listens for the signal, dynamically constructs the next level's file path, and then instantiates the new level
- Ensured transitions are robust by validating the 'player' group before firing the signal, preventing other physics bodies from triggering a level change.
- Debugged runtime issues where new scene colliders failed to load, tracing the problem back to the
CollisionPolygonShape, for compatibility with instantiation I refactored to useRectangleShapeinstead.
- Game Logic: Built a functional command-line chess game designed for one player against a computer, implemented purely in Ruby.
- Implements logic to prevent illegal moves based on piece movement rules, ensuring game integrity.
- Correctly determines and declares check and checkmate scenarios during gameplay.
- Emphasized modular class design and Single Responsibility Principle (SRP) for high code maintainability across core game objects (
Board,Pieces,Player). - Testing: Utilizes RSpec to test critical components and methods, ensuring reliability and facilitating efficient debugging.
- Built a functional single-page Task List application using React and the
useStatehook for state management. - Implements core CRUD (Create, Read, Update, Delete) functionality for tasks.
- Creation: New tasks are added via the
handleAddTaskfunction, prepending them to the list. - Update/Toggle: Tasks can be marked as complete/incomplete using
handleToggleComplete, which maps over the array to update state immutably. - Deletion: The
handleDeleteTaskfunction filters the tasks array to remove a selected item. - The architecture demonstrates component-based design, utilizing
TaskInput,TaskList, and more components to separate concerns.
- Architecture: Developed this personal portfolio website using Bridgetown for modern Static Site Generation (SSG), hosted on DigitalOcean.
- Utilized Ruby and Markdown for dynamic content injection, template rendering, and streamlined content management.
- Implemented HTML and CSS for structured layout and styling, ensuring the design is fully responsive across mobile and desktop breakpoints.
- Navigation (Mobile): Utilized JavaScript to implement a dynamic hamburger menu that toggles visibility, significantly improving navigation and user experience on mobile screens.
- Managed codebase changes and history using Git for version control.