Sahan Serasinghe

Senior Software Engineer | Master of Data Science


⚡️ Side Projects

Things that I'm building in my free time.
This blog! Over 300K pageviews (as of March 2023), 36 posts with over 14K+ monthly active users. Well received in the .NET & Go Communities.
ReactGatsbyPWAServiceWorkerAnt DesignTypeScriptGraphQL
Medline Pubmed Data Extractor
A simple .NET console application that will process a given Medline Pubmed dataset (XML) and generate TSV files with given attributes.

🧑‍💻 Open Source

I've been contributing to open source since 2012! Here are some of my recent notable open source contributions.

In-Memory Caching .NET with IMemoryCache (36 ⭐️)
Improving performance of monolithic .NET applications with in-memory caching.
.NETC#ASP.NET CoreIMemoryCache
GitHub API for Java (1K ⭐️) • Contributor
I contributed to the GitHub API for Java library by adding support for allowing Fork type to be specified when performing a search.
JavaGitHub APIGitHub
Distributed Caching in ASP.NET Core with Redis (23 ⭐️)
Improving performance of .NET microservices applications with distributed caching.
.NETC#ASP.NET CoreIDistributedCacheRedis
Understanding WebSockets with .NET (13 ⭐️)
I presented a reference implementation to understand RFC 6455 WebSockets specification and configure a generic ASP.NET (Core) 5 application to communicate over WebSockets connection with SignalR.
.NETC#ASP.NET CoreWebSocketsSignalR
gRPC on Go (12 ⭐️)
A simple gRPC web service written in Go without using third-party libraries.
GogRPCProtocol Buffers
Adding Intelligence to React Apps with Azure Cognitive Services
Enhance your React apps with AI-powered features.
ReactAzure Cognitive ServicesNext.js

🎓 Academic Projects

A mix of projects I've built, led, contributed to during my master's and undergrad times.

Narrative Visualization with D3.js
One of my notable achievements was the creation of a captivating narrative visualization, entirely powered by D3.js and vanilla ES6, without relying on any packaging tool. I presented a single-page application architecture, enabling seamless navigation using both keyboard and pointing devices, akin to a presentation tool. To ensure data integrity and efficiency, I used Python's Pandas library for dataset preprocessing.
Twitter Sarcastic Tweet Detection using Deep Learning
During my Master's degree, I had the opportunity to lead a talented team in the highly competitive Text Classification Competition for Sarcasm Detection in Tweets. Our team scored an impressive F1 score of 0.754. In this competition, my primary focus was on the crucial tasks of dataset preprocessing and training a powerful BERT model.
PythonPyTorchDeep LearningNatural Language ProcessingBERTTextBlobTransformers
Self-driving car using Raspberry Pi
I built a self-driving 4WD car leveraging the SunFounder's PiCar kit. Throughout this project, I lead the implementation of the mapping module using the onboard ultrasonic sensor readings. As the project progressed, I further expanded its capabilities by incorporating features like obstacle detection (sign posts, walls, etc.), route mapping, and orientation detection.
Raspberry PiPythonComputer VisionOpenCVUltrasonic SensorMatplotlib
My final year undergraduate research project where I researched, designed and implemented a web based IDE for extracting actionable insights from log files. I presented a fully working prototype working with large scale log (>2GB) files and inferencing patterns using ML techniques. This project also won the best academic research project award for 2014 and best academic paper award at the ICIIT 2016 conference
CPythonMachine LearningLog AnalysisJavascriptHTMLCSS
MobileHub Question Answering System
Operating as a full stack application, it has a client-side application implemented using vanilla JavaScript, a backend REST API powered by PHP, and a MySQL database for seamless data management. Features implemented to ask and answer questions, engage in voting, utilize tags, close questions, manage users, access an admin panel, and even employ voice search functionality. From inception to completion, I designed and developed every component of this project, leading it to secure the highest marks within my batch.