Ibri, Oman · GMT+4 Open to selected projects

Talal Al Ghafri

Software Development · Systems Engineering

I build the systems a community runs on — bots that provision themselves, dashboards with real permissions behind them, and game-server platforms that stay up.

Explore the work Start a conversation

Practice
01 Software Development
02 Discord Systems
03 FiveM Platforms
04 Web & API
05 Applications
06 Automation
  • 13 Systems indexed
  • 07 Capability domains
  • 07 Languages written
  • GMT+4 Ibri, Oman

01 Profile

Two disciplines, one way of working.

I work in critical care and I build software. Both jobs reward the same instinct: understand the system before you touch it, make the failure modes visible, and leave something the next person can run without you standing next to them.

Most of what I ship starts as a problem a real group of people has right now — a community that needs moderation it can audit, a game server that needs to report what it is doing, a ward that needs a calculation done the same way every time. I build the thing, deploy it, and keep it running.

The work spans Discord and Telegram automation, FiveM server platforms, web applications and APIs, mobile and media apps, and clinical tooling. AI is part of how I build — an instrument in the workshop, not the product on the shelf.

Based
Ibri, Oman
Handle
vzjRR
Languages
Arabic · English
Writes
TypeScript · JavaScript · Python · Lua
Also
Critical care nursing

02 Capabilities

What I build, and what it is built out of.

Six domains. Each one is backed by work in the index below — the evidence column names it.

  1. 01

    Software Development

    The core of the work: designing, building, shipping and maintaining software that other people depend on — and that keeps running once I have moved on to the next thing.

    • Application and product engineering
    • System architecture and data modelling
    • API design and integration
    • TypeScript, JavaScript, Python and Lua
    • Relational databases and migrations
    • Testing, review and release engineering
    • Deployment, monitoring and operations
    • Refactoring and long-term maintenance
  2. 02

    Discord Systems

    Community infrastructure: bots that provision their own structure, moderation with an audit trail, and staff tooling that lives outside Discord where it belongs.

    • Ticket and support systems
    • Moderation, warnings and ban lifecycles
    • OAuth2 authentication and RBAC
    • Staff dashboards and admin panels
    • Role and permission architecture
    • Server provisioning and structure builders
    • Logging, auditing and evidence handling
    • Bilingual (Arabic / English) interfaces
  3. 03

    FiveM & GTA V

    Server-side platforms for roleplay communities — the parts that keep a server accountable, observable and recoverable.

    • FiveM resources in Lua
    • Server ↔ Discord ↔ web integration
    • Ban enforcement and escalation engines
    • Live status, telemetry and heartbeats
    • txAdmin environments
    • Administration and moderation tooling
    • Asset and vehicle resource pipelines
    • Defensive incident response
  4. 04

    Web & API

    Applications that degrade honestly: a document that works before the JavaScript arrives, and an API that is the only thing trusted with the truth.

    • Full-stack applications
    • REST APIs and service backends
    • Admin panels and dashboards
    • Authentication and session management
    • Relational data modelling and migrations
    • Progressive enhancement and offline-first
    • Edge and cloud deployment
    • Right-to-left interfaces
  5. 05

    Telegram Automation

    Bots and workflows on the messaging layer: notifications that reach the right person, and operations that run without one.

    • Telegram bots and command surfaces
    • Notification and alerting pipelines
    • Bot API integrations
    • Scheduled and event-driven workflows
    • Management and operations tooling
    Evidence

    Private work — not indexed publicly.

  6. 06

    Applications & Media

    Software people install and open: media playback, streaming, and interfaces built for a device rather than a browser tab.

    • Mobile and desktop applications
    • IPTV and streaming playback
    • Media pipelines and distribution
    • API and cloud service integration
    • Release engineering and versioning
  7. 07

    Automation & AI

    AI as an instrument in the workshop. Agents with a defined scope, a review gate before anything destructive, and an honest account of what they actually did.

    • Agentic pipelines with human approval gates
    • AI-assisted development workflows
    • Deterministic, offline-capable tooling
    • Developer tooling and internal CLIs
    • System and service integrations
    • Deployment and operations automation

03 Selected work

Systems that had to run without me standing next to them.

Thirteen builds, from a community homepage that survives every upstream going down to a clinical suite that refuses to send anything a nurse types to a server.

The rest of the index

  • 03 Censorship Platform Discord Systems Active

    A Discord OAuth2 staff platform: duty tracking, warnings, bans, evidence and audit logs, with role-based access enforced server-side.

    Three cooperating pieces over one codebase and one database. A discord.js bot posts fixed-format moderation logs and resolves guild members for the dashboard, holding no moderation state of its own. An Express and TypeScript API owns the OAuth2 flow, sessions, RBAC and a database-driven expiration worker. A React dashboard, served by that same process, is the only way staff touch any of it — and Postgres is the single source of truth for all three.

    • TypeScript
    • React
    • Tailwind CSS
    • Express
    • PostgreSQL
    • discord.js
    • Docker
  • 04 Enclave Tickets Discord Systems Live

    A ticket system built on one rule: a support category should not exist until someone needs it.

    Categories stay invisible while empty and surface only for the people in them, so a server of a dozen support sections reads as one channel until a ticket opens. One command provisions the whole structure — or adopts the channels a server already has. Each member picks a language once and everything the bot sends them afterwards follows it, down to the closing DM hours later, while staff records stay in English. Daily ticket caps reset at midnight Oman time, and a claimed ticket closes itself if the member goes quiet.

    • Node.js
    • discord.js
    • JavaScript
  • 05 Points System Discord Systems Live

    A Discord bot with no commands at all: it watches one channel and turns every qualifying image post into exactly one point.

    One point per message that contains an image — never more, however many images are in it — tracked as weekly, monthly and all-time totals that roll over on schedule in Oman time and archive a snapshot to history. Editing a message re-evaluates it. The bot exposes nothing to Discord; everything is read and administered from a separate panel, which is the only surface with write access.

    • TypeScript
    • discord.js
    • Drizzle ORM
    • SQL
    • Docker
    • Vitest
  • 06 ServerStats FiveM Complete

    One hub moving warnings, bans, kicks, join/leave events and live stats between a FiveM server, its Discord and its website.

    A Node backend holds the SQLite store, a warning-rule escalation engine and the Discord relay with its moderation commands, and serves the dashboard. In game, a FiveM resource reports events and enforces bans at connect time. The two sides authenticate with a pure-Lua HMAC signer written for the resource and verified byte-for-byte against Node’s own crypto output.

    • Node.js
    • Lua
    • SQLite
    • discord.js
  • 07 Server Status FiveM Live

    A live status card for a FiveM server: one Discord message, edited in place every minute, never reposted.

    It mirrors txAdmin’s own status embed — status, players, connect code, uptime, next restart — reskinned for the community. On boot the bot searches the channel for the message it posted before, recognises it by a footer marker and adopts it, so restarts never litter the channel. Figures come from txAdmin’s host status when it is configured, from an ordinary poll when it is not, and uptime from the relay resource’s real heartbeat when one is running. Nothing pings anyone unless a staff member explicitly announces it.

  • 08 LSPD Suite Discord Systems Live

    Three bots behind one bot identity: welcome imaging, audit logging and tickets for a police-department server.

    Separate Node processes share a single Discord application and token, so members only ever see one bot while each part can be restarted without touching the others. Log routing is channel-per-type in configuration, with per-deployment environment overrides so a staging server never needs a code change. Ticket sections are bilingual, and the whole thing installs from one script.

    • Node.js
    • discord.js
    • systemd
  • 09 Discord RP Builder Developer Tooling Internal

    A build tool that constructs an entire Discord server — roles, categories, channels — from a written architecture document.

    Every operation checks whether the role, category or channel already exists by name and skips it, so the tool is safe to point at a live server and safe to run twice. It ships beside three independent bots — logs, welcome, points — and an Express admin panel, each with its own package and each deployable on its own.

    • Node.js
    • discord.js
    • Express
    • Railway
  • 11 FiveM Security Agents Developer Tooling Active

    Defensive incident-response agents for compromised FiveM and txAdmin servers.

    Two agents, written as instructions any AI coding tool can follow straight from a URL. The assessment pass is strictly read-only: it scans, reports and produces a plan. The remediation pass runs only after that assessment or an explicit authorisation, quarantines before it deletes, and re-scans afterwards.

    • Agent specifications
    • FiveM
    • txAdmin
  • 12 Bariq4K Applications Beta

    An IPTV player application, published as versioned releases.

    A media player built around live and on-demand IPTV streams, distributed to users as tagged application releases rather than an app-store listing.

    • Media playback
    • Streaming
  • 13 Beyond The Shift Oman Media Publishing

    A cinematic healthcare podcast: real hospital experiences, staff reflections, and the conversations every department knows by heart.

    Written, produced and published as a show, then wired into the clinical platform as a first-class part of it — new episodes appear in the built-in player automatically from the feed, alongside the Spotify, Apple Podcasts and YouTube distributions.

    Role — Writer, producer, publisher

04 Trajectory

Ideas became systems. Systems became products.

A technical progression rather than a résumé — what the work was, what it turned into, and where it is now.

  1. 01 Ideas

    Automating what a community actually needed

    It started with the unglamorous jobs inside a roleplay community — tickets nobody could find, moderation nobody could audit, a server structure rebuilt by hand every time. Small scripts, then bots, then bots that could rebuild the whole server from a written architecture without breaking what was already there.

  2. 02 Systems

    Bots stopped being bots

    The moderation logic outgrew Discord. Postgres became the source of truth, OAuth2 and role-based access went in front of it, and the bot was demoted to what it is good at: writing logs and resolving members. In game, a FiveM resource started reporting events over a signed channel, and the same data began appearing on the community’s own site.

  3. 03 Products

    Things people use without knowing who built them

    A community homepage that stays readable when every upstream API is down. An admin panel that is the only surface with write access. A clinical suite that runs offline in a nurse’s pocket and refuses to send anything they type to a server. A podcast that ships in the same release as the platform it lives on.

05 Stack

The instruments, and nothing I have not shipped with.

An inventory rather than a wish list. Everything here appears in work in the index above.

01 Languages 07

  • TypeScript
  • JavaScript
  • Python
  • Lua
  • SQL
  • HTML
  • CSS

02 Runtime & Frameworks 07

  • Node.js
  • Next.js
  • React
  • Astro
  • Express
  • Tailwind CSS
  • discord.js

03 Data 05

  • PostgreSQL
  • SQLite
  • Cloudflare D1
  • Prisma
  • Drizzle ORM

04 Platforms & Infrastructure 08

  • Cloudflare Workers
  • Docker
  • Railway
  • systemd
  • Caddy
  • FiveM / txAdmin
  • Discord
  • Telegram

05 Practice 08

  • Vitest
  • ESLint
  • Prettier
  • Git
  • OAuth2
  • TOTP
  • HMAC
  • PWA

06 AI Tooling 03

  • Claude Code
  • Codex
  • Agent pipelines

06 Contact

Bring me a system that has to work.

Community infrastructure, a game-server platform, an internal tool, an app that has to survive contact with real users — if it has to run unattended and be maintained afterwards, it is the kind of work I take.

Send a message Or reach me on Telegram

Open to selected projects · Ibri, Oman · GMT+4

07 Newsletter

What I ship, when I ship it.

Occasional notes on the systems going out. Sent when there is something worth sending and not otherwise.