

Avindra Fernando
Software Consultant, Architect, Conference Speaker
Kansas City, Missouri, United States
Actions
Avindra Fernando is a Software Consultant with over 13 years of experience in architecting and developing modern web applications, automating workflows, and mentoring fellow engineers. In 2021, he founded Taprobane Consulting, which helps clients transform their web applications by improving architecture, migrating to modern frameworks, and focusing on quality.
He has a strong passion for constant innovation, software architecture, and leadership. Through client engagements, conference talks, and workshops, he has taught tech professionals topics such as React, Next.js, TypeScript, GraphQL, leveraging AI, and E2E Testing. He plans to utilize his experience and motivation to help lead the future technology direction and accelerate the growth of companies.
He was also a lecturer at The University of Kansas, where he taught Software Architecture in the BSIT program.
Links
Area of Expertise
Topics
Testing UI Components: Common Testing Library Pitfalls
Many front end development teams have adopted libraries and frameworks like React, Vue, Angular, or Svelte to remain competitive in today’s market. The UI components that the above mentioned technologies let us create are perfect candidates for unit and integration testing. The "Testing Library" provides a great testing toolkit, which helps simulate how the user interacts with your application.
Over the years, after working with Testing Library, there are common pitfalls that I have come across. Recognizing and fixing these mistakes taught me how to write robust and reliable tests that vastly improved the quality of my applications.
In this session, let's discuss best practices that I found useful to write tests for your UI components.
The AR Takeover: Is the Web Browser Era Ending?
In our fast-changing world, Augmented Reality (AR) is becoming the next big thing. It's like stepping into a new kind of world where things can be more than what they seem. We see AR in many places now, like in games, in shopping, and even in software development.
What if AR can change the way we use the internet? Today, we use web browsers to develop software, shop, and find information. Imagine not just looking at a screen, but being part of a 3D world where you can interact with things. Devices like Apple Vision Pro, Meta Quest, and Microsoft HoloLens are already hinting at these possibilities, offering experiences that go beyond what traditional web browsers can do.
So, what's in this talk for you? We'll explore how AR might change our use of the internet. Will AR replace web browsers, or will they work together? Let's explore these questions and see where AR is taking us.
Smarter Testing: Leveraging AI in E2E Journeys
Today, using AI in your end-to-end (E2E) tests is more important than ever. Web apps are getting more complex, and users expect them to work perfectly. Traditional testing methods are not fast or accurate enough anymore. By adding AI to E2E testing, we can find and fix problems faster to keep us ahead in the market.
Incorporating AI with popular testing tools like Cypress and Playwright can significantly enhance the efficiency of E2E testing. AI's capability to generate test cases based on actual user interactions ensures that our testing is not only thorough but also aligned with real-world scenarios. This talk will dive into concrete ways AI can augment these tools, elevating their functionality.
Join me to explore the transformative impact of AI in your E2E testing process. You will learn strategies to leverage AI, improving your testing framework, and consequently, the quality of your web applications.
Revolutionize Your Backend: Mastering Server Actions with Next.js and React
In the world of web development, React and Next.js are really shaking things up, challenging traditional backend languages with their innovative approach. From my own experience, the addition of server actions in Next.js has been a game-changer in how we interact with the backend.
Server actions in Next.js open up new possibilities for developers to directly consume data from databases or endpoints. This simplifies the process of fetching and managing data, making things more accessible and less time-consuming. By integrating server actions, developers can directly interact with their data sources within the Next.js framework, bypassing the need for separate backend code.
After this session, you will walk out with the knowledge and skills needed to integrate the power of server actions into your Next.js application.
React and Next.js: Building Future-Ready Web Applications
Join us for a half-day workshop dedicated to exploring the essentials of Next.js. This 4-hour session is designed to provide a solid understanding of Next.js for developers. We'll start with the basics of the framework, covering key concepts such as the app router and different rendering methods like server-side rendering (SSR) and static site generation (SSG). A special focus will be given to React Server Components (RSC), discussing their role and advantages in building modern web applications.
As we progress, the workshop will also include practical aspects of routing, data fetching, and strategies for optimizing your Next.js applications. The session concludes with a hands-on deployment experience using Vercel, where participants will apply what they've learned to deploy a functional Next.js application. This workshop is ideal for those looking to gain a comprehensive yet concise understanding of Next.js in a collaborative and hands-on environment.
The Future of React Applications: Journey Towards Next.js
Companies who build web applications are constantly looking for ways to deliver value to their customers. In today’s market it is very important for these web applications to be performant, deliver an excellent user experience, and have great discovery through SEO to remain competitive.
Many development teams have adopted React as a solution to build these applications, as it has remained a very popular solution throughout recent years. However, since most of these apps are being rendered on the client side, we have started to experience several challenges.
What if there are better ways to improve performance and user experience along with great developer experience? Thankfully with concepts like server-side rendering (SSR), static site generation (SSG), and incremental static regeneration (ISR) it is now possible to address the above-mentioned challenges. Today, frameworks like Next.js have been able to revolutionize the way we build React applications.
Come join me in discussing where we are headed with the future of React applications and how Next.js can help us get there.
10 Ways to Write Clean TypeScript Code
As a superset of JavaScript, TypeScript continues to deliver better tooling at scale that the JavaScript developer had hoped for years. However, if written poorly, one can end up with codebases that are not readable or maintainable.
Over the years, after working with TypeScript, there are many things that I have learned the hard way. TypeScript and its ecosystem is fast changing. When you think you have grasped a concept in TypeScript, it loves to throw another curveball at you.
In this talk, let's discuss 10 ways that I found useful to write clean TypeScript code. These guidelines will help you keep the clutter away, and write maintainable TypeScript code.
From Create React App to Next.js
In recent years, React has become a widely adopted solution used by many development teams to build their web applications. Developers mostly use Create React App (CRA) to get started with React as it offers a modern build setup with no configuration.
Despite the benefits of CRA, we are now starting to experience performance issues and poor SEO in production. Thankfully with the Next.js framework, which leverages concepts like server-side rendering (SSR) it is now possible to address the above-mentioned challenges.
Come join me on a step by step journey, where we migrate our existing React app built with CRA to Next.js. After this session, you will be equipped to transform your codebase into a Next.js application.
10 Ways to Write Clean JavaScript Code
Written in just 10 days, JavaScript continues to be very successful in modern software development. The flexibility of JavaScript empowered rapid innovation in software. But, this flexibility comes at a cost of readable, maintainable, and scalable JavaScript code.
Over the years, after working with JavaScript, there are many things that I have learned the hard way. JavaScript and its ecosystem is fast changing. When you think you have grasped a concept in JavaScript, it loves to throw another curveball at you.
In this talk, let's discuss 10 ways that I found useful to write clean JavaScript code. These guidelines will help you keep the clutter away, and write maintainable JavaScript code.
Service Workers: Transforming your Angular Application into a Progressive Web Application
What if we could build a web application which auto-magically works across various devices and platforms? Thanks to Progressive Web Applications (PWAs), this dream has now come true. PWAs use modern web capabilities to provide a user experience similar to that of mobile applications.
PWAs make use of Web App Manifest files and Service Workers, to make the magic happen.
A Service Worker is a standalone JavaScript program that can handle background/network tasks for your web application. Service Workers enable us to have total control over the outgoing and incoming network requests as well as the browser cache. Many browsers have now added support to run Service Workers.
I have some great news for all of you. Angular 5+ has added built-in support for Service Workers into the framework. In this talk, we will dive into exploring the transformation of a simple Angular application into a Progressive Web Application using Service Workers.
Tags - pwa, service worker, angular, angular5, javascript, typescript
Testing your React Components
When our clients give us kudos for releasing high quality applications, it makes us happy. To achieve great levels of quality, we need to thoroughly test our applications. But we know that some forms of testing can be expensive and tedious at times. Unit and integration tests help overcome some of the testing challenges companies are facing today. We’ve all heard that these types of tests help reduce bugs in new features. While reduced bugs are a great benefit, the main goal of unit and integration testing is to drive better design.
As reusable units, React components are perfect candidates for unit and integration testing. React Testing Library provides a great testing toolkit. It helps simulate how the user interacts with your application.
In this session, we will explore how you can leverage the React Testing Library and Jest to test React components. By the end of this session, you will be better equipped to test your React components and improve the quality of your application.
Service Workers: Transforming your App into a Progressive Web Application
What if we could build a web application which auto-magically works across various devices and platforms? Thanks to Progressive Web Applications (PWAs), this dream has now come true. PWAs use modern web capabilities to provide a user experience similar to that of mobile applications.
PWAs make use of Web App Manifest files and Service Workers, to make the magic happen. A Service Worker is a standalone JavaScript program that can handle background/network tasks for your web application. Service Workers enable us to have total control over the outgoing and incoming network requests as well as the browser cache.
I have some great news for all of you. Many browsers and modern JavaScript frameworks (React, Angular, Vue) have built-in support for Service Workers. In this talk, we will dive into exploring the transformation of a simple web application into a PWA using Service Workers.
Think Global: A Guide to High Performing Global Development Teams
We live in a world where our colleagues may not sit next to us, or be in the same city, or even in the same country. A diverse workforce with varied perspectives, help companies to remain competitive today.
But, geographically dispersed teams also come with a set of challenges. Managing development teams is a hard enough task even when the teams are co-located. When the team members come from different parts of the world, it makes it even harder. Communication may deteriorate, misunderstandings may occur, teams may stop trusting each other.
Over the years, I have worked with several global development teams. We have experienced many challenges during our interactions and have figured out ways to overcome them.
In this talk, I would like to share various approaches that I have used in my career to build great relationships with global colleagues. This session will enable you to be a part of a high performing team irrespective of the geographical and cultural differences.
Testing your UI Components
When our clients give us kudos for releasing high quality applications, it makes us happy. To achieve great levels of quality, we need to thoroughly test our applications. But we know that some forms of testing can be expensive and tedious at times. Unit and integration tests help overcome some of the testing challenges companies are facing today. We’ve all heard that these types of tests help reduce bugs in new features. While reduced bugs are a great benefit, the main goal of unit and integration testing is to drive better design.
As reusable units, React, Vue, or Angular components are perfect candidates for unit and integration testing. The "Testing Library" provides a great testing toolkit, which helps simulate how the user interacts with your application.
In this session, we will explore how you can leverage the Testing Library and Jest to test React, Vue, or Angular components. By the end of this session, you will be better equipped to test your UI components and improve the quality of your application.
End to End Testing With Cypress
Lots of companies are investing in end to end testing to release high quality software and remain competitive in today’s market. But, end to end testing also come with a set of challenges that we have to overcome. Setting up, writing, running, and debugging these tests could be challenging and tedious. Now with Cypress, end to end testing has become very intuitive and a whole lot of fun.
Cypress is a blazing fast testing library that integrates well with your favorite front end frameworks like React, Vue, or Angular. With Cypress, you do not need to install various other tools and libraries to write and run your end to end tests. Since Cypress tests are so easy to work with, developers as well as QA engineers will enjoy it a lot.
In this session, we will explore Cypress and look at how you can integrate it with your web application. This end to end testing experience will enable you to release high quality software to your clients.
KCDC 2025 Sessionize Event Upcoming
Beer City Code 2025 Sessionize Event Upcoming
DevFest KC 2024 Sessionize Event
Momentum 2024 Sessionize Event
dev up 2024 Sessionize Event
KCDC 2024 Sessionize Event
dev up 2023 Sessionize Event
KCDC 2023 Sessionize Event
CodeMash 2023 Sessionize Event
KCDC 2022 Sessionize Event
dev up 2022 Sessionize Event
CodeStock 2022 Sessionize Event
KCDC 2021 Sessionize Event
Code PaLOUsa 2020 Sessionize Event
CodeMash 2020 Sessionize Event
KCDC 2019 Sessionize Event
NDC Minnesota 2019 Sessionize Event
DevOpsDays KC 2018 Sessionize Event
KCDC 2018 Sessionize Event

Avindra Fernando
Software Consultant, Architect, Conference Speaker
Kansas City, Missouri, United States
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top