diff --git a/keyboards/keebio/iris/keymaps/gary/README.md b/keyboards/keebio/iris/keymaps/gary/README.md
new file mode 100644
index 0000000000..fd50751d89
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/gary/README.md
@@ -0,0 +1,18 @@
+# Gary's Iris Layout
+
+My personal keymap for my Iris.
+
+Copyright 2019 Gary @garyjzhao
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
diff --git a/keyboards/keebio/iris/keymaps/gary/config.h b/keyboards/keebio/iris/keymaps/gary/config.h
new file mode 100644
index 0000000000..186aee502c
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/gary/config.h
@@ -0,0 +1,12 @@
+#pragma once
+
+/* Use I2C or Serial, not both */
+
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+
+#define MASTER_LEFT
+// #define MASTER_RIGHT
+// #define EE_HANDS
diff --git a/keyboards/keebio/iris/keymaps/gary/keymap.c b/keyboards/keebio/iris/keymaps/gary/keymap.c
new file mode 100644
index 0000000000..41ac9207b8
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/gary/keymap.c
@@ -0,0 +1,47 @@
+#include "gary.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_QWERTY] = LAYOUT_kc(
+ //,----+----+----+----+----+----. ,----+----+----+----+----+----.
+ ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ TAB , Q , W , E , R , T , Y , U , I , O , P ,DEL ,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ RASE, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
+ //|----+----+----+---- +----+----+----. ,----|----+----+----+----+----+----|
+ LSFT, Z , X , C , V , B ,NEXT, FULL , N , M ,COMM,DOT ,SLSH,SFTENT,
+ //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
+ LGUI,LOWR,SPC , GARY, ENT,LALT
+ // `----+----+----' `----+----+----'
+ ),
+
+
+ [_LOWER] = LAYOUT_kc(
+ //,----+----+----+----+----+----. ,----+----+----+----+----+----.
+ GRV ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSPC,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ CLTB, ,CNTR,UPLF,UPRG, , , ,PLUS,LBRC,RBRC,OPASS,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ ,LHLF,RHLF,DNLF,DNRG, , , ,MINS, , ,PIPE,
+ //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|`
+ , , ,CTLC, , , , , , , ,EQL , ,UNDS ,
+ //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
+ , ,DEL , BSPC , ,
+ // `----+----+----' `----+----+----'
+ ),
+
+ [_RAISE] = LAYOUT_kc(
+ //,----+----+----+----+----+----. ,----+----+----+----+----+----.
+ TILD, F1 , F2 , F3 ,SHOT, F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ ,MPRV,MPLY,MNXT, , , ,PGUP, UP ,PGDN, , ,
+ //|----+----+----+----+----+----| |----+----+----+----+----+----|
+ , ,VOLD,VOLU,MUTE, , ,LEFT,DOWN,RGHT, , ,
+ //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
+ , , , , , , , RST, , , , , , ,
+ //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
+ ,LALT, , , ,
+ // `----+----+----' `----+----+----'
+ ),
+};
diff --git a/keyboards/keebio/iris/keymaps/gary/rules.mk b/keyboards/keebio/iris/keymaps/gary/rules.mk
new file mode 100644
index 0000000000..2df7e9a203
--- /dev/null
+++ b/keyboards/keebio/iris/keymaps/gary/rules.mk
@@ -0,0 +1,2 @@
+RGBLIGHT_ENABLE = no
+EXTRAKEY_ENABLE = yes
diff --git a/users/gary/gary.c b/users/gary/gary.c
new file mode 100644
index 0000000000..aa49e7d659
--- /dev/null
+++ b/users/gary/gary.c
@@ -0,0 +1 @@
+#include "gary.h"
diff --git a/users/gary/gary.h b/users/gary/gary.h
new file mode 100644
index 0000000000..10f2331591
--- /dev/null
+++ b/users/gary/gary.h
@@ -0,0 +1,43 @@
+#include QMK_KEYBOARD_H
+
+#pragma once
+#define USE_SERIAL
+#define MASTER_LEFT
+
+// Layers
+// #define BASE 0 // Base layer
+// #define FCTN 4 // Function
+#define _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+};
+
+#define KC_RST RESET
+#define KC_ KC_TRNS
+
+#define KC_LOWR MO(_LOWER) // Lower layer
+#define KC_RASE MO(_RAISE) // Raise layer
+#define KC_CTLC C(KC_C)
+#define KC_CLTB C(KC_TAB)
+#define KC_OPASS G(KC_BSLS) // GUI + Back Slash
+#define KC_GARY LT(_RAISE, KC_SPC) // Hold for Raise, Tap for Space
+
+#define KC_SHOT SCMD(C(KC_4)) // Screenshot to Paste
+
+// Window Management
+#define KC_FULL A(G(KC_F)) // Full Screen
+#define KC_CNTR A(G(KC_C)) // Center
+#define KC_LHLF A(G(KC_LEFT)) // Left Half
+#define KC_RHLF A(G(KC_RGHT)) // Right Half
+
+#define KC_UPLF C(G(KC_LEFT)) // Upper Left
+#define KC_UPRG C(G(KC_RGHT)) // Upper Right
+#define KC_DNLF S(C(G(KC_LEFT))) // Lower Left
+#define KC_DNRG S(C(G(KC_RGHT))) // Lower Right
+
+#define KC_NEXT LCAG(KC_LEFT) // Move the Window to next display
diff --git a/users/gary/readme.md b/users/gary/readme.md
new file mode 100644
index 0000000000..a8c22e5ae7
--- /dev/null
+++ b/users/gary/readme.md
@@ -0,0 +1,14 @@
+Copyright 2019 Gary @garyjzhao
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
diff --git a/users/gary/rules.mk b/users/gary/rules.mk
new file mode 100644
index 0000000000..b6aa3490ba
--- /dev/null
+++ b/users/gary/rules.mk
@@ -0,0 +1 @@
+SRC += gary.c