Isuri Devindi

I am a third year undergraduate at the Department of Computer Engineering, University of Peradeniya. I'm currently interested in machine learning and computer vision fields.

Following my motto,

“Greatness can be achieved if you have the will-power and dedication”

I always strive to explore out of my comfort zone, learn new things, and apply my skills to find creative approaches to solve complex problems.  /  Resume  /  Github /  LinkedIn
Medium  /  Syncfusion blog

profile photo
Skills and Experience

For over two years I have been learning and developing my skills on several programming languages such as C, Python, Java, JavaScript and currently improving my knowledge on algorithmic programming.

I'm interested in image processing, computer vision, and machine learning. Over the past years I have been trying to get hands-on experience in those fields with several projects.

I have also been working as a casual instructor for several courses at the Department of Computer Engineering, University of Peradeniya.

Feel free to check out my resume for more details.


Oral Cavity Region Detection Tool
Team members: Devindi G.A.I, Francis F.B.A.H, Liyanage S.N.
2022 - Present
project page / repository

This project contains a web-based application that can be used to upload images of the oral cavity and identify the known regions which are normal. For example: The tool will process an image uploaded by the clinician and apply masks to easily recognize a specific region of the oral cavity which does not indicate any abnormality.

Remote Proctoring System
Team members: Devindi G.A.I, Liyanage S.N. , Wannigama S.B
2021 - Present
project page / repository / video

A single device which integrates the hardware and software components needed to conduct an examination in the currently implemented system, which will provide a seamless process for the proctors and students involved in an examination.

Reconstructing highly degraded license plates
Team members: Devindi G.A.I, Amarasinghe R.A.A.U, Liyanage.S.N, Varnaraj N
project report / colab / video

Demonstration on how traditional image processing techniques such as Otsu thresholding, morphological transformation, contouring, spatial and frequency domain filtering, and degradation modeling can be used to restore highly distorted images along with the limitations of the traditional image processing theoretical techniques.

Compiler for COOL language
Team members: Devindi G.A.I, Liyanage S.N

The combination of a lexer, parser, semantic analyser, and code generator that can be used to compile programs written in Cool programming language.

Blog Posts

JavaScript Higher-Order Functions: A Complete Guide
June 1, 2022

As a functional programming language, JavaScript uses higher-order functions to implement abstraction at a higher level. This article is a guide through the concept of higher-order functions in JavaScript along with their usage. Read More

Can the Composition API Replace Vue Mixins?
May 6, 2022

Vue Mixins is a very popular concept for reusable code sharing between components. However, the Composition API introduced in Vue 3 provides much better functionalities to implement reusable components. This article goes through the concept of Mixins, the limitations of Mixins, and how the Composition API can address these limitations. Read More

Top 5 React Lazy-Loading Libraries for 2022
March 9, 2022

Lazy loading is one of the most popular methods to optimize React applications. It allows users to render content only when they need it, resulting in faster initial load time, reduced bandwidth consumption, and less data traffic. This article goes through five lazy-loading libraries popular in the React community. Read More

Micro Frontends: 5 Common Mistakes to Avoid
Sep 24, 2021

Micro Frontends can either make your applications flexible and robust or become an overhead and hinder the growth of your project. There are many practices out there that might mislead any reader who is just entering into Micro Frontends. This article goes through some of these common mistakes so that you can avoid them whenever possible. Read More

Don’t Let Carousels Kill Your Application
Aug 24, 2021

Today, carousels are widely used in web applications as a slideshow component, cycling through a collection of elements. Although they make your application unique, implementing carousels could cause usability issues and degrade application performance. This article discusses the negative impacts of using carousels and how we can overcome them. Read More

How to Scale Micro Frontends with Bit
June 28, 2021

Micro frontends are more about developer collaboration compared to Microservices, which focus on robustness. This article focuses on how to scale Micro frontend teams with Bit. Read More

Component-Driven Responsive Design Using Container and Scope CSS Queries
June 14, 2021

Component-driven development has become a very popular development strategy. CSS is about to revolutionize the concept of responsive design by introducing some new queries that will directly enhance the component-based design landscape. This article gives a brief insight into them. Read More

Hookrouter: A Modern Approach to React Routing
Apr 20, 2021

With React hooks’ introduction, a new module known as the Hookrouter has been launched very recently as a flexible, fast router based on hooks. This article focuses on how we can use the Hookrouter module to replicate the Reactrouter’s basic functionalities. Read More

Stepping stones to understand RECURSION
Feb 12, 2021

Recursion is a popluar concept utilized by programmers where iterative solutions may fail to provide optimized solutions to complex problems. This article guides you through the conecpt of recursion that may look like a very complicated topic to the unfamiliar mind. Read More

The sytles in this web page are adapted from the official website of Jon Barron at