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