I am a results-driven technologist with an unwavering focus on optimization and innovation. My background includes a Bachelor’s degree in Computer Engineering and a Postgraduate Diploma in Advanced Computing, providing a solid foundation. Currently, I am pursuing a Master of Science in Software Engineering, which keeps me at the forefront of the field. I thrive in dynamic environments where I can push boundaries and deliver transformative solutions that surpass expectations.
I consistently exceed role expectations by addressing root-cause challenges, driving sustainable improvements, and achieving exceptional results. My passion for technology fuels my commitment to staying updated with the latest trends and tools, enabling me to craft clean, concise, and efficient code.
With a strong commitment to excellence and a proactive approach to problem-solving, I am dedicated to driving innovation and delivering high-quality software solutions that make a meaningful impact.
Various frameworks and libraries are a joy to work with! If I had to choose my dream tech stack though, I'd pick the following:
But of course, not all projects are greenfield projects, and often enough you have to work with legacy code. This is no problem at all! I'm proficient in handling (and migrating) Vue 2, any kind of component library, plain JavaScript, jQuery, and others!
Programming Languages:
Libraries & Frameworks:
Tools & Platforms:
“Offline-first is not just a feature, it’s a mindset. It’s about building resilient systems that empower users, no matter their connection status.” — Akshat Paul
This Full-Stack Real-Time Chat Application demonstrates how to build a fully functional web and mobile chat app using modern technologies like NodeJS, Angular, Ionic, and MongoDB. The app allows users to engage in live conversations with real-time messaging, upload images, and interact with others via a seamless, interactive interface across both web and mobile platforms.
In this project, I built a dating application using ASP.NET Core for the backend and Angular for the frontend, creating a full-stack solution that enables users to interact and connect in real-time. The app offers various essential features for a dating platform, such as user authentication, profile management, private messaging, and real-time notifications.
Consistency and standards are important for building a unified design language and help the user know what to expect from our product and how to use it. However, this does not mean sacrificing the user experience. In this sense, the context and needs of our users are priorities when developing our solutions.
“You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.” — Alex Litcher
In today's fast-paced digital world, user experience plays a crucial role in the success of any web application. Users expect lightning-fast loading times and seamless interactions, and any lag or delay can lead to frustration and abandonment. Therefore, optimizing the performance of your web application is paramount. In this blog post, we'll explore ten proven strategies to enhance the performance of your web application, ensuring a smoother and more enjoyable user experience.
REST which stands for Representational State Transfer is an architectural style that governs how APIs are designed and built. REST’s popularity and ease of implementation make it the most preferred API architectural style for modern-day software development as compared to other protocols such as SOAP (simple object access protocol). REST APIs or RESTful web services have become the backbone for efficient communication between client and server in modern-day software development. However, to build efficient and robust REST APIs, it is crucial to follow some standard best practices. In this blog, we’ll explore REST API best practices that can help you build scalable, maintainable, secure, and robust APIs.
While consistency is vital, it’s essential to understand that achieving strong consistency in distributed systems can come at the expense of increased latency and reduced availability. Strong consistency may require additional coordination mechanisms that slow down operations. Therefore, choosing the appropriate consistency model involves striking a balance between data correctness and system performance, based on the specific requirements of the application and use case. Different systems may opt for eventual consistency or other weaker consistency models if absolute real-time consistency is not necessary for their functionality.
Rate limiting runs within an application, rather than running on the web server itself. Typically, rate limiting is based on tracking the IP addresses that requests are coming from, and tracking how much time elapses between each request. The IP address is the main way an application identifies who or what is making the request. A rate limiting solution measures the amount of time between each request from each IP address, and also measures the number of requests within a specified timeframe. If there are too many requests from a single IP within the given timeframe, the rate limiting solution will not fulfill the IP address's requests for a certain amount of time.