Skip to content
View meencodes's full-sized avatar
🙊
หนวดดำ
🙊
หนวดดำ

Organizations

@alturi-co @alminu-com

Block or report meencodes

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
meencodes/README.md
header typing
profile views

🧑‍💻 About me

  • 🛒 Currently building a headless e-commerce platform (Next.js storefront · Payload CMS · NestJS API) and a multi-tenant inventory / ERP system for a retail brand in Thailand.
  • 🔁 Came up through Angular + Express + MySQL, moved to Next.js + NestJS + Prisma + Postgres, and shipped a few Ethereum / ERC-20 projects along the way.
  • 🧭 Things I keep coming back to: typed contracts end-to-end, queues over cron, one service = one compose file, and a real UAT before anything touches prod.
  • 🤖 I pair-program with AI every day (Claude Code, AGENTS.md conventions in every repo) and write my docs in Thai, my code in TypeScript.
  • 🇹🇭 Based in Bangkok.

🛠️ Tech stack

languages
frameworks
data
devops

Languages
Frontend
Backend
CMS & Data
DevOps & Cloud
Testing & Tooling
Integrations

🏗️ Things I've built

🛍️ Headless commerce platform

Next.js 16 storefront (App Router, React 19, Tailwind v4, shadcn/ui) · Payload CMS 3 on Postgres with S3 media · NestJS API with Prisma 7 + BullMQ workers on Redis.

Omise / PromptPay checkout, LINE LIFF login, subscription orders, Thai tax-invoice flow, rewards & coupons, cookie-consent records.

🏭 Multi-tenant inventory / ERP

NestJS + Prisma API: products & GTINs, purchase orders with carton labels, scan-to-receive with lot / expiry and FEFO picking, stock transfers, HMAC-signed store webhooks, Flash Express booking, passkey (WebAuthn) login.

Next.js admin with QR / barcode scanning · order sync from Shopee, Lazada and TikTok Shop.

📦 Order & CRM platform

Angular apps (v12 → v21, SSR) over Express services on MySQL + MongoDB, RabbitMQ workers, Socket.IO realtime, scheduled jobs, LINE and Facebook bots, PDF / Excel / shipping-label generation and a public parcel-tracking site.

🚀 Infra & delivery

Three-VM layout (app / db / UAT) on a private network, Nginx + certbot in front, one Docker Compose file per service, Dozzle for logs.

GitHub Actions: PR gate (lint · typecheck · build) → multi-stage Bun image → GHCR → SSH deploy with Prisma migrations.

⚙️ How I ship

flowchart LR
    PR["Pull request"] -->|"lint · typecheck · build"| CI{"CI passed?"}
    CI -->|"merge → dev"| DEV["Build image → GHCR :dev"]
    CI -->|"merge → main"| PROD["Build image → GHCR :latest"]
    DEV -->|"ssh · compose pull · migrate · up"| UAT[("UAT server")]
    PROD -->|"ssh · compose pull · migrate · up"| APP[("App server")]
    APP -. "private network" .-> DB[("DB server · Postgres + Redis")]
Loading

📊 GitHub stats

stats top languages streak

Most of my day-to-day work lives in private org repos, so the numbers above are only the tip of the iceberg.


footer

Popular repositories Loading

  1. bitcoinETH bitcoinETH Public

    JavaScript 1 1

  2. tokens tokens Public

    Forked from trustwallet/tokens

    Upload yours token, coin and dApp image to get displayed in the Trust Wallet

    JavaScript

  3. assets assets Public

    Forked from trustwallet/assets

    TypeScript

  4. token-distribution token-distribution Public

    Forked from hashbx/token-distribution

    HashBX - Ethereum ERC-20 Token and Smart Contracts.

    JavaScript

  5. portfolio portfolio Public

    My Portfolio

    TypeScript

  6. meencodes meencodes Public