Software Engineer Β· Computer Science & Engineering Undergraduate at the University of Moratuwa, Sri Lanka
I build software across the stack β distributed backend systems, cloud-native services, interpreters and language tooling, and full-stack web applications. I care about writing code that is readable, well-tested, and honest about its trade-offs, and I enjoy problems that reward clean architecture over cleverness.
Currently sharpening my skills in backend engineering, distributed systems, and cloud-native infrastructure.
A production-style IoT + AI/ML + microservices platform for smart farming, built as a multi-team university systems engineering project. I contributed to Group C3 (System Engineering & Interaction) β the Backend-For-Frontend layer that connects a React dashboard to IoT sensor streams and AI models across four subgroups (C1 edge devices, C2 ML models, C3 BFF, C4 platform/infrastructure).
Highlights of the architecture:
- agri-backend β FastAPI BFF that consumes ESP32 sensor data from Kafka, streams live updates to the frontend via Socket.IO, proxies AI predictions from C2 over async HTTPX, and exposes Prometheus metrics for observability. Auth via Keycloak OIDC, containerised with Docker for Kubernetes deployment.
- agri-dashboard β Next.js web dashboard for farmers, consuming the BFF's REST + WebSocket APIs.
- C4-terraform-deployment β Infrastructure-as-Code with Terraform for the platform's cloud deployment.
Tech: Python, FastAPI, Kafka, Socket.IO, Prometheus, Docker, Kubernetes, Keycloak, Next.js, Terraform
A microservices platform for automated code review and technical debt tracking across GitHub and GitLab repositories. Cleanly decomposed into independently deployable services β each owning a single responsibility β with an event-driven backbone for webhook processing.
Highlights of the architecture:
- web-interface β Next.js + TypeScript dashboard for reviewing findings and tracking technical debt over time.
- main-backend β Core backend services powering the main application. Node.js, TypeScript, PostgreSQL.
- analysis-engine-service β Python analysis engine wrapping reviewdog and language-specific linters to run static analysis across incoming code.
- code-review-service β Handles code review workflows and diff processing.
- webhook-listener-service β Receives, validates, normalises, and deduplicates GitHub/GitLab webhook events, then asynchronously publishes them to RabbitMQ to trigger downstream analysis.
- integration-service β OAuth authentication, webhook registration, and communication with GitHub/GitLab APIs.
Tech: TypeScript, Node.js, Python, PostgreSQL, RabbitMQ, Next.js, OAuth, event-driven microservices, reviewdog
A Spring Boot microservices architecture modeling a real-world banking / payments backend. Six independently deployable services β API Gateway, Account, Transaction, Payment, Fraud Detection, and Notification β communicating through a gateway layer with clean service boundaries. A hands-on study of distributed system design: service decomposition, inter-service communication, and separation of business domains.
Services: api-gateway Β· account-service Β· transaction-service Β· payment-service Β· fraud-detection-service Β· notification-service
Tech: Java, Spring Boot, Spring Cloud Gateway, Maven, REST, Microservices architecture
π§© RPAL Interpreter
A C++17 interpreter for RPAL (Right-reference Pedagogic Algorithmic Language), a functional language used in compiler theory. Implements the full compilation pipeline β lexer β parser β AST β standardizer β CSE machine evaluator β with a focus on clean separation between phases and readable, testable code. A solid exercise in language design, tree transformations, and evaluation semantics. Tech: C++17, compiler design, AST processing, functional language semantics
A two-process distributed system built for the SLRC 2026 robotics competition. A C++ control process on an Arduino Mega runs a PID line-follower and safety logic, while a Python + OpenCV computer-vision pipeline on a Raspberry Pi streams detections over a custom ASCII serial protocol. Design work focused on process separation, priority-based decision logic, and a stateless framed protocol. Tech: C++, Python, OpenCV, serial IPC, systems design
- πΌ LinkedIn: linkedin.com/in/sheneth-fernando-1470a7347
- βοΈ Email: shenethchalindauom@gmail.com
- π Location: Sri Lanka
Open to software engineering internships and collaborations. Always up for a conversation about clean code, systems design, or a well-scoped project.