LuaU / Roblox systems work

I can build pretty much whatever a Roblox project needs.

Systems, UI, bosses, quests, NPCs, data work, old code cleanup, and custom features. I work in LuaU with Rojo. I can also work with whatever framework or module setup your project already uses.

LuaU
roblox development
OOP
modular controllers
UI
inventory, lobby, settings
Systems
quests, bosses, npc logic
discord profile

Profile

discord profile

If it needs code, there is a good chance I can build it or clean it up.

What I can build

Best fit
Roblox games that need systems done properly and not stitched together
Gameplay systems, quests, and progression
Inventory, settings, status, shops, and UI
Bosses, NPCs, classes, and event logic
Validation, cleanup, and server-side support

Work

I usually end up doing the parts that grow fast

That usually means UI, class logic, quests, bounties, NPC behavior, bosses, server support, and all the parts between them.

Code Style

I keep the code modular so updates stay easy

Most of it is split into modules, services, and controller objects so new features do not wreck the rest of the game.

Payments

USD through Stripe is preferred, Robux works too

Small jobs are fine, full systems are fine, and long term work is fine too. Clients can pay at /payments.

What I Work On

What I can actually do

If it needs code, there is a good chance I can handle it. New systems, missing features, broken old code, party systems, boss logic, security wrappers, or cleanup after messy updates.

Gameplay Systems

Classes, quests, bounties, progression, combat systems, and the server logic that ties everything together.

UI and UX

Inventory UI, lobby systems, settings, status panels, shops, and whatever players spend time looking at.

NPC and AI Architecture

Controller-based NPC code, combat behavior, movement, threat logic, dialogue, and encounter scripting.

Boss Encounters

Phase logic, ability managers, state handling, punish windows, and boss scripting that can still be tuned later.

Data and Persistence

Player data, inventory saves, unlock checks, progression flags, and clean links between storage and game logic.

Anti-Cheat and Validation

Remote checks, action validation, movement checks, and server rules that stop the obvious abuse.

Tools

Modules and tooling I already know

I am not limited to raw Roblox APIs. I can work with common modules and tooling too, including the stuff most projects already depend on.

Workflow & Tooling

RojoWallyPesdeLuneGitGitHub ActionsStyLuaSeleneAftmanLuau-LSP

UI & State Management

VideFusionReactReflexIrisRoactFlipperRippleLlama

Logic, Data & Network

TroveJanitorMaidPromiseProfileStoreProfileServiceReplicaServiceZapByteNetBridgeNet2SignalRxLua

Code

Real code, cleaner layout

This is real project code. Alive NPCs, party code, security wrappers, and boss work are all in here. Pick a file on the left and read it in one viewer.

Preferred: USD via Stripe

Best for direct client work, milestones, and longer jobs.

Also available: Robux

Fine for smaller jobs too.

Showcase files

AliveNpcController.lua

ServerScriptService/Modules/AliveNpc/AliveNpcController.lua

LuaU

local AliveNpcController = {}
AliveNpcController.__index = AliveNpcController

function AliveNpcController.new(model, config)
	local self = setmetatable({}, AliveNpcController)

	self.Model = model
	self.Config = config
	self.Name = model.Name

	self.Humanoid = model:FindFirstChildOfClass("Humanoid")
	self.HumanoidRootPart = model:FindFirstChild("HumanoidRootPart")
	self.Animator = self.Humanoid:FindFirstChildOfClass("Animator") or Instance.new("Animator", self.Humanoid)

	self.SpawnPosition = self.HumanoidRootPart.Position
	self.SpawnCFrame = self.HumanoidRootPart.CFrame

	self.State = BehaviorState.IDLE
	self.Target = nil
	self.HitCount = 0
	self.ConsecutiveHits = 0
	self.LastHitTime = 0
	self.Hostile  = false
	self.WeaponEquipped = false
	self.Dead = false

	self.LastStateChange = tick()
	self.LastAttack = 0
	self.LastSkill = 0
	self.LastWander = 0
	self.LastStrafe = tick()
	self.LastParry = 0
	self.LastBlock = 0
	self.LastEquipToggle = 0
	self.LastDialogueTime = 0
	self.LastSocialUpdate = 0
	self.LastRagdollCancel = 0
	self.SocialTarget = nil
	self.Attacking = false
	self.HyperArmor = false
	self.TrueHyperArmor = false
	self.StrafeDirection = 1
	self.ComboIndex      = 1
	self.SkillTimers     = {}
	self.ThreatTable     = {}
	self.LastTargetAttacking = false

	local classModule = self.Config.Class and script.Parent.Classes:FindFirstChild(self.Config.Class)
	if classModule then
		self.Class = require(classModule)
	end

	self.WalkTrack = nil
	self.IdleTrack = nil
	self.RunTrack = nil
	self.Connections = {}
	self.SkillAnimTracks = {}

	self.Path = NpcPathfinder.new(self.Humanoid, model:FindFirstChild("HumanoidRootPart"), {
		AgentRadius = 2,
		AgentHeight = 5,
		AgentCanJump = true,
	})

	self:Setup()

	return self
end