// rainylofi · developer of star wars: roleplay · partner @ blueprint

Building worlds,
one raindrop at a time.

Six years building one of Roblox's biggest Star Wars roleplay games: the gameplay systems players touch, the UI they see, and the backend behind it.

88.6Mvisits
540Kfavourites
1.7Mgroup members
204Kupvotes
rainy@coruscant: ~

          
↓

01. about.lua

Hey, I'm RainyLofi. I'm a software engineer and a Partner at Blueprint. Most nights that means Roblox Studio, rain on the window and a lo-fi playlist on loop.

I started as a kid in Roblox's Script Builder, making tools, weapons and admin tabs, then moved on to building and selling web tools for Roblox groups in Python, PHP and JavaScript. All in, that's more than 12 years of programming.

For the last six years most of that time has gone into Star Wars: Roleplay for GAR, a community of over 1.7 million members. Since 2022 I've been rebuilding it as a single codebase that powers seven connected places, alongside the API and Discord bot that run the community side.

I like owning a feature end to end: the server-side Luau, the UI players interact with, and the Node API and database behind it.

I do use AI tools (they're in the workflow list), but as tools, not as a substitute for knowing what I'm doing. Everything I ship gets reviewed and tested by me, and I can explain and debug every line of it.

The main stage at RDC 2022 in San Francisco, seen from the audience
invitedRDC 2022 · Roblox Developers Conference, San Francisco
Rainy.lua
local Rainy = {
    alias     = "RainyLofi",
    role      = "Partner @ Blueprint",
    degree    = "BSc Software Engineering",
    graduated = "July 2022",
    focus     = {
        "Gameplay systems",
        "Game UI / UX",
        "Backend APIs & data",
        "Dev tooling & bots",
    },
    workflow  = {
        "Rojo",
        "VS Code",
        "Git",
        "Cursor",
        "Claude Code",
        "ChatGPT / Codex",
        "Monday",
    },
    fuel      = {
        "lo-fi beats & rainy nights",
        "Monster Ultra energy drinks",
    },
}

function Rainy:ship(change)
    local draft = tools.assist(change) -- AI can draft
    review(draft)                      -- I review every line
    assert(understood(draft), "don't ship what you can't explain")
    playtest(draft)
    return commit(draft)
end

return Rainy

02. projects/

earlier work

03. skills.tree

Where each skill comes from. Every dot is a dated feature or project, and most of them were built by hand, well before AI tools were any help. Hover a dot for details, or click a row to jump to it.

building with AI

    git log --oneline --grep=feat

      04. featured_systems/

      Recorded from development builds. These are systems I designed and scripted for Star Wars: Roleplay.

      more systems

      05. under_the_hood.md

      How the pieces fit together, and the habits that keep a live game with a big community stable.

      roblox game servers
      one Rojo codebase · staging + live universes
      gar-apiExpressfronts the DB, proxies Roblox APIs
      databaseMongoDBplayers, medals, factions, command queue
      gar-botdiscord.js45+ staff commands
      communityDiscordstaff & players

      The game and the bot never talk directly: the bot writes commands to the database, game servers pick them up through the API, and replies stream back into Discord as they arrive.

      services & tools

      stack

      06. git log --oneline

      ~/rainylofi (main)

        07. contact()

        ~/contact
        rainy@coruscant:~$ ./say-hi.sh
        > Currently working full-time at Blueprint as a Partner.
        > Not open to commissions or new roles right now,
        > but always happy to talk Roblox dev.
        
        rainy@coruscant:~$ cat links.txt