Open to internships

Bannawat Rattanarak

Game developer · full-stack engineer

CS student in Thailand. I build unsettling games, dependable backend systems, and freelance software for real people.

Internship / Co-op availability

Available 2 Nov 2026 – 19 Feb 2027 · Thailand / remote

RésuméCurriculum vitae →
  • About
  • Experience
  • Skills
  • Projects

Game development × product engineering

Interactive worlds. Reliable systems.

I design and build games. Right now that means Silent Ember — a two-person psychological horror game in Unity that took my region's place in the National Software Contest national final and pitched in the RMUTI CON startup track. The other half of my work is backend-heavy systems: REST APIs, a real-time bot that streams GitHub webhooks to Discord, and an npm package that self-heals failing API calls.

Currently running

Live status
  • Silent EmberPsychological horror in Unity — NSC national finalist, built by two.In development
  • WakefulUptime-monitoring SaaS — real users, real billing, real on-call.Production
  • RepoRadarGitHub webhooks to Discord, in real time.Live
  • ai-fetch-healernpm package that heals failing API calls and retries them.Published

About

Nakhon Ratchasima · UTC+7

Hey, I'm Bannawat — a 21-year-old CS student at Rajamangala University of Technology Isan. I work across game development and full-stack engineering. With one teammate I'm making Silent Ember, a psychological horror game in Unity: the core loop, mechanics, and systems underneath.

Silent Ember took our region's place in the National Software Contest (NSC) national final in the entertainment-software category and earned development funding, and we pitched it in the RMUTI CON startup track. It reads what the player chooses to look at and decides the ending from that — no meter on screen, only the lantern's flame.

I also build freelance and product systems back-to-front: a Go e-commerce API, a real-time DevOps bot that streams GitHub webhooks to Discord, and an npm package that auto-heals failing API calls with an LLM. TypeScript and Golang are my go-to tools; I reach for Python, C#, Unity, or Godot when the job calls for it.

Experience

2022–2026
  1. 2022 — 2026Game development

    Game Developer

    I design and build games in Unity and Godot — core loops, mechanics, and the systems that hold them together. Silent Ember, a two-person psychological horror game in Unity, is the current focus: it took our region's place in the NSC national final (entertainment software), earned development funding, and was pitched in the RMUTI CON startup track. I own the architecture and all the C#.

    • Unity
    • C#
    • Godot
  2. 2024 — 2026Backend & full-stack

    Full-Stack Developer

    I build systems back-to-front with a backend focus — REST APIs, real-time pipelines, auth, and DevOps automation. Golang when performance and reliability matter, TypeScript across the stack. My work includes a Go e-commerce API, a webhook-driven bot, and a published npm library.

    • TypeScript
    • Go
    • JavaScript
    • HTML & CSS
    • Python

Skills

21 tools
TypeScriptGolangJavaScriptPythonNode.jsPostgreSQLUnityGodotC#GitDockerFigma
TypeScriptGolangJavaScriptPythonNode.jsPostgreSQLUnityGodotC#GitDockerFigma
Game dev
UnityGodotC#Game systemsSave / LoadEvent-driven architecture
Backend
GolangNode.jsPostgreSQLREST APIsAuthenticationReal-time systems
Frontend
TypeScriptJavaScriptHTML & CSSResponsive UI
Tooling
GitDockerPythonFigmaDebugging

Projects

Game + 3 systems · 7 repos

Silent Ember

In development

Unity 6 · C# · two-person team · 2022–present

A two-person psychological horror game in Unity. Explore a burned house, uncover what happened to Jonas's family, and reach one of several endings. The game quietly measures which memories you choose to read — 15 optional pieces, none on the main path — and decides the ending from that. No meter on screen: the lantern's flame steadies as you understand more.

NSC 2026
Regional representative (Northeast Thailand) at the National Software Contest national final, entertainment-software category. Received development funding.
RMUTI CON
Pitched in the startup track — market sizing, pricing, and go-to-market for a commercial Steam release.
Signature system
Event-driven architecture; 6 core systems with no per-frame Update(). The ending is gated on exploration — measured at 7% rushed vs 87% thorough in playtests.
My role
Team lead — architecture, save/load, game systems, and all C#.
NSC 2026 national finalist certificateNSC 2026 development funding certificate

Playable build coming soon.

Wakeful

Production

wakeful.dev

An uptime-monitoring SaaS I built and run in production — HTTP/DNS/SSL checks, incident tracking, multi-channel alerts, and public status pages. Real users, real billing, real on-call.

Multi-protocol checks
HTTP, DNS, and SSL-expiry monitoring, plus heartbeat pings for scheduled jobs.
Multi-channel alerts
Email, LINE, Telegram, and outbound webhooks — an incident reaches you where you actually look.
Public status pages
Shareable status pages and embeddable uptime badges for every monitor.
Stripe billing
Free and paid tiers with different check intervals — real subscriptions, real webhooks.

Closed-source — built and operated as a real product, not a public repo.

RepoRadar

Live

Open source / Self-hostable / GitHub to Fastify to n8n to Discord

An open-source, self-hostable DevOps bot that turns GitHub activity into rich Discord alerts. It verifies every webhook, prevents duplicate deliveries, and routes events through an editable n8n workflow, so anyone can deploy and adapt it for their own repositories.

Deploy your own RepoRadarFork / configure secrets / connect GitHub / go liveSetup guide
Live activity feedconnecting…
Self-hostable
Clone the public repo, add your environment variables, and run your own instance.
Secure by default
Verifies GitHub webhook signatures and rejects duplicate deliveries before processing.
Discord-ready
Turns pushes, issues, and pull requests into readable, real-time Discord notifications.

ai-fetch-healer

Published

npm · v1.1.0 · Request → AI → Apply → Retry

A runtime auto-healing wrapper around fetch — catches 400/422 schema mismatches, asks an LLM (Gemini, OpenRouter, Groq, Ollama) for a healing rule, patches the payload, and retries.

npm install ai-fetch-healer
Healing runsimulated
1Request fails422{ "user_name": "Ada" }
Privacy by design
Masks email, password, token, and other PII before any payload reaches the LLM.
Heuristic cache
O(1) lookup, capacity 1000 — repeat error patterns skip the LLM call entirely.
Never throws
A failed heal falls back to the original response, so the caller never breaks.
Production-tested
Caught a deprecated default model (404) in prod and shipped the fix as v1.1.0 the same day — 44/44 tests green.

Repository index

  • Albion-Market-AIAI-powered market price analytics for Albion Online — track and predict in-game item prices.TypeScript
  • CopyUIComponent library playground — browse, preview, and copy ready-to-use UI snippets.TypeScript
  • Trading-Vibe-v1Dashboard for monitoring automated trading bot systems and signals.JavaScript
  • LaekHub-ServerBackend server for LaekHub — a real-time hub management platform.TypeScript
  • MedScan-AIAI-powered medical scan analysis tool using the Gemini API.TypeScript
  • project-shop-apiHigh-performance e-commerce API built with Go — products, orders, auth.Go
  • TinnerAppA swipe-based matching app inspired by modern dating UX.TypeScript
See everything on GitHub
Built with Next.js and Tailwind CSS.