JavaScript Puzzle Game
A fun puzzle game built with JavaScript that challenges logical thinking.
Play Now
STARTING MS-DOS...
function drawTree(ctx, startX, startY, length, angle,
branchWidth, color1, color2) {
ctx.beginPath();
ctx.save();
ctx.strokeStyle = color1;
ctx.fillStyle = color2;
ctx.shadowBlur = 2;
ctx.shadowColor = "#FECBF1";
ctx.lineWidth = branchWidth;
ctx.translate(startX, startY);
ctx.rotate(angle * Math.PI / 180);
ctx.moveTo(0, 0);
ctx.lineTo(0, -length);
ctx.stroke();
if (length < 10) {
ctx.restore();
return;
}
drawTree(ctx, 0, -length, length * 0.7, angle - 20,
branchWidth * 0.7, color1, color2);
drawTree(ctx, 0, -length, length * 0.7, angle + 20,
branchWidth * 0.7, color1, color2);
ctx.restore();
}
window.addEventListener('load', () => {
const canvas = document.getElementById('recursive-tree');
const ctx = canvas.getContext('2d');
// Clear and draw
ctx.clearRect(0, 0, canvas.width, canvas.height);
drawTree(ctx, canvas.width / 2,
canvas.height - 80, 120, 0, 10, '#FA67D1', '#F7F3B7');
});
C:\>_
DevOps & Backend Developer – Atypic (Aug 2021 – Sept 2024)
One year instensive bootcamp style program for full-stack programming and development in HTML/CSS, Javascript, Java, PHP, .NET, C, ASP.NET, Web Design and Services, npm, Git, Trello, as well as the basics in hardware and networking.
Responsibilities for Assistant (Estimator)
Responsibilities for Cooridinator
Starting out, I was intimidated. Programming felt like a realm already full of brilliant minds — vast, complex, and fiercely competitive. I wasn’t used to struggling to pick something up. Usually, I could learn fast and master things quickly. But this time was different.
So I had to learn something deeper: how to celebrate the smallest wins, and how to trust that I was moving forward — even when it didn’t feel like it.
Challenge after challenge, I’d freeze. Completely unsure where to even begin. But over time, those panic moments happened less and less. Slowly, I started trusting my ability to figure things out. I began to notice: these hard moments were actually my best teachers.
It hit me — I’ve come a long way. I didn’t even know HTML at the beginning. Now, I solve problems I used to fear.
I’m a visual thinker. A logic-driven, pattern-finding, obsessively curious kind of learner. Once I understand the goal, I will find the path — hands-on, trial by fire, whatever it takes.
Discovering my AuDHD helped too. It explained why I notice the tiny things, why I deep-dive so hard, and why I need to build systems that work with my brain, not against it. That’s where I found momentum.
This bridge is still under construction. And that's the beauty of it — so am I.
To me, coding feels like art. A creative outlet for the logically wired. Programming languages are, after all, languages. And just like writing or composing music, they offer endless ways to express the mind. Too often, we mimic experts, trying to replicate their flow instead of discovering our own. But I'm learning to step back, breathe, and explore what my way of thinking looks like in code.
Yes, code should be readable. Yes, it should play nicely in a team setting. But it can also reflect your unique rhythm, your way of seeing the world. That’s the balance I strive for — clarity, collaboration, and creativity.
My last job taught me more than I can summarize. I went from intern, to backend dev, to lead developer and devops coordinator in just months. I was given trust, guidance, and space to rise. I managed repositories, servers, deployments — all while still finding my footing.
It was intense, but it made me realize something: I can carry weight. I can organize, lead, and still stay open to learning. And now, building this portfolio from scratch, I’ve fallen in love with the frontend too. Turns out, I don’t need to choose. I get to love it all.
I don’t know yet. My journey’s just begun. But I know what I want; to grow, to contribute, to be chosen not because I know everything, but because I care deeply and learn relentlessly. I want my passion to show. I want someone to believe in what I bring, even if it’s still unfolding.
And I hope that, as I keep learning, I’ll uncover the kind of developer I was meant to become.
Where logic meets creativity—interactive puzzles and coding experiments.
A fun puzzle game built with JavaScript that challenges logical thinking.
Play NowA collection of small coding challenges that test problem-solving skills.
Try ItA space for interactive visuals, animations, and generative art.
Using p5.js and creative coding techniques to generate unique artwork.
View ArtIdeas in progress—prototypes, experiments, and half-finished builds.
Exploring an AI-driven narrative experience where users shape the story.
Read MoreA concept for a pixel-art RPG that never made it past the prototype phase.
See ConceptOld projects, deprecated code, and things that shaped my journey.
A glimpse into my first-ever coded website. Raw, nostalgic, and chaotic.
View ArchiveA half-built project that never got released. Here's what it could have been.
View ArchiveHidden gems, secret details, and playful surprises in my work.
One of my projects has an animation only a few people have ever noticed.
Find the SecretDid you know there's a message in the browser console? Try opening DevTools.
Decode the ClueProjects that never made it to the finish line—but still have a story to tell.
This was meant to be a story-driven adventure game... but it didn’t happen.
Peek into the AbyssStarted, abandoned, restarted, abandoned again. A blog that never launched.
See the Drafts