Nipul
Mallikarachchi

ABOUT ME

Hi, I'm Nipul!

I'm a full stack software engineer based in Sri Lanka. I build backend services and REST APIs, React and Next.js frontends, and the AWS infrastructure they run on, managed as code with Terraform.


For the last two years I've been at Apium Innovations, where I started as an intern in February 2024 and was promoted twice. Today I'm building the backend for Maash, a stablecoin neo-banking app: peer-to-peer transactions with KYC checks before every transfer, Grafana dashboards and Datadog alerts.


Before that I built the Next.js frontend for PlayNet, a game engagement platform with 500K+ daily users, and data pipelines that process 300K+ car listings a month for Autoscout.


Outside work I build my own tools. ois is an open source Go CLI that scaffolds Terraform projects on AWS, and zk-sudo is my research into replacing cloud credentials on disk with hardware-bound zero-knowledge proofs. I write about what I build on Substack.


I studied Software Engineering at Staffordshire University through APIIT Sri Lanka (BEng Hons, 2026), and made the School of Computing Honour Roll in my first and second years.

TypeScript
Java
React
Next.js
AWS
Terraform
Pixel art of a developer working at a computer

PROJECTS

  • Bridging the Infrastructure Scaffolding Gap with ois

    Moving from a manual copy-paste workflow to an orchestrated foundation in 60 seconds. A deep dive into building ois with Go, Cobra, Survey and Go embed, why it isolates Terraform state per service to limit the blast radius, and the path from ois init to a deployed AWS stack.

    Read more
    Bridging the Infrastructure Scaffolding Gap with ois image

Built W/

Go
Cobra
Terraform
AWS
Lambda
DynamoDB
SQS
API Gateway
Homebrew

ois: Infrastructure Scaffolding CLI

Every new AWS Terraform project starts with the same chore: creating directories, wiring up remote state backends and copy-pasting modules from an old repository. ois is a Go command-line tool that turns that into a single command.

Running ois init sets up a multi-environment project, with pre-production and production separated from the start. ois add then scaffolds Lambda, DynamoDB, SQS and API Gateway services through interactive prompts, using Terraform modules built on best practices.

Each service gets its own backend and state file, so a change to one Lambda function can never touch a database. When you connect two services, ois generates the IAM policies, SSM parameter lookups and event triggers they need to work together.

All templates are compiled into a single binary with Go embed, so it runs anywhere with no external files. It installs through Homebrew, and ois estimate prices a Terraform plan with OpenInfraQuote.

  • What Are dNFTs? Moving Beyond Static JPEGs (Part 1)

    An introduction to Dynamic NFTs (dNFTs) and how they evolve beyond traditional static digital assets. Learn how dNFTs leverage smart contracts and decentralized oracles to dynamically update metadata and visual traits in response to real-world data, gaming achievements, and user interactions across Web3 ecosystems.

    Read more
    What Are dNFTs? Moving Beyond Static JPEGs (Part 1) image
  • Building Your Own Dynamic NFT: Smart Contract Deep Dive (Part 2)

    A step-by-step developer guide on writing and compiling a Dynamic NFT smart contract using Solidity, Hardhat, and OpenZeppelin. Learn how mutable on-chain state variables and updated token URIs enable programmable digital assets to dynamically evolve their attributes and visual artwork based on user interaction.

    Read more
    Building Your Own Dynamic NFT: Smart Contract Deep Dive (Part 2) image
  • Deploying & Interacting with Your Dynamic NFT (Part 3)

    A complete walkthrough on deploying your Dynamic NFT smart contract to the Base Sepolia testnet using Hardhat. Covers configuring environment keys, executing deployment scripts, and connecting to a live web application to trigger real-time on-chain dNFT transformations in action.

    Read more
    Deploying & Interacting with Your Dynamic NFT (Part 3) image

Built W/

NextJS
TypeScript
Solidity
Rust
NodeJS
AWS
React
TailwindCSS
Shadcn

On-Chain Loyalty System for Discord Servers

In this project, I built a decentralized system that links Discord roles and community activity to dynamic NFTs on-chain.

Server admins can invite a bot to their Discord, which tracks user milestones like time spent in the server or earning special roles.

Each user can mint an NFT that represents their status within the server. As their role or reputation changes, the NFT updates dynamically.

All data is managed without centralized services—smart contracts handle minting and updates, while NFT metadata is stored on IPFS.

Admins and users interact through a dashboard where they can view stats, configure rules, and connect wallets to manage NFTs.

Experience

Apium Innovations2024.02 - now
  1. Software Engineer Intern

    2024.02 — 2024.08

  2. Associate Software Engineer

    2024.09 — 2025.10

  3. Full Stack Software Engineer

    2025.11 — now