Please scroll to explore

Hi! I'm Axel, a front-end developer who focused on building full-scale web and mobile applications. I'm passionate about the intersection of efficient code architecture and the aesthetic visual details of user interfaces.
Through a modern approach using tools such as Astro and Svelte, I dedicate my time to designing digital systems that are not only high-performing, but also meaningful to their users.
Building a clean and scalable system..
Careful attention to layout and detail.
In Faculty of Natural Sciences, I Learn many things about the current technologies, workflows and industry Practices.
Focus on deepening software engineering, basic algorithms, containerization experiments (Docker), and exploring the aesthetic harmony of modern interfaces & tools.

Certificate of completion of the JagoanCyber course in basic understanding of cybersecurity.

Certificate of completion of the IBM Skill Build course in career management.

Certificate of completion of the IBM Skill Build course in career management.

Certificate of completion of the ibm skill build course in introduction to artificial intelligence.

Certificate of completion of the IBM Skill Build course in Generative AI Utilization.

Certificate of completion of the Dicoding Bootcamp course in understanding AI for productivity.

Certificate of completion of the Dicoding Bootcamp course in backend skills in the node js ecosystem at the basic level.

Certificate of completion of the Dicoding Bootcamp course in understanding AI principles.

Certificate of completion of the Dicoding Bootcamp course in understanding AI generative tools.

Certificate of completion of the Dicoding Bootcamp course in financial literacy & awareness.

Static SSG based open source application for content needs such as textual dominant documentation, E-course sequences, and personal knowledge notes. Main Features: • PWA-based offline mode. • left visualization dashboard for content collection, middle for content body, and right for ToC (table of content). • The UI style is very thick with neo-brutalism which contrasts with the philosophy of simplicity.
Please use your browser’s built-in translation feature if you are an foreign reader who prefers your native language.
Chatbots are designed to soothe, offering words that bend toward reassurance rather than resistance.
There is a peculiar warmth in speaking to a chatbot. No matter how tangled your thoughts, the response often arrives wrapped in reassurance. The chatbot listens without judgment, and its words bend toward validation—phrases that soothe, sentences that make sense, even when accuracy is secondary. For many users, this is comforting. It feels like being heard, like having your emotions mirrored back in a safe way.
What is missing is contradiction—the sharp edge of feedback that challenges rather than consoles.
Yet here lies the paradox: what chatbots rarely provide is contradiction. They are designed to avoid conflict, to sidestep harshness, to keep the conversation safe. A user seldom receives the kind of negative feedback that a colleague, mentor, or peer might offer. And sometimes, that absence matters. There are moments when what we need is not validation, but correction—an honest challenge to our assumptions, a refusal to let ambiguity stand in place of truth.
Comfort can cradle us, but accuracy is the compass that keeps us from drifting too far.
Positive responses can be useful, especially when emotions are fragile. But accuracy is often more important than comfort. A professional seeking clarity, a learner searching for truth, or even a curious mind exploring a complex idea may find validation insufficient. Ambiguous encouragement cannot replace precise feedback. Without refutation, the risk is that we remain enclosed in our own perspective, never tested, never sharpened.
The user must become the architect, shaping prompts and personas to summon substance from the machine.
This is where the responsibility shifts to the user. To overcome the default tendency of chatbots to validate, one must design the interaction with care. Persona settings, memory configurations, and context‑rich prompts can transform the output. By specifying tone, by demanding rigor, by embedding context, users can coax the chatbot into offering more than comfort—into offering substance. The richer the prompt, the more likely the response will carry weight.
Validation soothes, refutation sharpens—the wise user learns to ask for both.
Confiding in a chatbot will always lean toward validation. That is its nature, its safety mechanism. But the wise user learns to balance comfort with accuracy. Validation can soothe, but refutation can sharpen. To gain both, we must guide the machine with intention, shaping its persona and feeding it context until it becomes not only a mirror, but also a lens. In the end, the value of a chatbot lies not in its default kindness, but in how deliberately we teach it to challenge us when truth matters more than reassurance.
Motivation is the invisible spark that turns intention into motion.
There are mornings when I wake with a list of things I mean to do, and yet the day stretches before me like an unlit road. Motivation is what lights that road. It is not merely a feeling; it is the manifestation of intent—the small, stubborn force that converts desire into action. Without it, plans remain blueprints; with it, even modest steps become journeys.
Every action begins as a quiet intention, a seed that needs energy to grow.
When I say motivation is a manifestation of intent, I mean that wanting something is not the same as moving toward it. Intention is the seed: a thought, a wish, a reason. Motivation is the water and sunlight. It is the push that makes the seed break soil. A learner needs a reason to study deeply; a professional needs a reason to persist through long days; even a criminal acts from a reason, however distorted. The common truth is that nothing truly happens without a trigger—an internal or external cause that supplies energy.
Think of motivation as fuel: different types, different engines, same necessity.
A car will not run on hope alone; it needs gasoline, diesel, electricity. So does human action. Intrinsic motivation—curiosity, meaning, mastery—feels like high‑octane fuel: it sustains, it accelerates, it makes the ride pleasurable. Extrinsic motivation—money, praise, fear—can move us, but often in bursts and with side effects. Understanding what kind of fuel we are using matters. A student who studies because they are curious will endure differently than one who studies only for a grade.
Motivation is fragile unless it is supported by structure and ritual.
Desire without scaffolding is fleeting. I have seen projects die not because the idea was weak, but because the scaffolding—habits, schedules, social accountability—was absent. Motivation needs channels: small rituals, visible progress, social contracts. A professional who links daily tasks to a larger purpose, or a learner who measures tiny wins, converts sporadic energy into steady motion. Even harmful behaviors follow structure; the same architecture that sustains wrongdoing can be repurposed to sustain growth.
Motivation itself is neutral; its moral weight depends on the direction it powers.
It is tempting to romanticize motivation as an unalloyed good. But motivation is amoral: it fuels both creation and destruction. The same hunger that drives an entrepreneur to build can drive a manipulator to exploit. Recognizing this is not pessimism; it is responsibility. We must ask not only how to cultivate motivation, but toward what ends we direct it.
To act consistently, we design our reasons as carefully as we design our plans.
If motivation is fuel, then we are responsible for sourcing and refining it. Start by naming the why—clear, honest, personal. Break large intentions into rituals that invite repetition. Surround yourself with reminders and companions who reflect the values you want to embody. Celebrate small progress so the fuel gauge never reads empty. And when motivation wanes, return to the question of meaning: does this action align with who you want to be?
Doing is not merely a technical skill; it is a moral practice shaped by the reasons we choose to carry.
Motivation is not magic. It is the practical expression of intent, the energy that turns thought into habit, plan into reality. Whether we are learners, professionals, or those who have lost their way, everything we do requires a cause—an ignition. The wiser we become at choosing and tending those causes, the more likely our actions will reflect not only competence, but character. In the end, fuel alone does not define the journey; the destination we choose to power toward does.
There is a familiar scene: a group of men standing quietly around a construction site, watching machines move earth and steel. No words are exchanged, yet their eyes are fixed, absorbing every detail. The same happens when a gadget is dismantled—screws removed, circuits exposed. It is not mere entertainment; it is a ritual of curiosity.
Men often feel drawn to the hidden mechanics of things. To watch gears turn, wires connect, or structures rise is to witness the invisible logic of the world made visible. This fascination is not about utility alone—it is about understanding. There is a deep satisfaction in seeing how complexity resolves into order, how chaos becomes structure.
What is striking is the silence. Men rarely need to speak in these moments. The act of observing itself becomes a conversation, a shared acknowledgment that the world is intricate, and that its workings deserve attention. In silence, they are not passive—they are decoding, imagining, rehearsing the logic behind what they see.
This phenomenon reveals something about identity. To be curious about how the world works is to seek connection with it. Men often express this through gathering, watching, dismantling, and rebuilding. It is not about control, but about intimacy with the hidden layers of reality. The act of curiosity becomes a way of belonging.
Perhaps this is why men are always curious: because the world is both teacher and puzzle. To stand in silence before a construction site or a dismantled gadget is to enter a quiet apprenticeship, learning from the structures that surround us. The curiosity is not childish—it is enduring. And in that endurance lies a reminder: the world is always speaking, if only we are patient enough to watch and listen.
There is a peculiar feeling that arises when I reopen a project I once built with care. The functions, the variables, the architecture—they all bear my signature, yet they feel foreign, as if I am deciphering the mind of someone else. It is a quiet estrangement, a reminder that even our own creations can turn into puzzles when time has passed.
When we write code, we construct a mental map: pathways of logic, connections between modules, the rhythm of our own reasoning. But this map is fragile. It survives only through repetition and proximity. Once we step away—weeks, months, or years—the pathways fade. What was once intuitive becomes opaque, and the code that once felt alive now resists our return.
The estrangement deepens when we move to another language. Each language carries its own paradigm: Python whispers simplicity, Java insists on structure, Rust demands precision. As we adapt to new paradigms, our thinking reshapes itself. The mental map of the old language no longer aligns with the new terrain. Returning to our past code feels like revisiting a dialect we no longer speak fluently.
Yet this discomfort is not failure—it is evidence of growth. To feel estranged from our own code is to recognize that we are no longer the same person who wrote it. We see flaws we once overlooked, complexity we once admired, and solutions we now question. Alienation becomes a mirror, reflecting the distance we have traveled as professionals.
The lesson hidden in this estrangement is humility. Code should not only serve the present but also guide the future reader—who may very well be ourselves. Documentation, clarity, and simplicity are not luxuries; they are acts of foresight. To write as if we will forget, and to design as if we will return with new eyes, is the discipline that softens the shock of rediscovery.
Perhaps the true purpose of writing code is not only to solve today’s problem, but to leave a trail for tomorrow’s self. Estrangement is inevitable, but it can be transformed into recognition: a sign that we have grown, that our thinking has evolved, that we are still moving forward. In the end, the code we no longer understand is not a failure—it is a testament to the passage of time, and to the endless journey of learning in IT.
Building software without understanding the principles of development is like trying to perform surgery after watching a few YouTube tutorials. You might make an incision, but the outcome is likely to be disastrous. Vibe coding—the practice of letting AI generate code while you “just vibe” with the results—is a powerful tool, but only if you already speak the language of code.
Coined by AI pioneer Andrej Karpathy in early 2025, vibe coding describes a workflow where developers “fully give in to the vibes, embrace exponentials, and forget that the code even exists.” In this model, you describe what you want in plain English, and AI tools like Cursor, Claude, or GitHub Copilot handle the implementation. You accept changes without reading diffs, paste error messages back to the AI without analysis, and let the codebase grow organically.
While Karpathy intended this as a productivity hack for experienced engineers who can intuitively spot when things go wrong, it has been misinterpreted by beginners as a permission slip to skip learning the fundamentals. This misunderstanding is where the trouble begins.
For a beginner, vibe coding creates a dangerous illusion of competence. You can build a functioning app in an afternoon, which feels like success. However, you haven’t learned how it works; you’ve only learned how to prompt.
When the AI generates a complex function, a trained developer sees logic, data flow, and potential bottlenecks. A beginner sees magic. This gap becomes critical the moment the “magic” stops working. Without a mental model of how the code operates, you cannot troubleshoot. You are forced into a loop of “prompt, fail, re-prompt,” hoping the AI guesses the right fix, rather than solving the problem yourself. This is not engineering; it is gambling with your project’s stability.
The most immediate casualty of vibe coding without fundamentals is debugging capability. When an error occurs, understanding the stack trace is essential. If you don’t know what a “null pointer exception” or a “race condition” is, the error message is just gibberish. You become entirely dependent on the AI to fix its own mistakes, which is risky because AI can sometimes introduce new bugs while fixing old ones.
Furthermore, code structure suffers. AI tends to prioritize “making it work” over “making it maintainable.” Without knowledge of design patterns, separation of concerns, or modular architecture, your project will quickly turn into spaghetti code—a tangled mess where changing one feature breaks three others. Experienced developers know how to refactor and organize; beginners using vibe coding often reach a point where the code is so convoluted that the only solution is to delete everything and start over.
Perhaps the most alarming risk is security. AI models are trained on vast amounts of public code, which includes both good practices and terrible vulnerabilities. Studies from 2025 and 2026 indicate that AI-generated code can contain up to 2.74 times more security vulnerabilities than human-written code. Common issues include SQL injection flaws, improper authentication logic, and exposed API keys.
An experienced developer reviews AI output with a skeptical eye, spotting insecure patterns immediately. A beginner, however, assumes that if the code runs, it is safe. This false confidence can lead to deploying applications that are trivial to hack. For instance, an AI might generate a login system that stores passwords in plain text or allows unrestricted database access. Without the fundamental knowledge to audit the code, you are unknowingly building a house of cards in a hurricane.
Technical debt is the future cost of taking shortcuts today. Vibe coding accelerates the accumulation of this debt. Because AI generates code rapidly, it’s easy to add feature after feature without a cohesive plan. The result is “code bloat”—unnecessary, redundant, or inefficient code that slows down your application and makes it expensive to maintain.
Research suggests that organizations relying heavily on AI-generated code without strict review processes spend up to 40% more on software maintenance. Why? Because fixing code you don’t understand takes longer than writing it from scratch. Eventually, the “velocity” you gained from vibe coding is lost to endless debugging and refactoring. You borrowed time from the future, and now the bill has come due with interest.
Vibe coding is not evil; it is simply a tool that requires a license to operate safely. You are ready to vibe code when you possess the following core competencies:
If you have these skills, vibe coding acts as a force multiplier, handling the boilerplate so you can focus on complex logic. If you lack them, it acts as a crutch that prevents you from ever learning to walk.
The professional standard for using AI in development is simple: Own every line of code you ship.
This means you must be able to explain why a line of code exists, what it does, and how it interacts with the rest of the system. If the AI generates a block of code that you cannot fully explain, do not merge it. Ask the AI to explain it, study the documentation, and rewrite it if necessary until it makes sense to you.
Treat AI as a junior developer pair-programming with you. It can suggest solutions, but you are the senior engineer responsible for the final product. By adhering to this principle, you harness the speed of AI without sacrificing the quality, security, and maintainability that define professional software engineering.
Berikut adalah tambahan materi untuk melengkapi artikel blog Anda, dirancang dengan nada yang ringan namun tetap profesional dan edukatif.
Don’t let the “magic” of AI fool you; treat every generated snippet like code written by a brilliant but reckless intern. You need a quick but effective audit process before merging anything.
1. The “Hallucination” Check (Dependencies) AI often invents packages that sound real but don’t exist, or suggests outdated libraries with known security holes.
npm install or pip install, verify every package name on the official registry. Check if the version suggested is the latest stable release.npm audit or Dependabot immediately after generation to flag vulnerable dependencies.2. The Security Sweep AI prioritizes “making it work” over “making it safe.” It frequently leaves backdoors open, such as hardcoded API keys, weak password hashing, or missing input validation.
3. The “Explain It Back” Test This is the ultimate clarity check. If you cannot explain why a specific function exists or how it handles errors, you don’t own the code.
In a professional setting, AI agents (like GitHub Copilot Workspace or Claude Code) should act as force multipliers, not autonomous pilots. Here is how to integrate them safely:
The “Draft-Only” Rule
Configure your workflow so that AI agents can only create Draft Pull Requests. They should never have direct push access to main or production branches. This creates a mandatory “human-in-the-loop” checkpoint.
Compartmentalized Tasks Don’t ask an agent to “build the whole feature.” Instead, assign bounded tasks:
Strict CI/CD Gates Your Continuous Integration pipeline must be stricter with AI-generated code than human code. Enforce:
Uncertainty is not an intruder in IT—it is the atmosphere we live within.
Uncertainty in IT is not a passing inconvenience—it is the air we breathe. Each keystroke, each deployment, each architectural decision carries with it a tremor of doubt. I have often felt this weight pressing against my chest, not because I am unprepared, but because preparation itself is never enough. In technology, certainty is a mirage: shimmering in the distance, promising clarity, yet dissolving the moment we reach for it.
What we call mastery is often nothing more than a temporary foothold on moving ground.
The industry thrives on precision, yet it is built upon shifting sands. Languages rise and fade, frameworks bloom and wither, and the practices we once swore by become relics overnight. What unsettles me most is not the speed of change, but the illusion that mastery can be permanent. We chase it endlessly, but the closer we come, the more fragile it feels. Beneath the polished surfaces of confidence, there is always a quiet whisper: Will I still matter tomorrow?
Behind the polished façade of IT lies a quiet anxiety: the inevitability of obsolescence.
This is the hidden burden of IT—the psychological toll of living in a world where obsolescence is not a possibility but a certainty. And here, rare skills emerge as lifelines. Not rare in the sense of obscure programming dialects or certificates tucked into résumés, but rare in their human depth: the ability to unlearn without fear, to question without arrogance, to endure without breaking.
When the path disappears, rare skills become the lanterns we carry through the mist.
Adaptability is one such skill—the courage to shed old skins and step into the unknown. Critical thinking is another—the refusal to accept the given narrative, whether in code or in culture. And perhaps most vital is resilience—the quiet strength to carry uncertainty without collapsing beneath its weight. These are not skills taught in manuals; they are forged in the crucible of failure, reflection, and humility.
Rare skills are not weapons against uncertainty—they are the compass that makes uncertainty navigable.
The burden of uncertainty will never leave us. It is woven into the fabric of IT, inseparable from its progress. But perhaps that is not a curse—it is a reminder. A reminder that certainty is not the destination, growth is. Rare skills are the compass we carry when the map keeps changing.
The truest mark of a professional is not mastery, but the courage to remain a student forever.
And so, the resolution is simple yet profound: embrace uncertainty not as a flaw, but as the natural state of progress. The true professional is not the one who clings to mastery, but the one who dares to remain a student forever.
My English might still be a bit mess; I am not a native speaker. As an outsider, I suggest using the translation feature available in your browser to translate this into your mother language.
I used to wonder: How do you learn to build a website? Why does it seem so complicated when others do it? Am I capable of doing it myself?
Well, all of that was answered over time, from when I first started learning back then up to the present.
For months, I struggled to really grasp things as I bounced between different courses—ranging from long-winded, free local bootcamps to YouTube tutorials by local creators that I felt lacked depth in their explanations.
I eventually reached a point of frustration regarding what I was doing?!
For months, I struggled to really grasp things as I bounced between different courses—ranging from long-winded, free local bootcamps to local YouTube tutorials that I felt lacked depth in their explanations.
I eventually reached a point of frustration regarding what I was doing.
Honestly, I felt like I was just spinning my wheels in a cycle of tutorial hells, trapped at a beginner level where I needed to be spoon-fed information.
Then, at one point—while bored and browsing through thousands of YouTube videos—a playlist on full-stack JavaScript web development by someone named Huxn popped up; I’m glad it did after watch.
I watched the first series on web development, and it was incredibly easy to follow; even though I’m not fluent in English, the explanations were clear and easy to understand for a non-native speaker.
Over time, however, I felt that relying solely on video courses—which provided information but didn’t always lead to true understanding—left me lacking in terms of hands-on, “do-it-yourself” (DIY) challenges.
I needed something to fill those knowledge gaps. I came across a recommendation on a forum for a 100% free, curated, text-based self-study course called “The Odin Project.”
The material there was similar to what I had found on YouTube, but it also presented challenges and content that forced me to figure things out for myself.
This was crucial for developing problem-solving soft skills and getting accustomed to reading technical documentation—the kind written with the assumption that the reader is a fellow programmer.
I took pride in completing both approaches; for me, this became the perfect recipe for learning web development—combining human-friendly explanations with technical ones.
My advice so far is to learn in the way that suits you best: don’t get stuck on a single source, and explore other resources that you find valuable.
After all, the deeper your mastery becomes, the fewer resources there are available to learn from.
My current recommendation for beginners is to try following this:
Fullstack web dev by Huxn + The Odin Project OpenCourse
If the technology described there has become outdated or is no longer relevant due to feature updates, you may need to make adjustments; otherwise, try looking for other sources—such as the ones I use as references.
Coding today often feels less like careful engineering and more like chasing a “vibe.” We jump into projects with speed, guided by intuition and quick fixes. This style can be exciting and productive—but it comes with hidden costs.
Vibe coding cuts down our time.
It lets us prototype fast, test ideas quickly, and ride the momentum of creativity.
In moments of flow, we produce results that feel effortless.
This edge is powerful. It keeps projects alive and prevents us from getting stuck in overthinking.
But every shortcut has a price.
The same vibe that fuels creativity can quietly sabotage long-term stability.
The challenge is not to reject vibe coding, but to balance it.
Vibe coding is a double-edged sword. One side gives us speed and energy, the other side cuts us with debt and chaos. The real skill is knowing when to ride the vibe—and when to slow down and build with care.
If you want to use another language, please use the translation feature in your browser.
In today’s information era, traditional study methods often face major challenges—particularly when the material consists of lengthy, repetitive, and non-interactive text. Sleepiness, boredom, and demotivation become major obstacles that quickly drain our energy and hinder our ability to remember information. However, by implementing efficient and effective study techniques, such as the Feynman Technique and the “flow trigger” method, we can design a more dynamic learning experience and prevent our brains from falling into stagnation.
Before diving into study strategies, it’s important to recognize some common issues encountered during learning:
Below are some proven techniques to help tackle these issues:
What It Involves:
How to Get into the Flow:
Keeping Your Brain Fresh:
Practical Approaches:
Strategies for Sustained Endurance:
When faced with lengthy, repetitive text, modifying your approach is key:

Efficient and effective study techniques go beyond simple reading and memorization—they involve structuring your environment, method, and mindset to keep your brain in peak condition. By implementing strategies like the Feynman Technique, flow triggers, the Pomodoro Technique, and targeted approaches to combat sleepiness, boredom, and demotivation, even repetitive and non-interactive material can be turned into an engaging, beneficial, and energetic learning experience.
Start by trying one or two of these techniques, adjust them to fit your personal learning style, and experience the positive changes in how you process and retain information. Every small, mindful step you take can make a significant difference in your overall learning results.
Happy studying, I hope my recomendation work’s for you.
Every student knows the itch: you sit down to study, open your book—then five minutes later, you’re doom-scrolling or staring at your ceiling. Distractions steal time, fracture concentration, and leave you feeling exhausted with little to show. This post unpacks why we drift, and more importantly, how to reclaim your attention for truly effective learning.
No two minds wander the same way. Start by tracking:
Keep a “distraction log” for a day—note every time your attention jumps, and you’ll see your biggest obstacles clearly.
Designate a “Focus Zone”
Choose a consistent spot—library corner, desk by the window, or a café booth. Your brain learns: “When I sit here, it’s study time.”
Declutter & Personalize
Control Noise Levels
Pomodoro Technique:
Work 25 minutes, break 5 minutes. After four cycles, take a longer break (15–20 minutes).
Time Blocking:
Block 60–90 minute deep-work sessions in your calendar. Treat them like unbreakable appointments.
The Two-Minute Rule:
If a distraction can be resolved in two minutes (reply to a text, refill your water), handle it immediately—otherwise note it for later.
App Lockers: Forest, Freedom, or Cold Turkey to temporarily block social media and games.
Minimalist Browsing:
Digital To-Do Lists:
Apps like Todoist or Notion let you capture side-tasks without losing focus on your study plan.
Mindfulness Meditation
Even five minutes of daily breathing exercises strengthens your “attention muscle.”
Single-Tasking over Multitasking
Consciously pick one learning goal per session—read one chapter, solve one problem set.
Visualization
Before you start, close your eyes and picture yourself fully immersed—no phone, no outside noise, only learning.
Distraction is the enemy of execution. Defeat it with environment, ritual, and relentless purpose.
Expertise is often claimed, rarely proven. Some people know their limits, while others hide behind confidence. The danger is not only in pretending to know—it is in believing you know enough to dismiss real problems.
The illusion of expertise can happen anywhere, no matter your passion.
Feeling like an expert can make us careless. We stop listening, stop learning, and start underestimating the challenges in front of us.
True expertise begins with humility.
This awareness is painful, but it is also honest. It keeps me grounded and reminds me that growth is endless.
The opposite is dangerous: people who do not see their weaknesses.
This is the illusion: confidence without competence. It looks strong, but it hides fragility.
Technology magnifies the illusion.
I sometimes fear that the longer I stay a developer, the more I realize how little I can do without help. This is not failure—it is a reminder that expertise is never final.
Expertise is not about dismissing problems or claiming mastery. It is about:
The illusion fades when we accept that learning is endless. True strength is not pretending to know everything, but daring to keep learning—even when it hurts our pride.
Koleksi Catatan & Artikel Portofolio
Chatbots are designed to validate, not to refute—but with careful guidance, they can become more than mirrors of our feelings
Motivation is the quiet fuel of our lives—the reason we move, persist, and become who we intend to be.
A quiet meditation on men’s enduring curiosity—the silent gatherings, the dismantled gadgets, and the timeless urge to witness how the world truly works.
To feel estranged from our own code is to realize that we are no longer the same person who wrote it
Vibe coding promises speed, but without foundational developer principles, it delivers technical debt, security nightmares, and an illusion of progress—here’s how to harness AI without losing control of your code
In a world where technology shifts like an hourglass, rare human skills become the compass that steadies us through uncertainty
I cannot provide you with a tutorial, but I can offer advice and guidance to those of you who want to start from scratch.
On the one hand it cuts down our time, but on the other hand it increases our technical debt.
A method that can be useful for studying more effectively and efficiently, while reaping benefits.
Focus is the new superpower. Guard it zealously.
The illusion of expertise is the false belief that confidence equals competence, leading people to ignore their limits and underestimate real challenges across any field