I make Roblox systems that feel fast and stay reliable.

Gameplay mechanics, player data, interfaces, and practical tools—written in clean, maintainable Luau.

View selected work

01 / About

Curious by nature.
Careful in code.

I’m a high school student and Roblox scripter who enjoys turning rough ideas into clear, working systems. I focus on responsive gameplay, dependable player data, useful interfaces, and tools that make development easier.

I care about how a system feels to the player and how understandable it is to the next developer. That means sensible structure, clear naming, and fewer surprises when a project grows.

Right now I’m sharpening my Luau skills through small, focused builds and learning more about scalable game architecture.

02 / Selected builds

What I’ve been building

01

Round-Based Combat Prototype

A compact combat sandbox with server-side hit validation, responsive client effects, round states, and configurable weapon data.

  • Luau
  • Rojo
  • FastCast

Personal prototype

In development
02

Player Data & Inventory

A modular save system for currencies, items, and settings, with session locking, validation, and safe defaults for new players.

  • Luau
  • ProfileService
  • DataStoreService

Systems practice

Studio tested
03

Inventory & Shop Interface

A keyboard, mouse, and touch-friendly interface with item previews, category filtering, equip states, and reusable UI components.

  • Luau
  • Knit
  • UI

Personal build

UI prototype
04

Admin Command Toolkit

A small permission-based command system for testing, moderation, server messages, and common development shortcuts.

  • Luau
  • Rojo
  • TextChatService

Developer utility

Private tool

03 / Code sample

Readable by default.

I prefer small interfaces, explicit ownership, and code that communicates its intent without a tour.

Example: a typed cooldown utility with server-time synchronization.

Cooldown.luauLuau
--!strict
export type Cooldown = {
    readyAt: number,
    duration: number,
}

local function start(duration: number): Cooldown
    return {
        readyAt = workspace:GetServerTimeNow() + duration,
        duration = duration,
    }
end

local function isReady(cooldown: Cooldown): boolean
    return workspace:GetServerTimeNow() >= cooldown.readyAt
end

return { start = start, isReady = isReady }

04 / School

High school academics

Level
High school
Information Technology
93%Programming, databases, and practical assessment
History
95%Research, source analysis, and essay writing
English
89%Writing, comprehension, and language

05 / Contact

Say hello.

The easiest way to reach me is on Discord or Roblox.

Roblox
ryyjhtgrfeds
Discord