Sadeesha
Ranasinghe

01 / 06 · Research

Four stains per image; blank the protein stain and the model's test mAP falls from 0.81 to 0.06

See this project

Software and AI engineer in London. I build back ends, train models and make websites. Everything on this page runs on each project's own data.

01 · Research · Apr to Jun 2026

Teaching a model to read cells

A deep learning pipeline that labels 28 protein locations in four-channel microscopy images, with swappable Vision Transformer and CNN backbones. These are three of its images: each stain is its own layer, so switch them on and off to see what the model reads.

Top 20% of 2,160 teams, on a late submission to the closed Kaggle competition.

View on GitHub
02 · MSc dissertation · 2026

Does daily news improve volatility forecasts?

I tested it on the 11 US sector funds over 13 years. Press play to watch the test unfold day by day, or drag across the chart to any date.

Headlines a day, by market mood News model against a price-only forecast News volume only Replay position

31 Mar 2011

Headlines that day 0Running score 0.0News volume only 0.0

Result
No detectable effect
News archive
15.5M rows
Out of sample
3,261 days
Any effect is below
0.961%

Effects the size published for single stocks would have been caught with near certainty. What signal exists comes from how much news arrives, not its tone.

03 · Employment · May to Sep 2025

Back End Engineer intern at Cryptorefills

Private code on a live crypto payments platform, so this is a schematic of what I built rather than a screenshot. Hover a lane.

Before
Afterover 6x faster
CI/CD scheduler Kraken API Notifications Daily transfers and refunds MongoDB Payment-error flags Review requests Only customers who paid cleanly are asked for a review Solana Alchemy API scanner Transaction history Customer transactions read straight from the chain

Java, Play Framework, MongoDB, Kraken API, Solana

04 · For businesses · Oct 2026

Sithara Estate

A tea-estate bungalow in Sri Lanka wanted direct bookings without taking card payments.

Guests send a request in four steps and the owner replies personally. There is no payment data and no third-party script on the site, and it costs about US$10 to 20 a year to run. It goes live once the owner confirms the last details.

  1. Your stay
  2. Dates and guests
  3. Extras
  4. Your details
  5. Owner confirms
Ask about a site
The Sithara Estate website scrolling through its home, photographs and things-to-do pages.
The same pages on a phone.
05 · Driving school · Oct 2026

Road signs as the interface

A design study for an Italian driving school. On the licences page each panel is a road sign, with the minimum age in a speed-limit roundel; open one and it unfolds into facts and notes in sign form. This is that page's content and behaviour, rebuilt. The business details on the live demo are placeholders.

See it on noren.it

Età minima
18anni
Esami
Teoria + guida
Veicoli
Fino a 3,5 t · 9 posti
  • Auto e rimorchi leggeri fino a 750 kg
  • In Italia guidi anche moto fino a 125 cc
  • Guide obbligatorie con l'istruttore: autostrada, extraurbana, notturna

Età minima
16anni
Esami
Teoria + guida
Potenza
Fino a 15 kW
  • Quadricicli non leggeri e quad fino a 15 kW
  • Peso a vuoto fino a 400 kg (550 kg per merci)
  • Include la patente AM

Età minima
14anni
Esami
Quiz + guida
Velocità
Fino a 45 km/h
  • Scooter 50 cc e microcar (quadricicli leggeri)
  • Lezioni pensate per i più giovani
  • Minorenne? All'iscrizione serve un genitore

Età minima
24anni
Con A2 da 2 anni
Da 20 anni
Potenza
Nessun limite
  • Tutte le moto, di qualsiasi potenza
  • Hai l'A2 da 2 anni? Basta la prova di guida
  • Hai già la B? Niente teoria, solo guida

Età minima
18anni
Esami
Teoria + guida
Potenza
Fino a 35 kW
  • Moto fino a 35 kW (max 0,2 kW/kg)
  • Include A1 e AM
  • Dopo 2 anni passi alla A con la sola prova di guida

Età minima
16anni
Esami
Teoria + guida
Moto
125 cc · 11 kW
  • Moto fino a 125 cc e 11 kW
  • Tricicli fino a 15 kW
  • Include la patente AM
06 · Engineering · Feb to Jul 2024

Four players, one server, two protocols

An illustrated match in our multiplayer Java board game, built from the game's real message classes. Socket and RMI clients play side by side. Team of four.

93%test coverage

30/30 cum laude after a live demo.

View on GitHub
07 · Research · Nov to Dec 2025

What sells with what

64 products from 14,963 supermarket baskets. Popular products share baskets just because they are popular: whole milk turns up with 62 of the others at least 20 times, but more often than chance with only 3.

So the lines here are the 63 pairs bought together more often than chance, thicker the stronger. Even the strongest, citrus fruit with specialty chocolate, is only 1.65 times chance. Colours are aisles.

View on GitHub

Drag to turn · Hover or tap a product

08 · Research · Jan to Feb 2026

Where to draw the line

1,400 real patients from the held-out test set of 50,736, placed by my model's predicted risk. Move the threshold to trade missed patients against false alarms.

View on GitHub
0.09
Caught
0%
Flags that are right
0%
Flagged, of 50,736
0
09 · Engineering · 2023 to 2024

A hardware module, running here

My VHDL module reads a sequence of words from memory, fills each zero with the last valid value and writes a credibility score that starts at 31 and falls with every repeat. This replay follows the same rules and is checked against the course's test vectors.

30/30 cum laude.

View on GitHub
SETUPREADINGWRITINGWAITDONE
10 · Engineering · Dec 2025

From a table to a trend

My command-line tool for public health researchers, replayed on its own table: 6,208 rows of COVID-19 excess deaths for 194 countries. Each box lights up as the tool runs that stage. Pick one to jump to it.

View on GitHub