diff --git a/graph_data_generator_streamlit/ui/export_ui.py b/graph_data_generator_streamlit/ui/export_ui.py
index 614438b..e897bd4 100644
--- a/graph_data_generator_streamlit/ui/export_ui.py
+++ b/graph_data_generator_streamlit/ui/export_ui.py
@@ -3,7 +3,7 @@
 import streamlit as st
 from graph_data_generator import generators
 import graph_data_generator as gdg
-from neo4j_uploader import upload, start_logging, stop_logging
+from neo4j_uploader import upload, start_logging, stop_logging, UploadResult
 import json
 
 def export_ui():
@@ -20,7 +20,7 @@ def export_ui():
     data = gdg.generate_dictionaries(mapping)
 
     with st.expander('Generated Data'):
-        pretty = json.dumps(data, indent=4)
+        pretty = json.dumps(data, indent=4, default=str)
         st.code(pretty)
 
     # Display node and relationship counts
@@ -83,13 +83,16 @@ def on_download():
                 if uri is None or user is None or password is None:
                     st.error("Please specify the Neo4j instance credentials in the Configuration tab")
                     return 
-
-                # Enable uploader logging
-                start_logging()
-                
-                try:
-                    time, nodes, rels, props = upload(neo4j_creds=(uri, user, password), data=data, should_overwrite=should_overwrite)
-                except Exception as e:
-                    st.error(f"Upload failed. Please check your credentials and try again. Error encountered: {e}")
-                
-                st.info(f"Upload completed in {time} seconds, {nodes} nodes created, {rels} relationships created, {props} properties set.")
\ No newline at end of file
+                else:
+                    # Enable uploader logging
+                    start_logging()
+                    
+                    try:
+                        result = upload(neo4j_creds=(uri, user, password), data=data, should_overwrite=should_overwrite)
+                        if result.was_successful == False:
+                            st.error(f'Upload failed. Error encountered: {result.error_message}')
+                        else:
+                            st.info(f"Upload completed in {result.seconds_to_complete} seconds, {result.nodes_created} nodes created, {result.relationships_created} relationships created, {result.properties_set} properties set.")
+                    except Exception as e:
+                        st.error(f"Upload failed. Please check your credentials and try again. Error encountered: {e}")
+                    
diff --git a/graph_data_generator_streamlit/ui/generate_ui.py b/graph_data_generator_streamlit/ui/generate_ui.py
index bdbbb6f..b3385aa 100644
--- a/graph_data_generator_streamlit/ui/generate_ui.py
+++ b/graph_data_generator_streamlit/ui/generate_ui.py
@@ -7,11 +7,11 @@ def generate_ui():
 
     if st.session_state["ARROWS_DICT"] is not None:
         dict = st.session_state.get("ARROWS_DICT", {}).get('graph', None)
-        string = json.dumps(dict, indent=4)
+        string = json.dumps(dict, indent=4, default=str)
         st.session_state["JSON_CONFIG"] = string
     if st.button('Load Sample'):
         sample_raw = json.load(open("graph_data_generator_streamlit/samples/minimal.json"))
-        prior = json.dumps(sample_raw, indent=4)
+        prior = json.dumps(sample_raw, indent=4, default=str)
         st.session_state["JSON_CONFIG"] = prior
 
     txt = st.text_area("Enter .JSON config below", height=500, help="Click out of the text area to generate the .zip file.", value=st.session_state.JSON_CONFIG)
diff --git a/graph_data_generator_streamlit/ui/ideate_ui.py b/graph_data_generator_streamlit/ui/ideate_ui.py
index 21c4d17..5e39808 100644
--- a/graph_data_generator_streamlit/ui/ideate_ui.py
+++ b/graph_data_generator_streamlit/ui/ideate_ui.py
@@ -27,7 +27,7 @@ def arrows_uri(input: str | dict) -> str:
 
     # Convert dict to string if needed
     if isinstance(input, dict):
-        input = json.dumps(input)
+        input = json.dumps(input, default=str)
 
     # Convert the diction object into a base 64 json string
     b = input.encode('utf-8')
diff --git a/pyproject.toml b/pyproject.toml
index b575473..3ce5d1b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "mock-graph-data-generator-streamlit"
-version = "0.7.6"
+version = "0.7.7"
 description = ""
 authors = ["Jason Koo <jalakoo@gmail.com>"]
 readme = "README.md"