Announcement Roleplay Project is moving to FiveM. New launch 3 Jul 2026 Read more
Roleplay Project
Server Online Discord Apply
Announcement Roleplay Project is moving to FiveM. New launch 3 Jul 2026 Read more
roleplayproject.net  /  developers

Under the hood. Custom from the ground up.

Roleplay Project runs on a custom-built TypeScript framework, a MySQL backbone, and a Vue 3 in-game overlay. This page is for anyone who wants to know what's powering the city. Stack, roadmap, and how to contribute.

Platform port in progress
We're moving the entire server from RAGEMP to FiveM.
RAGEMP's wind-down was announced before launch. The TypeScript framework, Vue overlay, and MySQL backbone all carry across. The launch date moves to 3 July 2026 to cover the port. Friday playtests resume on FiveM from 12 June.
Read statement
FiveM / CitizenFX
Multiplayer platform
2,048-slot capacity. Active long-term roadmap. Industry-standard for serious GTA roleplay. Migrated from RAGEMP, May 2026.
TypeScript
Server runtime
Type-safe gameplay layer. Drizzle for new queries, modular system architecture, esbuild bundle.
Vue 3
In-game overlay
Composition API, ~150 PanelShell-pattern UIs. Carries across to FiveM's NUI bridge unchanged.
MySQL
Persistence
Schema-versioned. Self-healing idempotent migrations. Hot read replicas for analytics.
01 /Architecture

The PanelShell pattern.

Every in-game UI, banking, MDC, phone, character editor, uses the same component shell. About 150 panels share the language.
panels/MyPanel.vue Composition API
// every in-game window extends PanelShell.
// the website is built to feel like one more panel.

<PanelShell
  title="MDC, Mobile Data Computer"
  subtitle="Unit 8-A-12 · Ofc. Park"
  icon="display"
  accent="lspd"
  :tabs="tabs"
  :max-width=880
  @close="$emit('close')"
>
  <template #body>
    <StatGrid :cards="stats" />
    <ActivityList :rows="recent" />
  </template>
</PanelShell>
Surface tokens
CSS custom properties
Every panel pulls from --surface-canvas, --fg-bright, etc. One shared design system.
Faction accent
Per-panel theming
Pass accent="lspd" and the panel tints icons, active tabs, and badges accordingly, never the whole surface.
Esc-to-close
Universal
Every PanelShell binds Escape automatically. Close button shows the (Esc) hint on hover.
02 /The Team

Our developers.

Lean by design. We ship when it's ready and we don't ship when it's not.
Founder & Senior Developer
MelonDisrupt
Senior Developer
fatcattuxedo
Head of Development
Java
03 /Contribute

Want to help build the city?

We're a closed-source project, but a few lanes are open. Bug reports, system pitches, and applications when a dev seat is hiring.
Report a bug
Live · bugs.roleplayproject.net
Sign in with your RPP account, file a bug, and earn 100 PP when a developer marks it valid and fixed. Security exploits stay private and pay 1,000 PP on patch.
Open the bug portal
Request a feature
Live · bugs.roleplayproject.net/features
Pitch what you'd love to see. Upvote what others have asked for. Top-voted requests land on the roadmap.
Browse & vote
Apply to develop
Open · 2 paid roles + unlimited learning spots
Two paid hourly positions are open with Phytoventures Ltd. Lower-end developers can join unpaid to learn alongside the team and ship real features. TypeScript + Vue 3 preferred, but we'll mentor you up.
Apply now