Illustrated portrait of Nipun Theekshana
Sesathpura Dewage Nipun TheekshanaColombo, Sri Lanka

I started writing software professionally in 2016. Today I’m co-founder and CTO of PerfectUs, a blockchain studio where I’ve built a team of 50+ engineers and shipped 1,000+ smart contracts. Before that I led teams at KeenEye and Parallax, building IoT, logistics, ERP and payment systems for clients in Europe, the US and Sri Lanka.

What connects most of it is a stubborn interest in making things work here. Global tools rarely know what a DS division is, how a Sri Lankan bank formats an SMS, or that a good app should speak Sinhala and Tamil as well as English. So I build the missing pieces — and increasingly, I build them in the open.

That’s what Prabhava Labs is for: a non-profit for independent open-source work, with a simple publishing rule — the code, the story, and the decisions all ship together. The dead ends are part of the documentation.

Outside of work you’ll find me on a bicycle, in a pool, behind a camera, or at a desk covered in ESP32 boards.

The story so far

How I got here

  1. 2014

    Computer science in Matara

    Three years at the University of Ruhuna, where the fundamentals stuck: algorithms, systems, and the habit of asking how something actually works underneath.

  2. 2016

    First real users

    A traineeship at Crowderia AB, building Coqeep, an Android app for booking services. The first time code I wrote was used by people I would never meet.

  3. 2017

    Freelance, everything at once

    A storage-booking platform for Sweden, a Sampath Bank payment plugin, thirty-odd online shops, and Hope SL — soil sensors, Kafka, Spark and machine learning to decide when Sri Lankan farms should be watered.

  4. 2019

    Leading teams

    Tech Lead at Parallax Technologies, then at KeenEye across Colombo and Paris: 21 engineers, IoT logistics (EFL Symphony), radar camera detection for a US client (Cedar), and 50+ engineers mentored along the way.

  5. 2021

    PerfectUs

    Co-founded a blockchain development studio and became its CTO. A 50+ engineer organisation, 1,000+ smart contracts for clients worldwide, an in-house audit practice — and zero critical security incidents.

  6. 2026

    Prabhava Labs

    Prabhava (ප්‍රභව) means origin. A non-profit for independent open-source work in civic data, on-device ML and embedded systems. Every project ships with its code, the story of why it exists, and the decisions behind it.

How I think

Defaults I reach for

Opinions held firmly enough to act on, loosely enough to change when the data says so.

  1. 01

    Publish the reasoning, not just the code

    A README says what a tool does. The dead ends, the rejected designs and the trade-offs are what the next engineer actually needs, so they ship alongside the code.

  2. 02

    Precompute everything that fits

    Sri Lanka is ~70K populated square kilometres and 14K GN divisions. That fits in one SQLite file. Do the spatial work once, offline, and every request becomes an indexed read.

  3. 03

    Private by default, local when possible

    A bank SMS carries balances, card digits and merchants. The classifier should come to the phone, not the other way around.

  4. 04

    Build for here

    Trilingual from day one — English, සිංහල, தமிழ். Real bank formats, real bus routes, real power cuts. Global tools rarely know what a DS division is.

  5. 05

    Cheap to run, easy to own

    If a tuition teacher cannot self-host it on a small VPS, or it needs a tile server to show a map, the design is not finished yet.

  6. 06

    Say where it stands

    “Incubating” means incubating. Synthetic benchmarks are labelled synthetic. Honest status is a feature, and it is how trust compounds.

Toolbox

What I work with

Languages

  • Solidity
  • TypeScript
  • JavaScript
  • Go
  • Rust
  • Java
  • PHP
  • Python
  • Kotlin
  • Dart
  • C / C++
  • SQL

Blockchain

  • EVM chains
  • Smart-contract development & auditing
  • DeFi
  • NFTs & GameFi
  • dApps
  • Tokenisation
  • Hyperledger Fabric
  • Crypto payments

Backend & data

  • Node.js
  • Laravel
  • PostgreSQL / PostGIS
  • MySQL
  • MongoDB
  • Elasticsearch
  • Kafka
  • Spark / Hadoop
  • ETL pipelines

Frontend & mobile

  • React
  • Next.js
  • Astro
  • Vue.js
  • Flutter
  • Android
  • PWAs

Cloud & DevOps

  • AWS
  • Docker
  • Kubernetes
  • Jenkins
  • Ansible
  • CI/CD
  • Linux

AI & ML

  • On-device ML
  • LLM applications
  • Model evaluation
  • AI & bot development

IoT & embedded

  • ESP32-S3
  • Arduino
  • MQTT
  • Bluetooth LE
  • Firmware

Away from the keyboard

Life, offline

  • Music

    The soundtrack behind most of the code.

  • Photography

    Noticing light and framing places.

  • Cycling

    Distance, wind and a clear head.

  • Swimming

    An hour with no screens at all.

  • Bowling

    Friends, lanes and friendly rivalry.

  • Hardware

    ESP32 boards, AMOLED panels and a soldering iron on the desk.