diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..e29ccdf
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,12 @@
+language: python
+matrix:
+  include:
+    - python: 3.6
+    - python: 3.7
+      dist: xenial
+      sudo: true
+install:
+- pip install -r requirements/test.txt
+- pip install -e .
+script:
+- pytest
diff --git a/app.py b/app.py
index 4b059ec..e9302f5 100644
--- a/app.py
+++ b/app.py
@@ -1,11 +1,21 @@
-from flask import Flask
+from flask import Flask, render_template
 
 app = Flask(__name__)
 
 
 @app.route('/')
-def hello_world():
-    return 'Hello World!'
+def homepage():
+    return render_template("homepage.html")
+
+
+@app.route('/create')
+def create():
+    return render_template("create.html")
+
+
+@app.route('/index')
+def index():
+    return render_template("index.html")
 
 
 if __name__ == '__main__':
diff --git a/templates/base.html b/templates/base.html
new file mode 100644
index 0000000..75002ff
--- /dev/null
+++ b/templates/base.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="UTF-8">
+        <title>Setting your texts alight - Quotepad</title>
+    </head>
+
+    <body>
+    {% block content %}{% endblock %}
+    </body>
+</html>
\ No newline at end of file
diff --git a/templates/create.html b/templates/create.html
new file mode 100644
index 0000000..3df7d9b
--- /dev/null
+++ b/templates/create.html
@@ -0,0 +1,5 @@
+{% extends "base.html" %}
+
+{% block content %}
+<p>Create a new template placeholder</p>
+{% endblock %}
\ No newline at end of file
diff --git a/templates/homepage.html b/templates/homepage.html
new file mode 100644
index 0000000..ab84e68
--- /dev/null
+++ b/templates/homepage.html
@@ -0,0 +1,10 @@
+{% extends "base.html" %}
+
+{% block content %}
+<p>Create, update and send your texts to your display</p>
+<ul>
+    <li><a id="new_text" href="{{ url_for("create") }}">New text</a></li>
+    <li><a id="overview" href="{{ url_for("index") }}">Existing texts</a></li>
+</ul>
+<p>Click on the links above to create a new text or see a list of existing texts.</p>
+{% endblock %}
\ No newline at end of file
diff --git a/templates/index.html b/templates/index.html
new file mode 100644
index 0000000..cddbe83
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,5 @@
+{% extends "base.html" %}
+
+{% block content %}
+<p>All texts placeholder</p>
+{% endblock %}
\ No newline at end of file

Homepage
Create a basic homepage with:
- button to create new text
- some simple explanation text
- link to another page to view the texts
diff --git a/requirements/test.txt b/requirements/test.txt
index 8c3c0cc..b8ca54f 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -1,6 +1,5 @@
 -r common.txt
 pytest
-behave
 bump
 twine
 setuptools
diff --git a/tests/test_flask.py b/tests/test_flask.py
index bc3a15e..9ade764 100644
--- a/tests/test_flask.py
+++ b/tests/test_flask.py
@@ -10,4 +10,4 @@ def client():
 
 def test_simple(client):
     t = client.get('/')
-    assert b'Hello' in t.data
+    assert b'Setting your texts alight - Quotepad' in t.data

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest behave bump twine setuptools wheel
apt-get update apt-get install -y gcc
3.9
requirements/prod.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
backports.tarfile==1.2.0
behave==1.2.6
blinker==1.9.0
bump==1.3.2
certifi==2025.1.31
cffi==1.17.1
charset-normalizer==3.4.1
click==8.1.8
cryptography==44.0.2
docutils==0.21.2
exceptiongroup==1.2.2
first==2.0.2
Flask==3.1.0
id==1.5.0
idna==3.10
importlib_metadata==8.6.1
iniconfig==2.1.0
itsdangerous==2.2.0
jaraco.classes==3.4.0
jaraco.context==6.0.1
jaraco.functools==4.1.0
jeepney==0.9.0
Jinja2==3.1.6
keyring==25.6.0
markdown-it-py==3.0.0
MarkupSafe==3.0.2
mdurl==0.1.2
more-itertools==10.6.0
nh3==0.2.21
packaging==24.2
parse==1.20.2
parse_type==0.6.4
pluggy==1.5.0
pycparser==2.22
Pygments==2.19.1
pytest==8.3.5
-e git+https://github.com/marcoplaisier/QuotePad.git@a3246986ea24b2c4db79b74d6330e7bd636a8988#egg=quotepad
readme_renderer==44.0
requests==2.32.3
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==14.0.0
SecretStorage==3.3.3
six==1.17.0
toml==0.10.2
tomli==2.2.1
twine==6.1.0
typing_extensions==4.13.0
urllib3==2.3.0
Werkzeug==3.1.3
zipp==3.21.0

name: QuotePad
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - backports-tarfile==1.2.0
      - behave==1.2.6
      - blinker==1.9.0
      - bump==1.3.2
      - certifi==2025.1.31
      - cffi==1.17.1
      - charset-normalizer==3.4.1
      - click==8.1.8
      - cryptography==44.0.2
      - docutils==0.21.2
      - exceptiongroup==1.2.2
      - first==2.0.2
      - flask==3.1.0
      - id==1.5.0
      - idna==3.10
      - importlib-metadata==8.6.1
      - iniconfig==2.1.0
      - itsdangerous==2.2.0
      - jaraco-classes==3.4.0
      - jaraco-context==6.0.1
      - jaraco-functools==4.1.0
      - jeepney==0.9.0
      - jinja2==3.1.6
      - keyring==25.6.0
      - markdown-it-py==3.0.0
      - markupsafe==3.0.2
      - mdurl==0.1.2
      - more-itertools==10.6.0
      - nh3==0.2.21
      - packaging==24.2
      - parse==1.20.2
      - parse-type==0.6.4
      - pluggy==1.5.0
      - pycparser==2.22
      - pygments==2.19.1
      - pytest==8.3.5
      - readme-renderer==44.0
      - requests==2.32.3
      - requests-toolbelt==1.0.0
      - rfc3986==2.0.0
      - rich==14.0.0
      - secretstorage==3.3.3
      - six==1.17.0
      - toml==0.10.2
      - tomli==2.2.1
      - twine==6.1.0
      - typing-extensions==4.13.0
      - urllib3==2.3.0
      - werkzeug==3.1.3
      - zipp==3.21.0
prefix: /opt/conda/envs/QuotePad

tests/test_flask.py::test_simple
templates/index.html templates/homepage.html .travis.yml templates/create.html templates/base.html app.py
templates/index.html templates/homepage.html .travis.yml templates/create.html templates/base.html app.py