Seven stories,told three ways.

Every project reads for business, for hiring or for engineering. The switch picks which reading opens first and which order they come in.

Reading as

The index

Every case study in full

Pehesara Book Shop, productised under CEYLAI Labs, 2026

Four customers in four languages, one agent. An illustrative conversation; the catalogue items are examples, not the shop's stock list.

A WhatsApp agent that answers shop customers in English, Sinhala, Tamil and Singlish, and can only quote what the product catalogue says.

Problem
Sri Lankan shops lose sales in WhatsApp chats they cannot answer fast enough, and customers often write in Sinhala, Tamil or Singlish rather than English.
Constraint
A wrong price or a stock promise the shop cannot keep costs more than a slow reply. Whatever answers has to be right as well as fast, and cheap enough per conversation for a small shop.
Decision
An agent that replies in the customer's own language, sends one message per turn and may only quote products that the shop's catalogue returns.
Outcome
Live for Pehesara Book Shop, and packaged by CEYLAI as a service for other businesses, planned to roll out ahead of Meta's October 2026 pricing change.
  • Node.js
  • Meta WhatsApp Cloud API
  • Claude Haiku 4.5
  • Tool use

My own studio, Ceylon Artificial Intelligence & Digital Innovation Laboratories

Ceylon Artificial Intelligence & Digital Innovation Laboratories

Black and white only: a colour is a claim

The CEYLAI wordmark, drawn from the studio's own brand files. The letters trace themselves, then the drop falls into place as the dot of the i.

A Sri Lankan software, web and AI studio built around one mark, a drop that is also the island, and one quality standard applied to every build.

Problem
Clients in the EU, UK and US buying from Sri Lanka need a reason to trust a studio they will never visit.
Constraint
No budget for paid advertising, a team that builds, and one person who has to be both the face of the studio and its quality bar.
Decision
Position the studio as a digital growth partner, with fixed-price projects followed by retainers, a zero-cost prospecting workflow and a 90-day plan, and apply The House Standard to every build.
Outcome
Operating, with eleven builds in the studio register, from hotel and tutoring ventures to client websites and a call centre prototype.
  • Brand system
  • Positioning
  • The House Standard
  • Astro

Pehesara Engineers, aluminium and glass, 2026

Windows6

PEHESARA ENGINEERS

Aluminium & Glass Fixing Specialists

QUOTATION

No. PE-0142

To: Client name, Colombo
Dear Sir,

Product or serviceQtyRateAmount
Aluminium sliding window, 1800 × 1200 mm, fitted638,500231,000.00
10 mm tempered glass partition240 sq ft1,150276,000.00
Aluminium door frame with fittings264,000128,000.00
Installation and site labour185,00085,000.00
Subtotal
Rs. 720,000.00
Discount (5%)
minus Rs. 36,000.00
Total
Rs. 684,000.00
Advance required (50%)
Rs. 342,000.00
Balance
Rs. 342,000.00

Thank you.

Pehesara Engineers · stand-in signature

TERMS & CONDITIONS Any additional work or changes will be charged separately. Delivery or installation timelines may vary depending on site conditions and material availability.

The letterhead layout assembling line by line. Illustrative figures, not a real invoice, and the signature is a stand-in.

A phone-first app that produces invoices and quotations indistinguishable from the company letterhead, and every PDF it makes can be opened again for editing.

Problem
A family aluminium and glass firm was writing its invoices and quotations in Word, including the documents for Hayleys PLC's Farmers Building refurbishment.
Constraint
Documents going to a listed company must match the letterhead exactly and get every figure right, and they are often needed from a phone on site.
Decision
A small web app. Fill in the job on a phone, tap Generate, and download a PDF that matches the letterhead, with the signature and terms included.
Outcome
In daily use for the firm's invoices and quotations, including the Farmers Building documents. Old PDFs can be opened again and edited, so nothing is retyped.
  • Python 3.12
  • Streamlit
  • ReportLab
  • Carlito

Ratnadeepa, Ratnapura, through CEYLAI Labs, 2026

6,504 K154 miredD65 daylight

Simulation, interpolated in mireds. The real site shows two unretouched photographs per stone.

A simulation, not a photograph. The light is interpolated in mireds between D65 and 2800 K tungsten and applied to a drawn stone.

A dark vault of a website where every stone is shown under two lights, D65 daylight and 2800 K tungsten, because that is how dealers actually judge colour.

Problem
A buyer abroad cannot hold a stone up to the window. One photo under one light hides the question every dealer asks, which is how the stone looks by evening light.
Constraint
A luxury trade that runs on trust, viewed mostly on phones, where retouched photography is common and buyers know it.
Decision
A vault aesthetic with near-black surfaces, brass and a restrained serif, and a light table that moves each stone between D65 daylight and 2800 K tungsten photographs.
Outcome
Shipped. Buyers can answer the colour question themselves before they book the flight.
  • HTML
  • CSS
  • JavaScript
  • SVG

Final-year research, BSc (Hons) Data Science, University of Plymouth, 2026

The Stroke AI Triage dashboard after a run: inputs on the left, and on the right the result badges HIGH, URGENT, Stroke YES and mixed or uncertain, the reasons list, haemorrhage probability bars and the ischaemia output of 100.05 ml.

A completed triage in the React dashboard.

Stroke
Yes
Type
Mixed or uncertain
Severity
High
Priority
Urgent

CT haemorrhage probability, 8 slices, highest per label

  • Any66.7%
  • Intraventricular34.8%
  • Subarachnoid19.2%
  • Subdural3.9%
  • Intraparenchymal2.3%
  • Epidural0.2%

MRI ischaemic lesion volume100.05 ml

Research prototype. Not clinically validated and not a medical device.

Screens from the working system, and its real output on a test case. Research prototype, not a medical device.

Two medical imaging models, one on CT and one on MRI, combined into a single triage decision that shows its evidence and exports a clinical-style PDF report.

Problem
Stroke treatment depends on knowing quickly whether a patient is bleeding or has a blocked vessel, and emergency imaging often waits for a radiologist.
Constraint
CT and MRI answer different clinical questions, and a clinician will not act on a score they cannot inspect. The system had to explain itself and be clear about what it is not.
Decision
Two specialist models and a transparent rule layer that turns their outputs into stroke type, severity and review priority, shown with the evidence and exported as a PDF report.
Outcome
A working prototype that runs on a single workstation. The next step would be clinical validation with radiologists, not a launch.
  • PyTorch
  • MONAI
  • EfficientNet-B0
  • 3D U-Net
  • Grad-CAM
  • FastAPI
  • React
  • Tailwind CSS
  • ReportLab

Infinity Consulting, Colombo, 2026

The rebuilt Infinity Consulting homepage: a headline about consulting that ends with your team able to run it, and a photograph of Colombo's business district.

After, checked by the build

homepage transfer
~125 kB
requests
8
h1 element
1
typefaces
2
Drag to compare. The before view is redrawn from the measured audit of the old homepage; the after view is a real capture of the rebuild.

A consulting firm's website rebuilt from a 1.77 MB homepage with a blocked hero image to about 125 kB, with a pre-launch checklist that caught what the old site never had.

Problem
The homepage hero was a stock photo of Kuala Lumpur served over http on an https page, so browsers blocked it and the hero showed as a flat grey block.
Constraint
Keep the firm's content, sort out five conflicting phone numbers, and launch with a working contact form but no backend to run.
Decision
A full rebuild with a pre-launch checklist covering the contact form, a data consistency audit and SEO set up from nothing, since the old homepage had no h1 and no meta description.
Outcome
The homepage went from 1.77 MB across 38 requests to about 125 kB across 8, with a Colombo hero image that is actually Colombo.
  • Astro
  • Static HTML
  • Self-hosted fonts
  • AVIF

Final-year project, BSc (Hons) Data Science, University of Plymouth, 2026

Message inI feel lonely at night and I keep overthinking.
  1. Detect language
  2. Translate to English
  3. Recognise emotion
  4. Check riskbefore the model
  5. Respond
  6. Translate back

Real messages and responses from the running system, including its API output. The crisis route returns a fixed message with Sri Lanka's 1926 helpline.

Supportive conversation in Sinhala and English from a locally hosted, QLoRA-tuned Qwen2.5-7B, with a deterministic safety route that bypasses the model for high-risk messages.

Problem
Most wellness chatbots only speak English, which asks people to describe how they feel in their second language.
Constraint
In this domain the failure that matters is missing a person at risk, and conversations are sensitive enough that storing them should never be the default.
Decision
A bilingual pipeline that reads emotion and checks for risk before the language model answers, and sends high-risk messages to a fixed crisis response with a local helpline.
Outcome
A working Sinhala and English prototype, designed to avoid diagnosis and medication advice, that stores no message text by default.
  • Qwen2.5-7B-Instruct
  • QLoRA
  • PEFT
  • TRL
  • Ollama
  • GGUF Q4_K_M
  • RoBERTa GoEmotions
  • FastAPI
  • React
  • TypeScript
  • SQLite

Also built

Eleven studio builds, with real screens

Inside the studio