For merchants

Iranify

Your store. Your daily work. One place.
Storefronts, products, orders and customers, with local payment and delivery workflows for Iranian businesses.

I build web platforms and Windows software, from the interface to the systems behind it.
See illustrative flowsMy flagship commerce platform, preparing for merchant launch.
For merchants


Storefronts, products, orders and customers, with local payment and delivery workflows for Iranian businesses.
A released tool for players, alongside local projects for venue and café teams.

For CS2 players
A guided Windows setup for supported settings, match apps and restore controls. Start with the settings you already use.

For venue teams
A local project bringing player accounts, balances, PC sessions and a Windows launcher together.

For café teams
A local project connecting menus, stock, preparation queues and customer bills.
Anonymous, optional app reports. Installations aren’t unique people or PCs.
Counts full Rift installer transfers from this server, including repeat downloads, not unique people. Partial transfers are excluded; a range covering the entire installer counts.
Three connected parts of the work. Explore the approach behind each project.
Storefronts and dashboards that feel clear from the first click, with room for both English and Persian.
React / TypeScriptSee it in IranifyThe connections behind the experience: APIs, data and local servers that bring the venue, staff and players together.
Node.js / PostgreSQLExplore the Rift platformWindows tools that make game settings and match preparation easier to follow, one step at a time.
C# / WPFMeet Rift CS2 BetaA sample order flow and a simplified system map illustrate local projects still in development.
Change quantities and follow a sample order. This browser-only illustration explains the idea behind the local Rift Café project.
Sample menu · Demo credits · Runs in this page.
Your draft is empty. Add something from the menu.
Total20 demo credits
Change the quantities, then move the sample order forward.
A sample draft is shown here. Enable JavaScript to try the controls.
Choose a component to explore its role, technology and design. This illustration describes the local Rift Game Platform project.
Interactive architecture
Choose a component to see how it works.
Node.js · TypeScript · PostgreSQL
The local venue server manages player accounts, sessions, pricing and credit. PostgreSQL stores the records behind the station and staff views.
Design choice: Balance changes use row locks and idempotency keys, with an append-only ledger to retain the transaction history.
Simplified Rift Game Platform system map. In development; real-venue trials remain ahead.
React · WPF · WebView2
The game library runs as a React interface inside a WPF host with WebView2. Players use it to sign in and choose a title.
Design choice: The launcher sends requests through a local channel to the agent, keeping the player interface separate from station operations.
C# · .NET · Named pipes
A C# Windows service connects the launcher to the venue server. Its named-pipe channel carries supported launcher requests and station state.
Design choice: The channel checks who owns the pipe and which process connects before accepting station requests.
Node.js · TypeScript · PostgreSQL
The local venue server manages player accounts, sessions, pricing and credit. PostgreSQL stores the records behind the station and staff views.
Design choice: Balance changes use row locks and idempotency keys, with an append-only ledger to retain the transaction history.
React · TypeScript · WebSocket
Staff use the React dashboard to view stations, sessions and player balances. WebSocket events tell the interface when the underlying state changes.
Design choice: Events publish inside the database transaction and arrive after commit, so a rolled-back change is not announced to the dashboard.
I've been obsessed with PCs since I was a kid. Gaming came next. Then I found myself changing lines in CS 1.6 text files, opening the game and thinking: wait, I can make this different.
That curiosity grew into programming. I built Iranify, Rift Game Platform, Rift Café and Rift CS2 myself, working across interfaces, server logic and Windows apps. I enjoy taking an idea through building, testing and refinement.
Good software should make your day easier, whether you're at the counter or getting ready to play.
Shared PCs, local servers, internet that drops. That's the world these tools need to work in.
Check what works, be honest about what's next, and keep supported changes reversible.
Read reviews or leave your own. Your name is optional.نظرها را بخوانید یا تجربهٔ خود را بنویسید. نوشتن نام اختیاری است.
Got an idea, a question, or just want to say hi? Send me an email or find me on Instagram.
I’ll be streaming on Kick soon. Drop by my stream page; maybe we’ll catch the next round together.