Skip to work

all pipelines healthyColombo, Sri Lanka--:-- local

Imalsha
Akalanka

I build data pipelines that run on schedule, AI applications that turn language models into reliable products, and automation that takes busywork off people's desks.

currently Automation Engineer at HOP

~/imalsha

$ make run --all

.

.

.

01

Data Engineer

ETL and ELT on Databricks, PySpark and Delta Lake, plus healthcare pipelines that strip PHI from EMR data before it ever reaches a dashboard.

02

AI Software Engineer

Software built around large language models: retrieval over vector databases, agents that call tools and APIs, structured outputs, and the evaluations and guardrails that keep answers accurate, safe and affordable in production.

03

Automation Engineer

Test automation frameworks in Python, Playwright and pytest on the Page Object Model, plus RPA bots for insurance and healthcare portals.

01 / transform

Selected work,
shown running.

Every project below comes with a live diagram of how it actually works. Each one plays when it scrolls into view. Pause it, step through it, or click any stage.

WHERE lens =

01HOPAug 2026 to now

HOP Automation Framework

Browser automation for a healthcare learning platform

A browser automation framework built from the ground up in Python, Playwright and pytest for HOP, an AI-native micro-learning and quality improvement platform for home health and post-acute care agencies. It sits on the Page Object Model, so every flow reads as plain business steps and a UI change is fixed in one place.

  • Covers the Management Console, enterprise invitations, Huddle sequences, Orientation and full onboarding
  • Data-driven: one JSON file per scenario, unique data on every run
  • Parallel runs with pytest-xdist and PDF reports any team can read
  • Python
  • Playwright
  • pytest
  • pytest-xdist
  • Page Object Model
  • ReportLab
  • PowerShell

* Company work. The diagram is illustrative and contains no customer data.

fig. 01 · test run
scenariosjson · dataflowsbusiness stepspagesscreen layerbrowserplaywrightpage object model · a UI change is fixed in one placegw0 management consolegw1 enterprise invitesgw2 huddle sequencesgw3 orientation + onboardingreport.pdfwaitingfor every teamPS> loading config
config · env=staging · scenario=create_agency.json · run_id=7c2e · unique data generated

ConfigureOne command loads the environment config and the scenario JSON, and generates unique data so the run can repeat safely.

02HOPAug 2026 to now

PHI-Safe EMR Pipeline

De-identified healthcare data and quality dashboards

An automated pipeline that pulls operational data from third-party EMR and agency management platforms, cleans it, and strips out protected health information before anything moves on. Dashboards built on the de-identified data give clinical and leadership teams a view of agency performance and quality trends without exposing a single patient.

  • Automated extraction from third-party EMR and agency platforms
  • Removes names, MRNs, dates of birth, addresses and dates of service
  • Only de-identified data moves on, supporting HIPAA requirements
  • Python
  • Web scraping
  • Data cleaning
  • PHI de-identification
  • Dashboards

* Company work. Every value in the diagram is a fictional placeholder.

fig. 02 · de-identification
restricted zone · phi presentEMRthird-partyagencymgmt platformrawrestrictedrecordnameJane Samplemrn000123dob1950-01-01address1 Main Stvisit_date2026-01-15agency"ag-104 "discipline" rn"visit_type"soc"outcome"Improved "phi gatescaninsightssupports HIPAA requirements · only de-identified data leaves the zone
extract · 2 third-party sources · scheduled pull · lands in restricted storage

ExtractOperational data is pulled automatically from third-party EMR and agency management platforms into a restricted zone.

03Personal projectJul to Aug 2026

CSE Data Pipeline

Automated market and financial data platform

A lakehouse for the Colombo Stock Exchange. Scheduled Databricks jobs ingest daily trading data for every listed company through a medallion architecture, while Claude reads years of annual reports and turns their financial statements into structured, queryable Delta tables.

  • Daily ingestion for 283 listed companies
  • Bronze, Silver and Gold Delta layers
  • AI extraction from annual report PDFs into strict JSON
  • Python
  • Databricks
  • Delta Lake
  • PySpark
  • Pandas
  • Claude API
  • PDF to Markdown
fig. 03 · medallion flow
databricks workflow · trading days · after closeCSE API283 tickers/daybronzeraw historyReportsannual · pdfClaudepdf → jsonsilverconformedgoldmetricsanalysisquery-readydelta lake tablesbronze keeps raw history · silver is the contract · gold is the product
job cse_daily_ingest · trigger: schedule · status: RUNNING

ScheduleA Databricks Workflow fires on every trading day after the market closes.

04Client projectMay to Sep 2026

Config-Driven CRM Lakehouse

Metadata-driven API ingestion on Databricks

A production Databricks pipeline that syncs a client's CRM into a medallion lakehouse. A single config table controls everything: which API endpoints run and in what order, full or incremental loads, watermarks and merge keys. An orchestrator takes each endpoint through Bronze and Silver in turn, and every stage writes to an audit log so each run can be traced end to end.

  • One metadata table drives 12 endpoints across lookups, field definitions, core entities and transactions
  • Incremental loads with a 2-day watermark lookback, cursor and offset pagination, and exponential-backoff retries
  • Hashed custom-field keys decoded into typed, readable Silver columns, merged by configured keys
  • Three append-only audit tables and a per-stage success-rate monitor, with Gold views for reporting
  • Databricks
  • PySpark
  • Spark SQL
  • Delta Lake
  • Unity Catalog
  • Python
  • REST APIs

* Client work. The client and source system are not named, and every value in the diagram is illustrative.

fig. 04 · config-driven run
config10pipelinesFULL70orgsINCR110dealsINCR120activitiesINCRapipage 500429 → retry 2s, 4s, 8slandingjson batchesbronzededupe by idsilvermergedgoldviewscustom_fields.9f3c…a41e→ site_stateauditappend-only · one row per stage per runsource → jsonwaitingjson → bronzewaitingbronze → silverwaitingsuccess rate··last 10 days
config · seq 110 · deals · INCREMENTAL · from last watermark minus a 2-day lookback

ConfigureThe orchestrator reads the config table: which endpoints are active, in what order, full or incremental, and from which watermark.

05Altria ConsultingNov 2025 to Apr 2026

Motor Quote Automation

From one email to a multi-insurer quote comparison

An end-to-end system for an insurance broker that turns an underwriter's email into a side-by-side comparison of motor quotes. An intake bot reads the request from the mailbox, AI reads the attached ID, licence and vehicle documents, and Playwright bots sign in to several insurer portals in parallel to price the policy. Each quote PDF is parsed and merged into an Excel, Word and PDF comparison that is emailed back.

  • Mailbox intake through Microsoft Graph: a 20-field request template parsed, validated and answered automatically when incomplete
  • Azure Document Intelligence and GPT-4o classify every page (ID, licence, registration) and extract the fields
  • Playwright bots for 7 insurer portals running in parallel, built on page objects, YAML XPath locators and 12 reusable field handlers
  • Quote PDFs parsed for premium, excess, VAT and benefits, with referrals and portal errors captured with screenshots
  • Python
  • Playwright
  • asyncio
  • Microsoft Graph
  • Azure Document Intelligence
  • Azure OpenAI
  • MySQL
  • Azure Blob Storage
  • pdfplumber
  • openpyxl

* Client work. The client and insurers are not named, and every value in the diagram is fictional.

fig. 05 · email to comparison
inboxgraph apiintake20 fields↩ auto replyread docsocr · gpt-4oIDlicencereg.validatestored procsportalsparallel · playwrightinsurer Ainsurer Binsurer Cinsurer DcomparisonABDpremium1,8502,1201,640excess500350750total1,9432,2261,722reply to underwriter · comparison.xlsx · comparison.pdf · 3 quote PDFs
intake · request template detected · 20 of 20 fields parsed · 4 attachments stored

IntakeAn underwriter emails the request template with documents. The intake bot reads the mailbox, parses the 20 fields, and replies straight away if anything is missing.

06Altria ConsultingNov 2025 to Apr 2026

Document Vault

Secure uploads and back-office dashboard

A full-stack Next.js and React application where documents are uploaded securely, validated by the back office and managed from an admin dashboard. Versioned on GitHub and deployed to Azure Web App Service.

  • Secure document upload flow
  • Back-office data validation and admin dashboard
  • GitHub to Azure Web App Service deployment
  • Next.js
  • React
  • TypeScript
  • GitHub
  • Azure Web App Service

* Client work. File names shown are fictional.

fig. 06 · upload lifecycle
drop files herePDFclaim_form.pdfstorageprivate · by rolevalidationfile typesize limitrequired fieldsadmin…pendingid_card.pngapprovedpolicy.pdfapprovedgithubbuildazure web app
upload · claim_form.pdf · 2.4 MB · 100%

UploadA user drops a document into the upload area and it is sent securely.

07Personal projectJul to Aug 2025

Intelligate

AI assistant platform for organizations

ChatGPT-style help for everyone in an organization through a single shared API subscription. Role-based access, personalized workflows and a central knowledge base replace a stack of individual premium seats.

  • One shared GPT-4o API key behind a role-aware gateway
  • Personalized workflows per team
  • Centralized knowledge management
  • React
  • TypeScript
  • FastAPI
  • OpenAI GPT-4o
  • Firebase
  • Tailwind CSS
fig. 07 · shared gateway
AadminHhrEengineeringSsalesintelligatefastapiauth + rbacrole → policyworkflowsper-team promptsknowledgeshared docsgpt-4o1 shared api keyper-seat plansintelligate · usage onlyreact + firebase client · role-based access · central knowledge
engineering › "Summarize our incident runbook into three steps"

AskSomeone on the engineering team asks a question from the shared workspace.

08University projectMay 2024 to Apr 2025

DigiFine

Digital traffic fine management for Sri Lanka

A full traffic enforcement system with four role-based portals: drivers, police officers, Officers in Charge (OICs) of each station, and admins. Officers check licences and plates against a vehicle registry, then issue e-tickets on the spot. Drivers lose demerit points, get notified, and pay online or dispute with evidence. OICs run their stations, and admins see everything through live reports.

  • Four portals: driver, officer, station OIC and admin, each scoped to its role
  • On-the-spot licence, suspension and stolen-vehicle checks, with seizure and release tracking
  • 20-point demerit scheme, PayHere payments, PDF receipts and evidence-based disputes
  • Duty assignment and submission, trilingual offence list, and close to 20 Chart.js reports exportable to PDF
  • PHP
  • MySQL
  • JavaScript
  • PHPMailer
  • PayHere
  • Dompdf
  • Chart.js

* Team project of four. Names, IDs, plates and amounts shown are fictional.

fig. 08 · fine lifecycle
officerroadsidedigifinephp · mysqldriverportal · emailoicstationlicence + plate lookupvalid · not stolene-ticket · LKR 2,50020 → 17 pts · 28 daysemail + in-app alertpay via PayHerePDF receiptor dispute + evidencediscard · points restored
verify · licence B7654321 valid · not suspended · plate WP CAB-4521 not stolen

VerifyAt the roadside, the officer looks up the driver's licence and the vehicle plate. DigiFine flags a suspended licence or a stolen vehicle before anything else happens.

02 / lineage

Where the work
came from.

  1. Aug 2026 to Present

    HOPHEAD

    US healthcare company. An AI-native micro-learning and quality improvement platform for home health and post-acute care agencies.

    Automation Engineer

    Browser automation framework

    • Designed and built the company's browser automation framework from the ground up with Python, Playwright and pytest.
    • Structured it on the Page Object Model, separating business workflows, screen interactions and test data, so each flow reads as plain business steps and a UI change is fixed in one place.
    • Automated the platform's core areas: user, agency and branch administration in the Management Console, enterprise invitations for the super admin role, Huddle sequence creation (document uploads, manual content and storytelling) and the Orientation module's courses, lessons, competency programs and skills checklists.
    • Automated the full onboarding flow, from sign-up through the setup wizard.

    Built for every team

    • Made it data-driven, with one JSON file per scenario, environment-specific configuration and Git-safe templates that keep credentials out of source control.
    • Added unique data generation on every run, one-command runners in PowerShell and Python, parallel execution with pytest-xdist and per-run logs.
    • Built PDF reporting with ReportLab and documented the framework, so clinical, content and engineering teams can run a flow, add a new one and read results without opening the code.

    Healthcare data pipeline and dashboards

    • Built an automated pipeline that pulls operational data from third-party EMR and agency management platforms, then cleans and de-identifies it.
    • Stripped protected health information (patient names, medical record numbers, dates of birth, addresses and specific dates of service) so only compliant, de-identified data moves on, supporting HIPAA requirements.
    • Built dashboards on the de-identified data that show clinical and leadership teams agency performance and quality trends without exposing patient information.
    • Python
    • Playwright
    • pytest
    • pytest-xdist
    • Page Object Model
    • ReportLab
    • PowerShell
    • JSON
    • Git
  2. May 2026 to Sep 2026

    Algospring

    Sister company of Altria Consulting. My employment moved here after the internship.

    Associate Data Engineer

    Data pipeline development and optimization

    • Designing and maintaining scalable ETL pipelines on Databricks to process and transform large-scale datasets.
    • Using PySpark and SQL in Databricks for data cleaning, integration and performance tuning for downstream analytics.
    • Implementing automated data quality checks and monitoring workflows to keep data reliable and available.
    • Databricks
    • PySpark
    • SQL
    • Python
    • ETL
  3. Nov 2025 to Apr 2026

    Altria Consulting

    Software Engineering Intern

    Document management and admin dashboard

    • Built a full-stack Next.js and React application for secure document uploads and back-office data validation.
    • Managed version control on GitHub and deployed the system to Azure Web App Service.

    Insurance portal RPA

    • Engineered Python and Playwright automation to extract data and run workflows across multiple major insurance platforms.
    • Handled complex XPath locator extraction and ran comprehensive test scenarios for reliable automated data entry.

    Healthcare and motor endorsement automation

    • Automated medical and motor insurance endorsement processes, removing repetitive data entry for healthcare portals.
    • Fixed critical frontend validation errors and resolved production bugs across medical portal environments.
    • Python
    • Playwright
    • TypeScript
    • React
    • Next.js
    • GitHub
    • Azure
    • SQL

03 / schema

The toolkit,
as a query.

Pick a lens to see which tools each discipline leans on.

SELECT category, tools FROM imalsha.skills;
categorytools
data_engineering
  • ETL / ELT
  • PySpark
  • Pandas
  • Medallion architecture
  • Data ingestion
  • Data transformation
  • Data quality checks
  • Web scraping
  • PHI de-identification
  • Dashboards
warehouses_databases
  • Databricks
  • Delta Lake
  • Snowflake
  • PostgreSQL
  • MySQL
  • MS SQL Server
  • MongoDB
  • Firebase
modeling_architecture
  • Data warehousing
  • Star schema
  • Query optimization
  • Data validation
ai_llm
  • RAG
  • Vector databases & embeddings
  • Agents & tool calling
  • Structured outputs
  • LLM evaluations
  • Guardrails
  • Claude API
  • OpenAI GPT-4o
  • FastAPI
automation_testing
  • Playwright
  • pytest
  • pytest-xdist
  • Page Object Model
  • Data-driven testing
  • ReportLab reporting
  • XPath locators
  • RPA workflows
  • Test scenarios
languages
  • Python
  • Advanced SQL
  • Scala
  • TypeScript
  • JavaScript
  • Java
  • C++
  • PHP
  • PowerShell
web_cloud_tooling
  • React
  • Next.js
  • Tailwind CSS
  • Azure Web App Service
  • PayHere payments
  • Chart.js
  • Dompdf / PHPMailer
  • Docker
  • Git & GitHub workflows
  • Linux / Bash
59 tools across 7 rows · 0.002s

04 / metadata

A little more
context.

Computer Science graduate of the University of Colombo School of Computing, now working full time as an Automation Engineer at HOP. Outside of work, I like building communities as much as I like building systems.

education

B.Sc. in Computer Science

University of Colombo School of Computing

2023 to 2026

certifications

  • Get Started with Databricks for Data Warehousing

    Databricks

  • Databricks Fundamentals Accreditation

    Databricks

  • Python for Beginners

    University of Moratuwa

leadership & community

  • President, Exploration Club of UCSC

    Led book donation projects and an ICT seminar series on Arduino and ICT for Grade 10 and 11 students.

    2025 to 2026

  • Sergeant-at-Arms, Rotaract Club of UCSC

    Organized the Basketball Champion League 2024 with the Sports and Recreational Avenue.

    2025 to 2026

  • Volunteer, UCSC Career Fair

    Supported the faculty's flagship industry event.

    2024

  • Senior Prefect and Army Cadet

    Lance Corporal in the school cadet corps.

    2016 to 2017

see the photos

05 / sink

Messy data, a manual process, or an AI idea? Let's make it run.