Ravindu Oshan Kodagoda
Software Engineering Intern
github/oshankkkk · oshankodagoda200667@gmail.com · oshanswe.com · linkedin/oshankodagoda
+94 77 969 7223
Projects
Virtual Machine Interpreter
Go
Built a programming language and bytecode interpreter from scratch in Go. Implemented lexical analysis, Pratt parsing, AST generation, bytecode compilation, and a stack-based virtual machine. Added support for variables, control flow, functions, recursion, and scoped execution.
Terminal Music Player
C, mpv, JSON-RPC, SQLlite
Developed a terminal-based music player with a C backend and TypeScript TUI, integrating mpv for audio playback and yt-dlp for streaming. Implemented custom JSON-RPC communication between the interface and playback backend, along with song search, playback controls, library management, and asynchronous player-state handling.
Slime Mold Simulation
C, Raylib, CMake
A real-time simulation inspired by Physarum polycephalum (slime mold), using thousands of autonomous agents that sense, follow, and deposit trails on a grid. Implemented agent steering, directional sensing, trail diffusion and decay, deterministic randomization, and multi-channel color-based visualization to generate emergent biological patterns.
Markdown editor
Go, React, TypeScript, PostgreSQL
Developed a full-stack cloud note-taking application with a Go REST API and React/TypeScript frontend, implementing Markdown editing, user authentication, persistent PostgreSQL storage, and Docker-based deployment with a modular client-server architecture.
Education
BSc (Hons) Computer Science
University of Westminster (via Informatics Institute of Technology)
Foundation Programme
Informatics Institute of Technology (IIT)
GCE Ordinary Level (O/L)
Vidura College
Technical Skills
- Languages: Go, C/C++, TypeScript, Java, Python, Lua
- Concepts: Compilers, Memory management, Virtual Machines, Data Structures & Algorithms, Networking
- Tools & Technologies: Linux, GDB, Git, Docker, JSON-RPC, Vim
Achievements & Activities
- Semi-Finalist, Code Spirit Hackathon
- Participant, IEEEXtreme 2025
- Volunteer, Cutting Edge IT Innovation Exhibition — Logistics
- Volunteer, Industry Outreach Team, Commit.dev
- Member, Linuxers — In-Campus Developer Group for Programming Enthusiasts
References
Indrajith Ekanayake
Lecturer, Department of Computing
Informatics Institute of Technology
ekanayakaindrajith@gmail.com · indrajith.net
Sandeepa B. Weerakkody
Director — Infrastructure Managed Services
Millennium IT
SandeepaB@mitesp.com · 076 095 6057