MONA technology · updated 09/2026

The stack we actually run,
on our own products

This page doesn't list technologies to dress up a profile. Each item below is carrying a live MONA product: the MONA Pay payment gateway receiving real money from banks, the MONA Cloud platform, e-invoicing software, an AI assistant serving customers, and the SEO engine that has made mona.media the company's number one customer channel since 2019. The open source code is on GitHub for you to open and check yourself.

Logo Next.jsNext.js Logo ReactReact Logo AstroAstro Logo WordPressWordPress Logo PythonPython Logo Node.jsNode.js Logo PostgreSQLPostgreSQL Logo MongoDBMongoDB Logo DockerDocker Logo KubernetesKubernetes Logo Claude APIClaude API Logo MCPMCP
How MONA chooses technology

There is no best technology, only technology that fits the job

Clients who come to MONA often ask: "what do you code in?". The honest answer is that we code in whatever fits that job best. A landing page that needs to rank on Google calls for one approach. An order management screen clicked all day calls for another. And a ledger that receives customers' money needs something accurate to the last dong, even if it is slower to write.

The most expensive mistake we have seen in projects clients bring to us for rescue is not choosing an "old" technology. It is choosing technology that doesn't fit the job. Some people cram payments into a website plugin, others build a whole server cluster for a 5-section page. So every technology below comes with two lines: what it fits best, and what we advise against using it for.

Layer 1 · Front end

The part users see and click

We don't use one framework for everything. A page that needs to rank on Google quickly is built one way, an admin screen with lots of buttons another way. Choosing wrong at this layer means paying in page load speed or in repair costs later.

Logo Next.js + React

Next.js + React

MONA uses it inTrang monacloud.vn, the transaction management screen my.monapay.vn of MONA Pay, the MONA eInvoice client app and the set of 32 free SEO tools congcuseo.mona.media.

BEST FORWeb apps with login, data tables, charts and continuous interaction (dashboards, customer portals, management software).
WE ADVISE AGAINST IT WHENIt's a brochure site of a few pages that are mostly for reading. Using Next.js here costs maintenance effort and the client gets nothing extra.
Logo Astro

Astro

MONA uses it inDocumentation pages and API docs monapay.vn, monadomain.vn, monagent.vn and the monaeinvoice.vn landing page.

BEST FORContent sites, documentation pages and landing pages that need to load extremely fast and let both Google and AI read all the text straight from the HTML.
WE ADVISE AGAINST IT WHENApps with lots of real-time interaction. That job goes to Next.js/React.
Logo WordPress

WordPress

MONA uses it inmona.media itself, MONA's number one SEO channel since 2019. We also wrote our own set of 15 plugins MONA Plugins covering security, multilingual, store, VNPAY/MoMo/MONA Pay payments, KiotViet and Odoo connections, SEO/GEO, and MONA MCP for AI website administration.

BEST FORContent websites, SEO blogs and corporate sites where non-technical people need to edit text and add posts themselves.
WE ADVISE AGAINST IT WHENBusiness logic involving money and complex permissions, such as wallets, payments and accounting. Cramming those into a plugin is digging your own security hole.
Logo Flutter

Flutter

MONA uses it inThe MONA 2FA app (offline two-factor authentication codes), with the Android build done and preparing for store release.

BEST FORMobile apps that need to ship on both iOS and Android from one codebase, on a moderate budget.
WE ADVISE AGAINST IT WHENApps that need deep access to each manufacturer's specific hardware. In that case, writing native for each platform is less painful.
Layer 2 · Servers & data

The background part, where money and data pass through

This is the layer customers never see, but it decides whether the system lives or dies. MONA Pay receives real bank transfers from ACB bank, so at this layer we put absolute correctness first and speed second.

Logo Python + FastAPI

Python + FastAPI

MONA uses it inThe MONA Cloud core, the MONA Cloud wallet and payment system, MONA Pay's service for receiving incoming payment notifications from ACB bank, and the entire SEO engine of mona.media.

BEST FORAPIs that need to be written quickly, run reliably, and talk a lot to AI or process data. The strongest AI ecosystem today is in Python.
WE ADVISE AGAINST IT WHENExtremely heavy computation that needs to squeeze every millisecond of CPU. There we consider a compiled language.
Logo Node.js + TypeScript (Fastify, Express, Prisma)

Node.js + TypeScript (Fastify, Express, Prisma)

MONA uses it inThe MONA eInvoice API (Fastify + Prisma), the id.mona.media HR portal (Express), and the MCP servers monapay-mcp, monacloud-mcp published on npm.

BEST FORTeams already strong in JavaScript who want one language for both front end and server. Best for SDKs, CLIs and developer tools.
WE ADVISE AGAINST IT WHENData processing and machine learning. Leave that to Python.
Logo PostgreSQL

PostgreSQL

MONA uses it inThe MONA Pay transaction ledger, MONA Cloud wallets and invoices, and MONA eInvoice's e-invoice data.

BEST FORAnything involving money, invoices or debt. The data has to match to the last dong, not be off by half a record.
WE ADVISE AGAINST IT WHENData where every record has a different shape and the structure changes constantly. Let MongoDB carry that.
Logo MongoDB

MongoDB

MONA uses it inThe MONA Cloud resource management core, the MONA Host shared API, and the internal HR system.

BEST FORFlexible data whose structure changes by product and needs to scale fast.
WE ADVISE AGAINST IT WHENAccounting books and payments. We don't keep money here.
Logo Redis + Kafka / RabbitMQ

Redis + Kafka / RabbitMQ

MONA uses it inMONA Pay's queue: incoming money from banks is queued for processing, so even if the server stalls for a few seconds no transaction is dropped, and webhooks are re-sent until the client's software receives them.

BEST FORSystems that must not lose events: payments, orders, bulk notifications.
WE ADVISE AGAINST IT WHENA small website with a few hundred visits a day. Adding a queue there only adds more places to break.
Logo Docker, Proxmox, Kubernetes, Cloudflare

Docker, Proxmox, Kubernetes, Cloudflare

MONA uses it inMONA Cloud and MONA Host infrastructure: virtual machines on a Proxmox cluster, services packaged with Docker, the MONA Host API on Kubernetes, DNS and attack protection through Cloudflare.

BEST FORRunning many services for many clients, needing to rebuild identically on another machine in minutes and scale as load grows.
WE ADVISE AGAINST IT WHENA single website. Kubernetes for 1 site is like renting a container truck to carry one box.
Layer 3 · AI & automation

The part that does people's work

Our measure is how many times a person has to touch a process by hand. AI at MONA doesn't live in slides; it serves customers, writes articles and controls infrastructure every day.

Logo Claude API (Anthropic)

Claude API (Anthropic)

MONA uses it inGấu Cười, MONA's AI assistant that handles customer consultations, calls the Claude API directly, with prompt caching to cut the cost of each chat.

BEST FORAssistants that answer customers, read and understand long documents, and write and fix code. MONA is a member of Anthropic's Claude Partner Network.
WE ADVISE AGAINST IT WHENJobs that only need to look up a number in a table. Calling a large model for that burns money; one database query does it.
Logo MCP (Model Context Protocol)

MCP (Model Context Protocol)

MONA uses it inmonapay-mcp and monacloud-mcp let Claude Code, Cursor and Codex create QR codes, look up transactions, deploy apps and create databases right while the developer is coding.

BEST FORWhen you want AI agents to use your product the way an employee uses software, without a person in the middle copying and pasting.
WE ADVISE AGAINST IT WHENProcesses that aren't clear yet and that nobody has written down as steps. Putting AI into a messy process only produces messy results faster.
Logo Multiple models at once (Claude, Gemini, GPT)

Multiple models at once (Claude, Gemini, GPT)

MONA uses it inThe mona.media SEO content engine: each model handles the stage it is strongest at, then articles pass through automated checks before going live.

BEST FORMulti-step pipelines where each step uses the cheapest model that still meets the quality bar.
WE ADVISE AGAINST IT WHENWhen there are no output checks yet. Without checks, multiple models only multiply the errors.
AI Friendly Vibe Coder Tools · MONA Cloud suite

Infrastructure built for AI agents to use themselves, with people only approving

The stack above is what we use to build products. This is the product we built from that same stack, for Vietnamese developers and "vibe coders". It works very differently from foreign platforms. You sign up once with a MONA Pass account, top up one VND wallet, then hand it to Claude Code, Cursor or Codex. The AI rents servers, creates databases, buys domains, connects a payment gateway and sends email through MCP by itself. You only scan a QR code when the wallet needs topping up.

Logo MONA Cloud
MONA Cloudmonacloud.vn

Servers to put apps and websites live, replacing Vercel. Developers or AI agents deploy from git or a local folder and pay from a VND wallet.

GitHub: monacloud-mcp →
Logo MONA Base
MONA Basemonabase.vn

Postgres database, user login and file storage, compatible with Supabase. Apps written for Supabase move over without being rewritten.

GitHub: monacloud-mcp →
Logo MONA Pay
MONA Paymonapay.vn

Receive bank transfers via VietQR, with webhook notifications to your software the moment a customer pays. Free, with SDKs for 10 programming languages.

GitHub: monapay-mcp →
Logo MONA Mail
MONA Mailmonamail.vn

Send OTP, order and invoice emails from your software. AI agents create their own inboxes to receive verification codes, paid in VND.

GitHub: monamail →
Logo MONA Domain
MONA Domainmonadomain.vn

AI looks up names, buys .vn and international domains, points DNS and issues SSL while building the app, without opening any admin panel.

GitHub: monadomain-mcp →
Logo MONA Agent
MONA Agentmonagent.vn

A library of AI assistant templates for businesses (sales, customer care, internal), running on the business's own server or on MONA Cloud.

GitHub: mona-agent-templates →
Logo MONA eInvoice
MONA eInvoicemonaeinvoice.vn

Issue e-invoices that meet Vietnamese tax standards, callable from sales software through an API.

The whole suite shares one MONA Pass account and one VND wallet. See all the tools at MONA's vibe coding toolkit.

SEO & GEO toolkit · open source

The mona.media SEO engine, opened up for you to use

Mona.media has lived on SEO since 2019, so we wrote our own tools to check every article before publishing, then measure whether ChatGPT, Gemini and Claude mention MONA when customers ask. Those tools are written in Python and run every day on our internal pipeline. We split out the reusable parts into public repos under the MIT licence: you install them, run them on your own website, no MONA account needed.

If you want MONA to do SEO or build a website for your business with this same pipeline, see SEO services, website design or MONA GEO OS. For quick advice, call the hotline 1900 636 648.

Manifesto

A manifesto for growing together

Why does MONA open everything up for free?

MONA is a software, digital transformation and AI transformation company, but above all, MONA is a B2B service company that benefits directly from this: the more successful Vietnamese businesses are, the more MONA benefits. A market that declines, moves slowly and has weak technology is exactly what kills MONA's future business opportunities.

So, more than anyone, MONA wants, and MONA genuinely steps in, to help you succeed.

And AI transformation is the key to that success for all of us.

— Khánh Hùng, Founder of MONA

0:00