diff --git a/package.json b/package.json
index fc9c43d385ecdd2e98b36581667eba06b769237c..5d7651fd70737f01ddbab3750cabbb7b4189df39 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,7 @@
     "babel-plugin-transform-object-rest-spread": "^6.22.0",
     "babel-preset-es2015": "^6.22.0",
     "babel-preset-react": "^6.22.0",
+    "buffer-loader": "0.0.1",
     "chromedriver": "2.33.1",
     "classnames": "2.2.5",
     "copy-webpack-plugin": "^4.0.1",
@@ -67,6 +68,7 @@
     "postcss-simple-vars": "^4.0.0",
     "prop-types": "^15.5.10",
     "raf": "^3.4.0",
+    "raw-loader": "0.5.1",
     "react": "16.0.0",
     "react-contextmenu": "2.8.0",
     "react-dom": "16.0.0",
@@ -84,9 +86,9 @@
     "redux-throttle": "0.1.1",
     "rimraf": "^2.6.1",
     "scratch-audio": "latest",
-    "scratch-paint": "latest",
     "scratch-blocks": "latest",
     "scratch-l10n": "^2.0.0",
+    "scratch-paint": "latest",
     "scratch-render": "latest",
     "scratch-storage": "^0.3.0",
     "scratch-vm": "latest",
diff --git a/src/lib/default-project/09dc888b0b7df19f70d81588ae73420e.svg b/src/lib/default-project/09dc888b0b7df19f70d81588ae73420e.svg
new file mode 100755
index 0000000000000000000000000000000000000000..d449b3d15b955647f2198116743d0f4df619b24b
Binary files /dev/null and b/src/lib/default-project/09dc888b0b7df19f70d81588ae73420e.svg differ
diff --git a/src/lib/default-project/3696356a03a8d938318876a593572843.svg b/src/lib/default-project/3696356a03a8d938318876a593572843.svg
new file mode 100755
index 0000000000000000000000000000000000000000..0ecb2de81d9e76af3920bab9afd30cec1fa9f8d6
Binary files /dev/null and b/src/lib/default-project/3696356a03a8d938318876a593572843.svg differ
diff --git a/src/lib/default-project/5c81a336fab8be57adc039a8a2b33ca9.png b/src/lib/default-project/5c81a336fab8be57adc039a8a2b33ca9.png
new file mode 100755
index 0000000000000000000000000000000000000000..da373d2cf3ab7c4c617d307eec5a044ae43917ee
Binary files /dev/null and b/src/lib/default-project/5c81a336fab8be57adc039a8a2b33ca9.png differ
diff --git a/src/lib/default-project/739b5e2a2435f6e1ec2993791b423146.png b/src/lib/default-project/739b5e2a2435f6e1ec2993791b423146.png
new file mode 100755
index 0000000000000000000000000000000000000000..b395ac94c246fd4de8368a156f92010baa2abe21
Binary files /dev/null and b/src/lib/default-project/739b5e2a2435f6e1ec2993791b423146.png differ
diff --git a/src/lib/default-project/83a9787d4cb6f3b7632b4ddfebf74367.wav b/src/lib/default-project/83a9787d4cb6f3b7632b4ddfebf74367.wav
new file mode 100755
index 0000000000000000000000000000000000000000..fc3b2724a9c7cfef378eeb65499d44236ad2add8
Binary files /dev/null and b/src/lib/default-project/83a9787d4cb6f3b7632b4ddfebf74367.wav differ
diff --git a/src/lib/default-project/83c36d806dc92327b9e7049a565c6bff.wav b/src/lib/default-project/83c36d806dc92327b9e7049a565c6bff.wav
new file mode 100755
index 0000000000000000000000000000000000000000..45742d5ef6f09d05b0f0788cb055ffe54abfd9ad
Binary files /dev/null and b/src/lib/default-project/83c36d806dc92327b9e7049a565c6bff.wav differ
diff --git a/src/lib/default-project/index.js b/src/lib/default-project/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..f797b4e711faa36ec70d6cc0f40562106b06b994
--- /dev/null
+++ b/src/lib/default-project/index.js
@@ -0,0 +1,45 @@
+import projectJson from './project.json';
+import popWav from '!buffer-loader!./83a9787d4cb6f3b7632b4ddfebf74367.wav';
+import meowWav from '!buffer-loader!./83c36d806dc92327b9e7049a565c6bff.wav';
+import backdrop from '!buffer-loader!./739b5e2a2435f6e1ec2993791b423146.png';
+import penLayer from '!buffer-loader!./5c81a336fab8be57adc039a8a2b33ca9.png';
+import costume1 from '!raw-loader!./09dc888b0b7df19f70d81588ae73420e.svg';
+import costume2 from '!raw-loader!./3696356a03a8d938318876a593572843.svg';
+
+const encoder = new TextEncoder();
+export default [{
+    id: 0,
+    assetType: 'Project',
+    dataFormat: 'JSON',
+    data: projectJson
+}, {
+    id: '83a9787d4cb6f3b7632b4ddfebf74367',
+    assetType: 'Sound',
+    dataFormat: 'WAV',
+    data: popWav
+}, {
+    id: '83c36d806dc92327b9e7049a565c6bff',
+    assetType: 'Sound',
+    dataFormat: 'WAV',
+    data: meowWav
+}, {
+    id: '739b5e2a2435f6e1ec2993791b423146',
+    assetType: 'ImageBitmap',
+    dataFormat: 'PNG',
+    data: backdrop
+}, {
+    id: '5c81a336fab8be57adc039a8a2b33ca9',
+    assetType: 'ImageBitmap',
+    dataFormat: 'PNG',
+    data: penLayer
+}, {
+    id: '09dc888b0b7df19f70d81588ae73420e',
+    assetType: 'ImageVector',
+    dataFormat: 'SVG',
+    data: encoder.encode(costume1)
+}, {
+    id: '3696356a03a8d938318876a593572843',
+    assetType: 'ImageVector',
+    dataFormat: 'SVG',
+    data: encoder.encode(costume2)
+}];
diff --git a/src/lib/empty-project.json b/src/lib/default-project/project.json
similarity index 100%
rename from src/lib/empty-project.json
rename to src/lib/default-project/project.json
diff --git a/src/lib/storage.js b/src/lib/storage.js
index d1c8f886dfb9f77125ba639f0608131d31bfb499..6d858e6c20e57f919cbaa6dfc3eb2080b9f915ce 100644
--- a/src/lib/storage.js
+++ b/src/lib/storage.js
@@ -1,5 +1,7 @@
 import ScratchStorage from 'scratch-storage';
 
+import defaultProjectAssets from './default-project';
+
 const PROJECT_SERVER = 'https://cdn.projects.scratch.mit.edu';
 const ASSET_SERVER = 'https://cdn.assets.scratch.mit.edu';
 
@@ -23,6 +25,12 @@ class Storage extends ScratchStorage {
             [this.AssetType.ImageVector, this.AssetType.ImageBitmap, this.AssetType.Sound],
             asset => `${ASSET_SERVER}/internalapi/asset/${asset.assetId}.${asset.dataFormat}/get/`
         );
+        defaultProjectAssets.forEach(asset => this.cache(
+            this.AssetType[asset.assetType],
+            this.DataFormat[asset.dataFormat],
+            asset.data,
+            asset.id
+        ));
     }
 }
 
diff --git a/webpack.config.js b/webpack.config.js
index 1a874c70457a420392829ebf899da9b21a42e5d1..90b82103907d9ab35179af04129f843e9c7e3e3f 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -65,6 +65,10 @@ module.exports = {
                 }
             }]
         },
+        {
+            test: /\.(png|wav)$/,
+            loader: 'raw-loader'
+        },
         {
             test: /\.svg$/,
             loader: 'file-loader'