I build games, products, and customer relationships that last. Selling taught me the same thing building did: people stay for what actually works.
A growing collection of things I've designed and built.
The studio my partner and I run. We make games, run servers, and build the tools around them. I handle the builds, the systems, and the day-to-day that keeps it all moving.
Our social roleplay world on Roblox: a full city with a plaza, amusement park, cinema, stadium, and beachfront, plus its own in-game phone.
Our Minecraft launcher. One place to install, switch editions, and jump straight into a server, with three partnered servers and a hosting partner behind it.
Visit Nexus Launcher ↗Our own server is next on the list. Same community, new world.
A community CRM we are building for the studio: one inbox for every platform, player profiles, live game status, marketing, and analytics.
Environment builds and gameplay systems for STS Avenue RP, modelled in Blender and scripted in Luau inside Roblox Studio.
In-game capture · STS Avenue RP
An interactive income tracker with live monthly totals and a visual breakdown.
Short-form video content for STS Studio: character reels and game teasers for TikTok.
How two people built a working game studio: a live Roblox city, a cross-platform Minecraft launcher, and the tools and partnerships holding both together.
Two people, two platforms, one connected ecosystem
STS Studio is the studio my partner and I run. We build games, operate servers, and make the tools that sit around them, with a two-person core and no outside funding.
The bet was simple: most small studios build one thing, launch it, and hope. We wanted the opposite: products that feed each other. A game that gives the community somewhere to live, a launcher that brings players in from another platform, and internal tooling so two people can operate like a bigger team.
I run the studio day to day. That means the environment and technical build on the game side, the product side of the launcher, partnership relationships, marketing, and the operational scaffolding that keeps a two-person team from dropping things.
A social roleplay city with a plaza, amusement park, cinema, library, stadium, lagoon, boardwalk, and beachfront, plus its own in-game phone. I lead the map and environment build; my partner owns the interactive systems.
A custom launcher solving cross-platform access for Windows and macOS players, with three partnered servers and a hosting partner behind it. I handle the product side. Full breakdown in Case Study 02.
One inbox across every platform we operate on, plus player profiles, live game status, marketing, and analytics. Built because two people cannot manually track a community that spans two games and multiple servers.
Roblox enforces a hard ceiling of roughly 10,000 triangles per mesh. The architectural models we started from were built for rendering, not real-time play, and were nowhere near that.
The obvious fix, decimation, was the wrong one. Aggressive polygon reduction destroys exactly what makes a roleplay world worth spending time in: railings, trim, signage, the detail players notice up close. The real problem was never "make this smaller." It was "make this legal without making it worse."
Rather than reducing geometry, I split it: separating meshes by material first, then chunking along a spatial grid until every piece cleared the limit. The shopping mall alone became over 300 compliant parts; the library resolved into roughly 3,000 meshes, each sitting under a working cap I set below Roblox's ceiling for safety margin.
Doing this by hand across thousands of objects was never realistic. I wrote Python inside Blender to batch the separation, cap each operation to a triangle budget so it would not stall, compute accurate per-vertex bounding boxes for correctly scaling rotated objects, and export with the exact axis and scale settings Roblox expects.
Where geometry did need thinning, I used planar dissolve and selective chunking instead of blanket decimation, removing redundant coplanar faces rather than sacrificing silhouettes. Every exported piece was individually named so it stayed selectable and editable in Studio instead of arriving as an anonymous blob.
Import was the halfway point. On the Studio side I anchored several thousand parts to stop the city physically collapsing on load, corrected rotation offsets across imported sets, and grouped assets under clean parents so the hierarchy stayed navigable.
The map is only half a world. I built working escalators driven by cycling CFrames, a stadium jumbotron running a live in-game camera feed, a day/night cycle with keyframed lighting moods, animated neon on the Ferris wheel, and a server-side avatar scale rule so proportions stayed consistent across the city.
Free marketplace assets are a genuine security risk on Roblox. I audited incoming models and found and removed backdoor scripts, including one using a job-ID check to stay invisible while the place was open in Studio.
Nexus Launcher only works if there are communities on the other end of it. I built and manage the partner relationships that give the launcher somewhere to send players.
Our Discord is where players, partners, and testers all land. I handle structure, moderation standards, onboarding, and the events that give people a reason to come back between updates, building on years of moderating live chat at scale.
Short-form video does the acquisition work: character reels and game teasers cut for TikTok. The goal is to show the world rather than describe it, and route interest into the Discord where it converts into actual players.
Two people cannot afford ambiguity about who owns what. I keep roadmaps, SOPs, and launch plans documented, and lean on AI-assisted workflows to compress the work that would otherwise need a third person.
Running a small studio is mostly deciding what not to do. The wins came from constraints: a platform limit that forced a smarter pipeline, a two-person team that forced real documentation, and no budget that forced partnerships instead of spend.
How we took our Minecraft launcher from idea to a running product.
A custom Minecraft launcher by STS Studio
Nexus Launcher is a custom Minecraft launcher built to make accessing Minecraft communities easier across Windows and macOS.
The idea started from a simple challenge: many players experience friction before they can join a server, from manual setup and file management to compatibility issues between different platforms.
One of the biggest challenges was accessibility for macOS users. Minecraft Bedrock Edition has not had an official native release for macOS, making it difficult for Mac users to participate in Bedrock-based communities.
Nexus Launcher was created to provide a smoother and more accessible experience for players while building a central platform that connects users with different Minecraft communities.
The project has grown beyond just a launcher. Nexus Launcher is becoming an ecosystem supported by partnerships, including three partnered Minecraft servers and one hosting partner, helping create a stronger foundation for future community growth.
Nexus Launcher is designed to become a central hub connecting players, Minecraft communities, and server partners.
Currently, the platform has:
These partnerships allow Nexus Launcher to support multiple communities while giving players easier access to different Minecraft experiences through one platform.
Instead of players searching for servers individually and going through separate setup processes, the goal is to create a unified experience where communities and players can connect more easily.
Minecraft has a large and diverse player base, but accessing custom experiences can still be complicated.
Mac users face additional limitations because Bedrock Edition does not have an official macOS version, which creates challenges for players who want to join Bedrock-based communities.
Players also commonly experience issues such as:
The goal was to reduce these barriers and make joining Minecraft communities simpler.
Nexus Launcher was designed to:
The launcher is built around a simple idea: everything a player needs before they press play should be one screen away. Editions, versions, servers, and account, without leaving the app.
Home · library and launch screen with edition switching, version select, and partner servers on entry.
A look at how high-touch, personalized selling turned a high-volume inbox into repeat revenue and long-term accounts.
Through personalized sales conversations
Note: Performance metrics shown are based on available CRM reporting before a system migration affected access to historical data.
As a Sales Representative at CSO Management, I carried my own book of customers in a high-volume digital sales environment, owning each account from first contact through the close and the repeat purchase after it.
The role was never order-taking. It meant reading buying signals, qualifying who was actually worth my time, handling objections in the moment, and building enough trust that customers came back to me by name.
Revenue depended almost entirely on relationship strength and follow-up discipline. With a large active book, the challenge was keeping every conversation personal enough to convert while running dozens of them in parallel.
Key challenges included:
I dropped the one-size-fits-all pitch and led with discovery instead. Tracking each customer’s interests, past purchases, and response patterns let me open with something relevant, which consistently outperformed generic outreach.
I used CRM to segment my book, track every deal stage, and keep full context between touchpoints. Disciplined notes and follow-up timing meant no warm lead went cold because I forgot to circle back.
I watched which openers, offers, and objection responses actually moved deals forward, then doubled down on them. Reading what each buyer valued, whether price, speed, or attention, and matching the pitch to it lifted close rate over time.
Selling well came down to understanding, consistency, and trust, not pressure. The same principles carry straight into sales, account management, and operations roles where communication is what actually moves revenue.
Five ways I can plug into your team, depending on what you need.
The work I did at CSO Management: opening the conversation, closing it, and keeping the customer coming back.
$379K closed · CSO ManagementTurning scattered ideas into something structured enough to actually ship.
3 products across 2 platformsThe tools and interfaces I build so small teams can operate like bigger ones: dashboards, trackers, and the systems behind them.
STS Studio CRM · Nexus Launcher · this siteKeeping online communities active, safe, and organized, from server structure to the events that bring people back.
Years moderating live chat at scaleWhat I build daily at STS Studio: large-scale Roblox environments and the systems that run inside them.
Multi-million-triangle maps shipped to RobloxAvailable hourly, on a part-time retainer, or per fixed-scope project. Based in the Philippines (PHT, GMT+8), and I regularly overlap with US mornings and EU afternoons. Happy to adjust hours for the right team.
I brought in roughly $379K in sales revenue for the company I worked for. On the side, my partner and I run a small game studio. The through-line is the same in both: work out what someone actually wants, then deliver it before they have to ask twice.
Sales is the work I know best. I learned to read buying behavior, handle objections, and turn one-time buyers into people who came back asking for me by name. STS Studio is what I build outside of that: I lead the environment and technical work on our Roblox world, run the product side of our Minecraft launcher, and hold the partnerships and community around both.
I work best where commercial instinct meets building things. Close enough to the customer to know what actually matters to them, technical enough to go and make it.
Run the studio alongside my partner outside of full-time work. I lead map and environment development for STS Avenue RP, modelling in Blender and scripting systems in Roblox Studio, and I manage the product side of Nexus Launcher with three partnered servers and a hosting partner.
Carried my own book of customers in a high-volume digital sales environment, closing approximately $379K in attributed sales. Owned each account end to end, from outreach and discovery through objection handling, close, and follow-up, and ran the whole pipeline through CRM to keep every conversation personalized at scale.
Processed and organized records at volume against tight turnaround targets, where accuracy was the whole measure of the job. It is unglamorous work that builds a habit worth having: get it right the first time, because checking it twice costs more than doing it slowly.
Moderated live chat for an international platform across long, high-volume shifts. Held tone and community standards under constant load, judged what needed escalating, and learned how quickly a conversation turns when nobody is steering it.
Supported daily operations and front-line customer contact: scheduling, records, order coordination, and walk-in sales.
Send a message and I'll get back to you within a day.