|
| 1 | +%------------------------- |
| 2 | +% ATS-Friendly Professional Resume in LaTeX |
| 3 | +%------------------------- |
| 4 | + |
| 5 | +\documentclass[letterpaper,11pt]{article} |
| 6 | + |
| 7 | +\usepackage[empty]{fullpage} |
| 8 | +\usepackage{titlesec} |
| 9 | +\usepackage{enumitem} |
| 10 | +\usepackage[hidelinks]{hyperref} |
| 11 | +\usepackage[english]{babel} |
| 12 | +\usepackage[usenames,dvipsnames]{color} |
| 13 | +\usepackage[T1]{fontenc} |
| 14 | +\usepackage{tgheros} |
| 15 | +\usepackage{microtype} |
| 16 | + |
| 17 | +\renewcommand*\familydefault{\sfdefault} |
| 18 | + |
| 19 | +% Improve text extraction from the generated PDF. |
| 20 | +\input{glyphtounicode} |
| 21 | +\pdfgentounicode=1 |
| 22 | + |
| 23 | +% Colors |
| 24 | +\definecolor{heading-grey}{gray}{0.15} |
| 25 | +\definecolor{text-grey}{gray}{0.08} |
| 26 | +\definecolor{muted-grey}{gray}{0.35} |
| 27 | +\definecolor{line-grey}{gray}{0.78} |
| 28 | + |
| 29 | +\color{text-grey} |
| 30 | + |
| 31 | +% PDF metadata |
| 32 | +\hypersetup{ |
| 33 | + pdftitle={Tharuka Chathura Resume}, |
| 34 | + pdfauthor={Tharuka Chathura}, |
| 35 | + pdfsubject={Mobile and AI Engineer} |
| 36 | +} |
| 37 | + |
| 38 | +% Page style |
| 39 | +\pagestyle{empty} |
| 40 | + |
| 41 | +% Margins |
| 42 | +\addtolength{\oddsidemargin}{-0.55in} |
| 43 | +\addtolength{\evensidemargin}{-0.55in} |
| 44 | +\addtolength{\textwidth}{1.1in} |
| 45 | +\addtolength{\topmargin}{-0.65in} |
| 46 | +\addtolength{\textheight}{1.25in} |
| 47 | + |
| 48 | +\urlstyle{same} |
| 49 | +\raggedbottom |
| 50 | +\raggedright |
| 51 | + |
| 52 | +% Section formatting |
| 53 | +\titleformat{\section}{ |
| 54 | + \vspace{4pt}\bfseries\large\color{heading-grey} |
| 55 | +}{}{0em}{}[\color{line-grey}\titlerule \vspace{-5pt}] |
| 56 | + |
| 57 | +% Custom commands |
| 58 | +\newcommand{\resumeItem}[1]{ |
| 59 | + \item\small{#1} |
| 60 | +} |
| 61 | + |
| 62 | +% Plain-text heading structure avoids tables and improves ATS reading order. |
| 63 | +\newcommand{\resumeSubheading}[4]{ |
| 64 | + \vspace{1pt}\item |
| 65 | + \textbf{#1} \hfill {\small\color{muted-grey} #2} \\ |
| 66 | + \textit{\small #3} \hfill {\small\color{muted-grey} #4} |
| 67 | + \vspace{-5pt} |
| 68 | +} |
| 69 | + |
| 70 | +\newcommand{\resumeProjectHeading}[2]{ |
| 71 | + \vspace{1pt}\item |
| 72 | + \textbf{#1} \hfill {\small\color{muted-grey} #2} |
| 73 | + \vspace{-5pt} |
| 74 | +} |
| 75 | + |
| 76 | +\newcommand{\resumeSubHeadingListStart}{ |
| 77 | + \begin{itemize}[leftmargin=0in, label={}, itemsep=6pt] |
| 78 | +} |
| 79 | + |
| 80 | +\newcommand{\resumeSubHeadingListEnd}{ |
| 81 | + \end{itemize} |
| 82 | +} |
| 83 | + |
| 84 | +\newcommand{\resumeItemListStart}{ |
| 85 | + \begin{itemize}[leftmargin=0.18in, itemsep=2pt, topsep=4pt] |
| 86 | +} |
| 87 | + |
| 88 | +\newcommand{\resumeItemListEnd}{ |
| 89 | + \end{itemize}\vspace{-2pt} |
| 90 | +} |
| 91 | + |
| 92 | +%------------------------------------------- |
| 93 | +%%%%%% RESUME STARTS HERE %%%%%%%%%%%%%%%%% |
| 94 | +%------------------------------------------- |
| 95 | + |
| 96 | +\begin{document} |
| 97 | + |
| 98 | +%----------HEADING---------- |
| 99 | +\begin{center} |
| 100 | + {\Huge \textbf{THARUKA CHATHURA}} \\ \vspace{4pt} |
| 101 | + {\large \textbf{MOBILE \& AI ENGINEER}} \\ \vspace{6pt} |
| 102 | + |
| 103 | + \small |
| 104 | + \href{tel:+61459914630}{+61 459 914 630} |
| 105 | + \hspace{5pt} $|$ \hspace{5pt} |
| 106 | + \href{mailto:tharukack@gmail.com}{tharukack@gmail.com} |
| 107 | + \hspace{5pt} $|$ \hspace{5pt} |
| 108 | + \href{https://www.linkedin.com/in/tharuka-chathura/}{linkedin.com/in/tharuka-chathura} |
| 109 | + \\ \vspace{3pt} |
| 110 | + Blacktown, NSW 2148 |
| 111 | + \hspace{5pt} $|$ \hspace{5pt} |
| 112 | + \href{https://tharukack.github.io/}{tharukack.github.io} |
| 113 | + \hspace{5pt} $|$ \hspace{5pt} |
| 114 | + Full Australian Work Rights (Subclass 500 Dependent) |
| 115 | +\end{center} |
| 116 | + |
| 117 | +\vspace{-8pt} |
| 118 | + |
| 119 | +%-----------SUMMARY----------- |
| 120 | +\section{SUMMARY} |
| 121 | +\small{ |
| 122 | +Mobile and AI Engineer with 5+ years of software development experience, specializing in Android, Kotlin Multiplatform (KMP), iOS interoperability, and AI-powered healthcare systems. Experienced in building production mobile applications, BLE and offline-first architectures, real-time voice assistants, retrieval-augmented generation (RAG) pipelines, and on-device machine learning. Brings complementary full-stack experience across scalable backend services, cloud infrastructure, databases, and web applications, with a record of delivering reliable systems for thousands of users and devices. |
| 123 | +} |
| 124 | + |
| 125 | +\vspace{-6pt} |
| 126 | + |
| 127 | +%-----------SKILLS----------- |
| 128 | +\section{TECHNICAL SKILLS} |
| 129 | +\begin{itemize}[leftmargin=0in, label={}, itemsep=2pt] |
| 130 | + \small{\item{ |
| 131 | + \textbf{Mobile \& Architecture:} Kotlin Multiplatform (KMP), Android SDK, Jetpack Compose, SwiftUI, Clean Architecture, MVVM, Koin, Dagger Hilt, Room, WorkManager, BLE, Coroutines, Flow, Offline-First Systems \\ |
| 132 | + \textbf{AI \& Machine Learning:} RAG, FAISS, Vector Databases, Local LLMs, AI Agents, OpenAI APIs, Hugging Face Transformers, Model Fine-Tuning, ONNX, Quantization, BERT, Embedding, Wake word, ASR, STT, TTS \\ |
| 133 | + \textbf{Backend \& Cloud:} NestJS, Spring Boot, PostgreSQL, Redis, Docker Compose, AWS, Firebase, Hibernate, REST APIs, WebSockets, JWT, Prisma ORM \\ |
| 134 | + \textbf{Web \& Full-Stack:} React, Next.js, Angular, RxJS, TypeScript, JavaScript \\ |
| 135 | + \textbf{Languages:} Kotlin, Swift, Java, Python, TypeScript, JavaScript, SQL, C++, Dart \\ |
| 136 | + \textbf{Testing \& Delivery:} Git, CI/CD, JUnit, TestNG, Cucumber BDD, Appium, Espresso, Selenium, Firebase Crashlytics, Android MDM/EMM |
| 137 | + }} |
| 138 | +\end{itemize} |
| 139 | + |
| 140 | +\vspace{-8pt} |
| 141 | + |
| 142 | +%-----------PROFESSIONAL EXPERIENCE----------- |
| 143 | +\section{PROFESSIONAL EXPERIENCE} |
| 144 | +\resumeSubHeadingListStart |
| 145 | + |
| 146 | + \resumeSubheading |
| 147 | + {HeartBug}{Mar. 2025 -- Present} |
| 148 | + {Full-Stack Engineer}{NSW, Australia} |
| 149 | + \resumeItemListStart |
| 150 | + \resumeItem{Built cross-platform Android and iOS healthcare applications using Kotlin Multiplatform, Jetpack Compose, SwiftUI interoperability, Clean Architecture, MVVM, and Koin, supporting \textbf{3,000+ existing patients}.} |
| 151 | + \resumeItem{Developed the Bugsy AI voice-assistant mobile client with real-time audio streaming, wake word detection, echo cancellation, TTS, and optimized streaming pipelines to improve accuracy and reduce latency during live conversations.} |
| 152 | + \resumeItem{Designed and implemented the Bugsy backend using Docker Compose, PostgreSQL, Redis, FAISS-based RAG pipelines, ASR models, OpenAI APIs, and WebSockets, delivering low-latency conversational AI workflows tested to support \textbf{10,000+ patients}.} |
| 153 | + \resumeItem{Architected BLE communication and offline-first synchronization using Kotlin Coroutines, StateFlows, foreground services, local caching, and persistent storage, reducing reconnection failures by \textbf{90\%} and improving synchronization reliability by \textbf{80\%} in internal testing and staging.} |
| 154 | + \resumeItem{Fine-tuned MobileBERT and DeBERTa models with Hugging Face Transformers for lightweight intent classification, achieving over \textbf{90\% recognition accuracy}, and implemented local LLM action handling and prompt-engineering workflows.} |
| 155 | + \resumeItem{Maintained production applications serving \textbf{3,000+ active users} by analysing Firebase Crashlytics data and resolving production defects, reducing the proportion of users experiencing crashes from \textbf{20\% to 1\%}.} |
| 156 | + \resumeItemListEnd |
| 157 | + |
| 158 | + \resumeSubheading |
| 159 | + {Qmatic}{Jul. 2022 -- Dec. 2024} |
| 160 | + {Software Engineer}{Sweden} |
| 161 | + \resumeItemListStart |
| 162 | + \resumeItem{Designed and delivered \textbf{90\% of the Android UI and legacy XML-to-Jetpack Compose migration}, applying Clean Architecture, SOLID principles, MVVM, multi-module design, reactive programming, and Dagger Hilt.} |
| 163 | + \resumeItem{Implemented automated error detection and recovery for connection, server, and printer failures, reducing system downtime by \textbf{90\%} and configurator workload by \textbf{70\%}.} |
| 164 | + \resumeItem{Implemented QR-code device provisioning and transitioned from a Spring Boot service using the Android Management API to a standalone MDM solution, enabling kiosk mode across \textbf{10,000+ Android devices}.} |
| 165 | + \resumeItem{Engineered an automated test framework using Kotlin, Cucumber BDD, JUnit, TestNG, and Appium, reducing manual QA workload by \textbf{80\%}.} |
| 166 | + \resumeItem{Integrated printers, assist buttons, and card readers and enabled contact, contactless, and magnetic-stripe card processing for ticket generation.} |
| 167 | + \resumeItem{Automated CI/CD workflows with deployment scripts that built, packaged, and deployed artifacts to AWS, improving release consistency and delivery efficiency.} |
| 168 | + \resumeItem{Delivered Angular features for staff applications using RxJS, dependency injection, routing, reactive forms, pipes, and subscription management.} |
| 169 | + \resumeItemListEnd |
| 170 | + |
| 171 | + \resumeSubheading |
| 172 | + {Fiverr (Part-time)}{Feb. 2020 -- Jan. 2022} |
| 173 | + {Freelance Software Developer}{Remote} |
| 174 | + \resumeItemListStart |
| 175 | + \resumeItem{Delivered \textbf{100+ custom software solutions} for over 100 global clients using Java, C++, Python, and JavaScript.} |
| 176 | + \resumeItem{Created \textbf{20+ IoT systems and electronic prototypes} using Arduino, ESP32, NodeMCU, and STM32 microcontrollers.} |
| 177 | + \resumeItem{Developed \textbf{30+ web automation scripts and crawlers} using Python, Java, and Selenium, reducing client data-extraction effort by over \textbf{80\%}.} |
| 178 | + \resumeItemListEnd |
| 179 | + |
| 180 | + \resumeSubheading |
| 181 | + {Bloomwire}{Feb. 2020 -- Jul. 2020} |
| 182 | + {Backend Developer}{Sri Lanka} |
| 183 | + \resumeItemListStart |
| 184 | + \resumeItem{Built backend services for the Unecast SMS platform using Spring Boot, REST APIs, Amazon EC2, Lambda, RDS, JWT, SQL, Hibernate, and transaction management.} |
| 185 | + \resumeItemListEnd |
| 186 | + |
| 187 | +\resumeSubHeadingListEnd |
| 188 | + |
| 189 | +%-----------PROJECTS----------- |
| 190 | +\section{PROJECTS} |
| 191 | +\resumeSubHeadingListStart |
| 192 | + |
| 193 | + \resumeProjectHeading |
| 194 | + {Sadaham Sewana Charity Order Management Platform}{Full-Stack Project} |
| 195 | + \resumeItemListStart |
| 196 | + \resumeItem{Built an order and campaign management platform for coordinating customer orders and charity lunch-packet distributions using NestJS, Prisma ORM, PostgreSQL, and Next.js.} |
| 197 | + \resumeItem{Implemented JWT authentication, Twilio SMS notifications, rate limiting, automated PostgreSQL backups with Google Drive integration, and Docker Compose deployment.} |
| 198 | + \resumeItemListEnd |
| 199 | + |
| 200 | + \resumeProjectHeading |
| 201 | + {Portable Anti-Collision System for Forklifts}{IoT and Web Project} |
| 202 | + \resumeItemListStart |
| 203 | + \resumeItem{Built a collision-prevention system using ESP32, Time-of-Flight sensors, and AWS IoT Core, with real-time safety monitoring through a React dashboard.} |
| 204 | + \resumeItemListEnd |
| 205 | + |
| 206 | + \resumeProjectHeading |
| 207 | + {Virtual Career Fair Platform}{Full-Stack Project} |
| 208 | + \resumeItemListStart |
| 209 | + \resumeItem{Developed an automated interview scheduling platform integrating Google Calendar and Google Meet APIs to streamline recruiter-candidate workflows.} |
| 210 | + \resumeItemListEnd |
| 211 | + |
| 212 | +\resumeSubHeadingListEnd |
| 213 | + |
| 214 | +%-----------EDUCATION----------- |
| 215 | +\section{EDUCATION} |
| 216 | +\resumeSubHeadingListStart |
| 217 | + |
| 218 | + \resumeSubheading |
| 219 | + {University of Moratuwa}{Aug. 2017 -- Jul. 2022} |
| 220 | + {Bachelor of Science (Honours) in Engineering -- Electrical Engineering}{Sri Lanka} |
| 221 | + \resumeItemListStart |
| 222 | + \resumeItem{Second Class Upper Division.} |
| 223 | + \resumeItemListEnd |
| 224 | + |
| 225 | +\resumeSubHeadingListEnd |
| 226 | + |
| 227 | +%-----------TECHNICAL TRAINING----------- |
| 228 | +\section{TECHNICAL TRAINING} |
| 229 | +\resumeSubHeadingListStart |
| 230 | + |
| 231 | + \resumeSubheading |
| 232 | + {Institute of Java and Software Engineering (IJSE)}{Apr. 2020 -- Oct. 2020} |
| 233 | + {Advanced Business Solution Developer}{Sri Lanka} |
| 234 | + \resumeItemListStart |
| 235 | + \resumeItem{\textbf{Coursework:} Socket Programming, Web Applications, ORM, Hibernate, REST, Single Page Applications, and Document-Oriented Database Management.} |
| 236 | + \resumeItemListEnd |
| 237 | + |
| 238 | + \resumeSubheading |
| 239 | + {Institute of Java and Software Engineering (IJSE)}{Feb. 2019 -- Sep. 2019} |
| 240 | + {Comprehensive Master Java Developer}{Sri Lanka} |
| 241 | + \resumeItemListStart |
| 242 | + \resumeItem{\textbf{Coursework:} Programming Fundamentals, OOP, DBMS, Data Structures and Algorithms, Application Architecture, Design Patterns, Reporting, Regular Expressions, Threads, and Java Modern UI.} |
| 243 | + \resumeItemListEnd |
| 244 | + |
| 245 | +\resumeSubHeadingListEnd |
| 246 | + |
| 247 | +%------------------------------------------- |
| 248 | +\end{document} |
0 commit comments