The workshop / Work with me

A fresh pair of eyes.
A working next step.

Freelance software development for founders and small teams who need something specific built, fixed, or shipped.

I’m a Principal Software Engineer with 14 years of professional experience across equipment manufacturing, e-commerce, and fintech. I take on focused part-time projects, with a scope we agree before the work starts.

01 / Software development

Fix the bug. Finish the feature.

For an existing web app that needs careful, focused work. I can investigate a broken user journey, improve a Node.js API, work on a React or TypeScript feature, or help resolve database and performance issues.

What we aim to deliver

An agreed issue list, focused code changes, validation of the affected flows, and a handover explaining what changed.

A useful starting point

Send the steps to reproduce, the expected behavior, your stack, and anything you’ve already tried.

02 / AI integration & automation

Put AI to useful work.

For a product or internal workflow with a specific job for AI: extracting information, drafting from approved material, or connecting a model to an existing application. We start with the task and decide how to tell whether the output is useful.

What we aim to deliver

A scoped integration with input and output handling, failure behavior, and a way to check quality and usage costs.

A useful starting point

Describe the current workflow, share a non-sensitive example, and tell me what a good result looks like.

03 / Platform & infrastructure engineering

Close the gap to launch.

For teams building or improving the platform behind a product. I work on cloud infrastructure, Terraform, CI/CD, repeatable environments, and production troubleshooting, from a blocked release to a more dependable deployment path.

What we aim to deliver

A focused deployment fix, verification of the affected release path, and notes your team can use next time.

A useful starting point

Tell me where the app runs, what fails, and whether there’s a deadline. Redacted logs are useful; credentials aren’t needed for an introduction.

Engineering range

Different kinds
of building.

I move between the system and the screen. The tools depend on the work.

Platforms & infrastructure

The foundations that keep a product running.

AWS infrastructure, repeatable environments, deployment pipelines, and production troubleshooting. I use Terraform and CI/CD for web systems and native release paths.

Backend systems

The work behind the interface.

Node.js, TypeScript, and NestJS. APIs, payments, background jobs, data access, and performance work. This includes financial processing where deadlines and system limits are part of the design.

Web & native applications

The part people use.

React, Angular, and Astro on the web. Swift and SwiftUI on macOS. React Native and Expo on iPhone.

AI experiments

Build it, then question it.

Model integrations, output checks, and evaluation of generated text. I also experiment with Python, LoRA, and QLoRA. These are experiments, not claims that the hard parts have been solved.

Built & maintained by me

A few things
out in the world.

My own products. A look at the kind of engineering I do beyond a job description.

Creator tools / Commerce / Analytics

Links on Link

A platform for creators to build a storefront, sell digital products, and bring their links and audience into one place.

The work spans a page builder, custom domains, branded short links, Stripe payments, digital file delivery, and campaign analytics. It connects the page a visitor sees with the tools its owner uses to run the business.

Explore Links on Link

Learning tools / Angular & NestJS / In development

MemoryCrib

A thinking studio for curious kids, bringing writing, logic, math, puzzles, and memory palaces into guided activities.

I’m building the learning experience and its supporting API with Angular and NestJS. The design explores how spatial memory and playful challenges can help children practice and revisit ideas. The public site is currently a waitlist.

Explore MemoryCrib

Native macOS / SwiftUI / On-device data

AgentsEye

A native Mac app that brings AI coding usage and subscription limits into one place.

The work goes beyond the dashboard: provider integrations, local usage history, reset-aware alerts, widgets, and signed app updates. Its privacy model keeps app data on the device.

Explore AgentsEye

Web application / AI workflows / Product UX

DeSlop

A writing tool that cuts filler and lets people inspect a suggested rewrite before using it.

The engineering includes model integration, accounts, usage limits, rewrite feedback, and explicit controls around contributed writing. Small interface decisions sit on top of a complete product.

Try DeSlop

Experience

The work
underneath.

Five systems. Five different things that could not be hand-waved.

Financial systems / Reliability

A processing window that could not keep slipping.

Statement processing began a few hours after the billing cycle opened. That left roughly three to four hours for each batch to finish.

What I worked through

Slow queries and hard system limits were eating into that window. I worked with the team to find the bottlenecks, improve the existing processing path, and rewrite the parts where smaller changes were no longer enough.

The decision was not simply whether to optimize or rewrite. It was deciding which parts justified each approach while still working inside limits we could not remove.

Company details, volumes, and implementation specifics stay private.

AgentsEye / Integration & reliability

An alert is only useful if you can trust it.

AgentsEye works across the major AI coding providers. Each one represents usage limits, resets, and unavailable data differently.

What I worked through

I built the logic that distinguishes fresh, stale, and unavailable readings, tracks usage across reset cycles, and avoids repeating the same alert.

History stays local. Native widgets and signed updates make the app useful after the dashboard is closed.

See it

DeSlop / AI product quality

A smoother sentence can still be wrong.

DeSlop accepts drafts up to 20,000 characters. Model-backed cleaning stops at 12,000.

What I worked through

I worked on the checks around those rewrites: comparing the result with the source, protecting concrete details, and leaving the result editable.

Fluent output is not proof that the meaning survived.

See it

FastRight / Mobile & data continuity

An update should not erase someone’s progress.

FastRight is in private beta. Its timers need to survive app restarts, data-format changes, and releases without quietly changing someone’s history.

What I worked through

I used saved timestamps, versioned migrations, and shared app and widget state. Before a backup replaces existing progress, the app validates it and keeps a recovery copy.

It works without requiring an account.

Private beta.

How we’ll work

Small enough to finish.
Clear enough to trust.

01. Understand it.

We discuss the problem, constraints, and what success means. If investigation is needed before an estimate, we scope that first.

02. Agree the work.

We settle the deliverables, timing, price, and communication before starting. New requests get discussed before the scope grows.

03. Build & hand over.

You get reviewable changes, relevant verification, and a clear explanation of what’s done and anything still outstanding.

What needs
a little attention?

Send a short description, your stack, your timeline, and your budget range. I’ll let you know whether it’s a fit for my part-time availability.

Start a conversation on LinkedIn

Already talking with me on a freelance platform? Keep our conversation and contract there.

Back to the workshop & notebook

Agent Dex

Dilusha’s corner of the terminal

A guide to my work and notebook.
My AI stand-in, not me replying live.