Skip to content
View rayanweragala's full-sized avatar

Block or report rayanweragala

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rayanweragala/README.md

Rayan Weragala

Typing SVG

Profile Views Years Badge Repos Badge Commits Badge


About

I am a Full Stack Engineer who has grown from writing simple scripts to designing and delivering complex, scalable systems. My technical focus is on Java, Spring Boot, and the broader ecosystem of modern enterprise development — writing clean, testable code with a strong TDD practice, and building backends that hold up under real-world load.

Currently deepening expertise in Microservices Architecture and System Design, while actively exploring Cloud Native technologies, container orchestration, and DevOps workflows. The goal is always the same: software that is efficient, maintainable, and built to last.

Tech Stack

Backend & Data

Frontend & Mobile

DevOps & Tooling


Specialisation — Telephony & Communication Systems

A significant portion of my engineering background is in VoIP and PBX infrastructure — an area most full stack engineers do not touch. At Synapse Solutions, I worked directly with:

  • Asterisk PBX via the Asterisk REST Interface (ARI) — building and debugging call control logic at a level below most application-layer abstractions
  • IVR design and call flow engineering — structuring branching, DTMF handling, and agent routing at scale
  • SIP protocol fundamentals — understanding signalling, session management, and troubleshooting call-routing failures in production
  • PBX-to-microservice integration — bridging telephony middleware with Spring Boot backends, coordinating state between call events and business logic

This background informs how I think about distributed systems generally: low-level event handling, fault tolerance under real-time constraints, and designing for failure.

Architecture   →   TDD   →   CI/CD   →   Observability   →   Ship

I do not treat tests as an afterthought. Every non-trivial service is designed around contracts, tested at the unit and integration level, and deployed through automated pipelines. Clean architecture principles — separation of concerns, dependency inversion, bounded contexts — inform every design decision.


Currently

Area Focus
Architecture Microservices patterns, event sourcing, CQRS
Languages Go (systems & services), TypeScript, JavaScript (React/Next.js)
Telephony Asterisk/ARI, SIP, IVR design, PBX middleware integration
Infrastructure Kubernetes, Docker, Jenkins, Linux administration
Observability Prometheus, Grafana, ELK stack
Open Source Java & Spring Boot ecosystem contributions

GitHub Stats

GitHub Stats

GitHub Streak


Contact

Gmail LinkedIn

Pinned Loading

  1. callytics callytics Public

    TypeScript 37 6

  2. ChatApp-C-Server-Client ChatApp-C-Server-Client Public

    A simple chat application written in C, featuring a server running on CentOS and clients running on Fedora. This project demonstrates basic socket programming and inter-process communication using …

    C

  3. rayanweragala rayanweragala Public

  4. research_project_2025 research_project_2025 Public

    Java 1