diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5fdb80f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+config.ini
+node_modules/
diff --git a/README b/README
new file mode 100644
index 0000000..cd8d70e
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+Monitor AAA PULL via redis pubsub
diff --git a/config.sample.ini b/config.sample.ini
new file mode 100644
index 0000000..6c10330
--- /dev/null
+++ b/config.sample.ini
@@ -0,0 +1,3 @@
+[globals]
+redis_host=localhost
+redis_port=6379
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..9fb7670
--- /dev/null
+++ b/index.js
@@ -0,0 +1,13 @@
+var iniparser = require('iniparser');
+var config = iniparser.parseSync('./config.ini');
+
+var redis = require('redis');
+
+redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host);
+
+redisClient.on("pmessage", function (pattern, channel, message) {
+    var gateway = channel.match(/gw:(.*)\.text/)[1];
+    console.log(message + ' (' + gateway + ')');
+});
+
+redisClient.psubscribe('kimochi.*.text');
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..2012f72
--- /dev/null
+++ b/package.json
@@ -0,0 +1,25 @@
+{
+  "name": "r97-topup-message-monitor",
+  "version": "0.0.1",
+  "description": "Monitor TOPUP MESSAGE via Redis PUBSUB",
+  "main": "index.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git@gitlab.kodesumber.com:reload97/r97-topup-message-monitor.git"
+  },
+  "keywords": [
+    "sate24",
+    "reload97",
+    "r97",
+    "st24"
+  ],
+  "author": "Adhidarma Hadiwinoto <adhisimon@gmail.com>",
+  "license": "BSD",
+  "dependencies": {
+    "redis": "~0.12.1",
+    "iniparser": "~1.0.5"
+  }
+}