About me

I am Kavinda Rathnayake, a software engineer who enjoys building reliable products across the stack.

I bring three years of experience, with most of my time spent on backend engineering while still staying very comfortable on the frontend.

I am a big fan of open source, and I enjoy building my own tools. TypeScript, Rust, and Java are the primary languages I keep returning to.

Most of the products I build are web applications, especially backend systems and REST APIs shaped around different architectures such as microservices and monoliths.

On the frontend, I usually work with React, Vite, TanStack Start, and Next.js depending on the requirement, with Tailwind CSS and shadcn/ui helping me move fast without losing design quality.

Working style

Backend-first, product-minded, and always curious.

KR
Backend systems
Frontend delivery
Open source
TypeScript
Rust
Java
About me in code

A TypeScript flavored version of how I think, build, and ship.

This section turns the same profile into code: a small, expressive module that reflects my engineering focus, tools, and working style.

src/data/about-me-in-code.ts

type StackArea =
  | "backend"
  | "frontend"
  | "architecture"
  | "tooling"
  | "open-source"

type DeveloperProfile = {
  name: string
  title: string
  experienceYears: number
  location: string
  primaryLanguages: string[]
  favoriteTools: string[]
  strengths: StackArea[]
  focus: {
    products: string[]
    architectures: string[]
    frontend: string[]
  }
}

const profile: DeveloperProfile = {
  name: "Kavinda Rathnayake",
  title: "Software Engineer",
  experienceYears: 3,
  location: "Sri Lanka",
  primaryLanguages: ["TypeScript", "Rust", "Java"],
  favoriteTools: ["React", "Vite", "TanStack Start", "Next.js", "Tailwind CSS", "shadcn/ui"],
  strengths: ["backend", "frontend", "architecture", "tooling", "open-source"],
  focus: {
    products: ["web applications", "backend systems", "REST APIs"],
    architectures: ["microservices", "monoliths"],
    frontend: ["React", "Vite", "TanStack Start", "Next.js"],
  },
}

const summary = [
  "Backend-first engineer with full-stack range.",
  "Builds custom tools and enjoys open-source work.",
  "Likes clean systems, practical architecture, and thoughtful UI.",
]

function createIntro({ name, title, experienceYears }: DeveloperProfile) {
  return `${name} is a ${title} with ${experienceYears}+ years of experience.`
}

function chooseMode(areas: StackArea[]) {
  return areas.includes("backend") ? "ship reliable systems" : "keep exploring"
}

export function aboutMeInCode() {
  return {
    intro: createIntro(profile),
    mode: chooseMode(profile.strengths),
    nowBuilding: profile.focus.products,
    primaryLanguages: profile.primaryLanguages,
    frontendToolkit: profile.focus.frontend,
    values: summary,
  }
}

export const currentStatus = aboutMeInCode()