Surface GUI Party System

My goal is to create a surface GUI party system, I’ve never seen this done before, and don’t have much to go off of. I’m a relatively new programmer. I tried making a module script for easier functionality, but I really don’t know how to go about it.

--Goal: create a functioning party system for my game, with invites and removals

local partyScript = {}

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ServerStorage = game:GetService("ServerStorage")

local partyEvent = ReplicatedStorage:WaitForChild("PartyEvent")
local parties = ServerStorage:WaitForChild("Parties")

local partyScreen = game.Workspace:WaitForChild("PartySys"):WaitForChild("Screen")
local partyGui = partyScreen:WaitForChild("SurfaceGui")

local createButton = partyGui:WaitForChild("createFrame"):WaitForChild("CreateButton")
local serverOptions = partyGui:WaitForChild("serverFrame")

local partyName = partyGui:WaitForChild("createFrame"):WaitForChild("PartyNameInput").Text
local partyPlayers = partyGui:WaitForChild("createFrame"):WaitForChild("MaxPlayersInput").Text

local playParty = partyGui:WaitForChild("inPartyFrame"):WaitForChild("PlayParty")
local leaveParty = partyGui:WaitForChild("inPartyFrame"):WaitForChild("LeaveButton")

local joinParty = partyGui:WaitForChild("serverFrame"):WaitForChild("ScrollingFrame"):WaitForChild("plrFrame")

local currentParty = nil

local MAX_PLAYERS = tonumber(partyPlayers)
local PARTY_TIME = 10

local function createParty(player, partyName, maxPlayers)
	--idk what to put here yet
end
	
return partyScript

any suggestions?

What exactly are you trying to display on the SurfaceGui?

Player icons (their profile image) & if you hover your mouse over it shows the players name or its right beneath their profile pic,

Interactable SurfaceGui to Start/End Party?

What is your definition of a party system?

I got somewhere with my project in the last hour, and creating a party works. The video below shows what I’m trying to create: A system where players can make a group and have others join that group to travel to a different server location within the game. The best example of a party system that I can think of is the game Together