
Build Better Software, Seamlessly Together
Hi, I'm Ballerina
I’m a software engineer who turns complex ideas into performant, user-friendly web applications.

Clean Code Begins with Confidence
I believe that testing is not an afterthought—it’s a foundation. My approach to testing is proactive, meaning I write tests early and often to guide development and prevent issues before they arise. Rather than chasing bugs later, I focus on writing code that’s stable from the start.
Automated testing plays a key role in my workflow. It ensures that every change I make is validated against expected behavior, while thoughtful debugging practices help uncover edge cases and optimize performance. This balance of preventive testing and deliberate debugging results in software that’s not only functional, but also trustworthy and maintainable.

Skills & Technologies

Tools I use to build, ship, and scale.







Debugging Workflow

Precision Debugging, No Guesswork
Structured Logging
Here's a timeline of my journey through development roles, freelance work, and internships — each step sharpening my technical and problem-solving skills.
Breakpoints & Step-Through Debugging
Here's a timeline of my journey through development roles, freelance work, and internships — each step sharpening my technical and problem-solving skills.
Error Handling & Stack Traces
Here's a timeline of my journey through development roles, freelance work, and internships — each step sharpening my technical and problem-solving skills.
Performance Profiling
Here's a timeline of my journey through development roles, freelance work, and internships — each step sharpening my technical and problem-solving skills.

TDD / BDD Practices
I follow a Test-Driven Development (TDD) and Behavior-Driven Development (BDD) mindset to create software that's intentional, reliable, and easy to maintain. By writing tests before the implementation, I clarify what the code should do—before it does anything.
With TDD, each feature begins with a failing test that defines the expected behavior. This guides the development process, reduces ambiguity, and keeps the code focused. Once the code passes the test, I refactor with confidence, knowing everything still works as intended.


What People Say About Me
Feedback from those I’ve worked with — clients, collaborators, and mentors who’ve seen my code, communication, and consistency in action.



