diff --git a/experimental/custom-metrics-api/deploy.sh b/experimental/custom-metrics-api/deploy.sh
new file mode 100644
index 0000000000000000000000000000000000000000..a7324831e931de0d050bdeb5d93390538473cff8
--- /dev/null
+++ b/experimental/custom-metrics-api/deploy.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash	
+
+kubectl apply -n monitoring custom-metrics-apiserver-resource-reader-cluster-role-binding.yaml
+kubectl apply -n monitoring custom-metrics-apiservice.yaml
+kubectl apply -n monitoring custom-metrics-cluster-role.yaml
+kubectl apply -n monitoring custom-metrics-configmap.yaml
+kubectl apply -n monitoring hpa-custom-metrics-cluster-role-binding.yaml
diff --git a/experimental/custom-metrics-api/sample-app.yaml b/experimental/custom-metrics-api/sample-app.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..470887c65d8bec2d2fe5273105a857481507b222
--- /dev/null
+++ b/experimental/custom-metrics-api/sample-app.yaml
@@ -0,0 +1,67 @@
+kind: ServiceMonitor
+apiVersion: monitoring.coreos.com/v1
+metadata:
+  name: sample-app
+  labels:
+    app: sample-app
+spec:
+  selector:
+    matchLabels:
+      app: sample-app
+  endpoints: 
+  - port: http
+    interval: 5s
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: sample-app
+  labels:
+    app: sample-app
+spec:
+  ports:
+  - name: http
+    port: 8080
+    targetPort: 8080
+  selector:
+    app: sample-app
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: sample-app
+  labels:
+    app: sample-app
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: sample-app
+  template:
+    metadata:
+      labels:
+        app: sample-app
+    spec:
+      containers:
+      - image: luxas/autoscale-demo:v0.1.2
+        name: metrics-provider
+        ports:
+        - name: http
+          containerPort: 8080
+---
+kind: HorizontalPodAutoscaler
+apiVersion: autoscaling/v2beta1
+metadata:
+  name: sample-app
+spec:
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: sample-app
+  minReplicas: 1
+  maxReplicas: 10
+  metrics:
+  - type: Pods
+    pods:
+      metricName: http_requests
+      targetAverageValue: 500m
diff --git a/experimental/custom-metrics-api/teardown.sh b/experimental/custom-metrics-api/teardown.sh
new file mode 100644
index 0000000000000000000000000000000000000000..2287c799734ca83e9ba4b91924f7b649d26bb1f6
--- /dev/null
+++ b/experimental/custom-metrics-api/teardown.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash	
+
+kubectl delete -n monitoring custom-metrics-apiserver-resource-reader-cluster-role-binding.yaml
+kubectl delete -n monitoring custom-metrics-apiservice.yaml
+kubectl delete -n monitoring custom-metrics-cluster-role.yaml
+kubectl delete -n monitoring custom-metrics-configmap.yaml
+kubectl delete -n monitoring hpa-custom-metrics-cluster-role-binding.yaml