diff --git a/TableParser.py b/TableParser.py
index d8d4802..537f393 100644
--- a/TableParser.py
+++ b/TableParser.py
@@ -44,8 +44,7 @@
 
                 classes = td_hora['class'];
                 if td_hora.has_attr('class') and not td_hora['class'][0] in self.EMPTY_CELL_CLASSES:
-                    assignaturaRaw = td_hora.get_text().strip()
-                    assignatura = assignaturaRaw.lower()
+                    assignatura = td_hora.get_text().strip()
                     aulaRaw = table.find_all("th")[column].get_text().strip()
                     aula = p.match(aulaRaw).group(1)
                     durada = int(td_hora.get("rowspan"))*30
@@ -58,7 +57,7 @@
                     endsDateTime = beginsDateTime + timedelta(minutes=durada)
                     ends = int(endsDateTime.timestamp())
 
-                    print(("Afegint " if db != None else "") + assignaturaRaw
+                    print(("Afegint " if db != None else "") + assignatura
                             + ", " + hora
                             + ", " + str(durada) + "mins"
                             + ", " + aula)
diff --git a/css/bulma-adjustments.css b/css/bulma-adjustments.css
index 8931934..a722717 100644
--- a/css/bulma-adjustments.css
+++ b/css/bulma-adjustments.css
@@ -1,3 +1,7 @@
+html {
+    min-width: auto;
+}
+
 .buttons.grid {
     display: flex;
     flex-direction: row;
@@ -24,26 +28,54 @@
 }
 
 #dev-mode {
-  background: #d23f31;
-  border: 1px solid #3e2723;
-  box-shadow: 0 0 4px rgba(0,0,0,.14), 0 2px 4px rgba(0,0,0,.28);
-  color: #fff;
-  font-size: 10px;
-  font-weight: 700;
-  right: 20px;
-  line-height: 18px;
-  margin: -9px -50px;
-  opacity: .87;
-  position: absolute;
-  text-align: center;
-  text-shadow: 1px 1px 0 #4e342e;
-  top: 20px;
-  transform: rotate(45deg);
-  width: 100px;
-  z-index: 99;
-  cursor: pointer;
+    background: #d23f31;
+    border: 1px solid #3e2723;
+    box-shadow: 0 0 4px rgba(0,0,0,.14), 0 2px 4px rgba(0,0,0,.28);
+    color: #fff;
+    font-size: 10px;
+    font-weight: 700;
+    right: 20px;
+    line-height: 18px;
+    margin: -9px -50px;
+    opacity: .87;
+    position: absolute;
+    text-align: center;
+    text-shadow: 1px 1px 0 #4e342e;
+    top: 20px;
+    transform: rotate(45deg);
+    width: 100px;
+    z-index: 99;
+    cursor: pointer;
 }
 
-#dev-mode.hidden {
-  display: none;
-}
\ No newline at end of file
+.hidden {
+    display: none;
+}
+
+#fme-maps-container h4 {
+  font-weight: bold;
+}
+
+.maps {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  justify-content: center;
+  align-items: center;
+}
+
+.maps .map {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  max-width: 500px;
+
+  margin: 8px;
+}
+
+.maps .map .map--label {
+  font-weight: 300;
+  margin-top: 2px;
+  margin-bottom: 2px;
+}
diff --git a/images/README.md b/images/README.md
new file mode 100644
index 0000000..61700dc
--- /dev/null
+++ b/images/README.md
@@ -0,0 +1 @@
+Icons made by <a href="http://www.freepik.com/" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
diff --git a/images/icon-128.png b/images/icon-128.png
new file mode 100644
index 0000000..0e49818
--- /dev/null
+++ b/images/icon-128.png
Binary files differ
diff --git a/images/icon-64.png b/images/icon-64.png
new file mode 100644
index 0000000..91b6296
--- /dev/null
+++ b/images/icon-64.png
Binary files differ
diff --git a/images/sofa.png b/images/sofa.png
new file mode 100644
index 0000000..91b6296
--- /dev/null
+++ b/images/sofa.png
Binary files differ
diff --git a/img/LICENSE.md b/img/LICENSE.md
new file mode 100644
index 0000000..fb788e8
--- /dev/null
+++ b/img/LICENSE.md
@@ -0,0 +1,3 @@
+Els continguts d'aquesta carpeta provenen de https://fme.upc.edu/ca/la-facultat/edifici/plafo-fme-a4.pdf/view.
+
+(C) Universitat Politècnica de Catalunya · BarcelonaTech (UPC)
diff --git a/img/p0.png b/img/p0.png
new file mode 100644
index 0000000..b04e781
--- /dev/null
+++ b/img/p0.png
Binary files differ
diff --git a/img/p1.png b/img/p1.png
new file mode 100644
index 0000000..16a123d
--- /dev/null
+++ b/img/p1.png
Binary files differ
diff --git a/img/ps.png b/img/ps.png
new file mode 100644
index 0000000..b3b9015
--- /dev/null
+++ b/img/ps.png
Binary files differ
diff --git a/index.html b/index.html
index fd34ad3..24803d8 100644
--- a/index.html
+++ b/index.html
@@ -2,8 +2,18 @@
 
 <html lang="ca">
     <head>
-        <meta charset="utf-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1">
+        <meta charset="UTF-8">
+		<title>Seients DAFME</title>
+
+		<meta name="viewport" content="width=device-width, initial-scale=1">
+		<link rel="manifest" href="manifest.json">
+
+		<!-- Apple web app -->
+		<link rel="apple-touch-icon" href="./images/icon-64.png">
+		<meta name="apple-mobile-web-app-title" content="Seients DAFME">
+		<meta name="apple-mobile-web-app-capable" content="yes">
+		<meta name="apple-mobile-web-app-status-bar-style" content="white">
+        
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
         <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.0/css/bulma.min.css">
         <link rel="stylesheet" href="./css/bulma-adjustments.css">
@@ -31,7 +41,7 @@
               var begins = new Date(parseInt(final_JSON.class.begins)*1000);
               var ends = new Date(parseInt(final_JSON.class.ends)*1000);
 
-              document.getElementById('subject-final').textContent = final_JSON.class.friendly_name;
+              document.getElementById('subject-final').textContent = final_JSON.class.friendly_name || final_JSON.class.calendar_name;
               document.getElementById('classroom-final').textContent = final_JSON.class.room;
               document.getElementById('date-final').textContent = begins.toLocaleDateString();
               document.getElementById('time-final').textContent = formatDate(begins) + ' - ' + formatDate(ends);
@@ -124,6 +134,12 @@
             })
                 .then(response => response.json())
                 .then(data => {
+                    if (data.payload.classes.length == 0) {
+                        document.getElementById('no-subjects').classList.remove('hidden');
+                    } else {
+                        document.getElementById('fme-maps-container').classList.remove('hidden');
+                    }
+
                     for (var [i, classe] of data.payload.classes.entries()) {
                         console.log(classe);
 
@@ -137,7 +153,7 @@
 
                         var header = document.createElement('div');
                         header.classList.add('message-header');
-                        header.textContent = classe.friendly_name;
+                        header.textContent = classe.friendly_name || classe.calendar_name;
 
                         var body = document.createElement('div');
                         body.classList.add('message-body');
@@ -214,7 +230,25 @@
                 </p>
             </div><br>
             -->
-            <div id="subject-container" class="grid buttons"></div><br>
+            <div id="subject-container" class="grid buttons"></div>
+            <div id="no-subjects" class="hidden">No s'està impartint cap classe en aquests moments.</div>
+            <div id="fme-maps-container" class="hidden">
+              <h4>Mapes de les aules de l'FME</h4>
+              <div class="maps">
+                <div class="map">
+                  <img src="img/ps.png">
+                  <div class="map--label">Planta <b>-1</b></div>
+                </div>
+                <div class="map">
+                  <img src="img/p0.png">
+                  <div class="map--label">Planta <b>0</b></div>
+                </div>
+                <div class="map">
+                  <img src="img/p1.png">
+                  <div class="map--label">Planta <b>1</b></div>
+                </div>
+              </div>
+            </div>
             
         </section>
 
@@ -270,7 +304,7 @@
             <button id="send-button" class="button is-link is-large">Omple el formulari</button><br><br>
             
             Hi ha errors? <br /><a class="button is-link is-light" href="https://docs.google.com/forms/d/e/1FAIpQLSfT9o287VqLyhwR8LPdloAQWhuqCgA3NfdhgP5vb9_sVQHL-g/viewform">Completa el formulari manualment</a>
-        </section>
+            </section>
         
         <script>
             var current_section = "section-1";
@@ -338,7 +372,7 @@
                   params.append("entry." + idsFormulari.begins, formatDate(begins));
                   params.append("entry." + idsFormulari.ends, formatDate(ends));
                   params.append("entry." + idsFormulari.rows[final_JSON.letter], 'Columna ' + final_JSON.number);
-                  // params.append("entry." + idsFormulari.notes, '[Autogenerat per delefme/covid-tracability -- Assignatura seleccionada: ' + final_JSON.class.friendly_name + ']');
+                  // params.append("entry." + idsFormulari.notes, '[Autogenerat per delefme/covid-tracability -- Assignatura seleccionada: ' + (final_JSON.class.friendly_name || final_JSON.class.calendar_name) + ']');
 
                   var formulari_link = formBaseUrl + '?' + params.toString() + '#i1';
                   window.location.href = formulari_link;
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..dab7bd1
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,21 @@
+{
+  "short_name": "Seients DAFME",
+  "name": "Seients DAFME",
+  "description": "App per la traçabilitat del COVID a la FME",
+  "icons": [
+    {
+      "src": "images/icon-128.png",
+      "type": "image/png",
+      "sizes": "128x128"
+    },
+    {
+      "src": "images/icon-64.png",
+      "type": "image/png",
+      "sizes": "128x128"
+    }
+  ],
+  "background_color": "#ffffff",
+  "theme_color": "#ffffff",
+  "display": "fullscreen",
+  "start_url": "index.html?utm_source=homescreen"
+}
