diff --git a/javascript/ultra32/README.md b/javascript/ultra32/README.md
index 1f62d23..f590071 100644
--- a/javascript/ultra32/README.md
+++ b/javascript/ultra32/README.md
@@ -1,2 +1,25 @@
-# ultra32
+# Ultra32
 A vector package using the fast float32array
+
+
+# Get started:
+
+To get started, install ultra32:
+```
+npm install ultra32 --save
+```
+
+A ultra32 vector is just a Float32Array.
+
+```
+const vec = new Float32Array([0,0]);
+```
+
+You can perform multiple operations:
+```
+add(vec,new Float32Array([1,2]));
+mul(vec,3);
+mirror(vec);
+
+console.log(vec); //Float32Array [ -3, -6 ]
+```
diff --git a/javascript/ultra32/app.js b/javascript/ultra32/app.js
new file mode 100644
index 0000000..d0e2546
--- /dev/null
+++ b/javascript/ultra32/app.js
@@ -0,0 +1,37 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+function add(vector, other) {
+    for (let i = 0; i < vector.length; i++) {
+        vector[i] = vector[i] + other[i];
+    }
+    return vector;
+}
+exports.add = add;
+function sub(vector, other) {
+    for (let i = 0; i < vector.length; i++) {
+        vector[i] = vector[i] - other[i];
+    }
+    return vector;
+}
+exports.sub = sub;
+function div(vector, scalar) {
+    for (let i = 0; i < vector.length; i++) {
+        vector[i] /= scalar;
+    }
+    return vector;
+}
+exports.div = div;
+function mul(vector, scalar) {
+    for (let i = 0; i < vector.length; i++) {
+        vector[i] *= scalar;
+    }
+    return vector;
+}
+exports.mul = mul;
+function mirror(vector) {
+    for (let i = 0; i < vector.length; i++) {
+        vector[i] = -vector[i];
+    }
+    return vector;
+}
+exports.mirror = mirror;
diff --git a/javascript/ultra32/package-lock.json b/javascript/ultra32/package-lock.json
new file mode 100644
index 0000000..36f26fd
--- /dev/null
+++ b/javascript/ultra32/package-lock.json
@@ -0,0 +1,5 @@
+{
+  "name": "ultra32",
+  "version": "1.0.0",
+  "lockfileVersion": 1
+}
diff --git a/javascript/ultra32/package.json b/javascript/ultra32/package.json
new file mode 100644
index 0000000..b9e1c7d
--- /dev/null
+++ b/javascript/ultra32/package.json
@@ -0,0 +1,22 @@
+{
+  "name": "ultra32",
+  "version": "1.0.0",
+  "description": "A vector package using the fast float32array",
+  "main": "app.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "repository": {
+    "type": "github",
+    "url": "https://github.com/Mateiadrielrafael/ultra32"
+  },
+  "keywords": [
+    "vector",
+    "float32array",
+    "webgl"
+  ],
+  "author": "Matei Adriel",
+  "license": "ISC",
+  "dependencies": {},
+  "devDependencies": {}
+}