diff --git a/.gitignore b/.gitignore
index 42b1ee6..2e6c75b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -177,7 +177,7 @@ cache/
cookies_snapshot/satoshi2077@protonmail.com.json
Todo.md
tests/gui/svelte/node_modules
-tests/gui/vuejs/noogle/node_modules
-tests/gui/vuejs/noogle/.idea/
-tests/gui/vuejs/noogle/package-lock.json
+ui/noogle/node_modules
+ui/noogle/.idea/
+ui/noogle/package-lock.json
search.py
diff --git a/tests/gui/vuejs/noogle/README.md b/ui/noogle/README.md
similarity index 100%
rename from tests/gui/vuejs/noogle/README.md
rename to ui/noogle/README.md
diff --git a/tests/gui/vuejs/noogle/index.html b/ui/noogle/index.html
similarity index 100%
rename from tests/gui/vuejs/noogle/index.html
rename to ui/noogle/index.html
diff --git a/tests/gui/vuejs/noogle/jsconfig.json b/ui/noogle/jsconfig.json
similarity index 100%
rename from tests/gui/vuejs/noogle/jsconfig.json
rename to ui/noogle/jsconfig.json
diff --git a/tests/gui/vuejs/noogle/package.json b/ui/noogle/package.json
similarity index 100%
rename from tests/gui/vuejs/noogle/package.json
rename to ui/noogle/package.json
diff --git a/tests/gui/vuejs/noogle/postcss.config.js b/ui/noogle/postcss.config.js
similarity index 100%
rename from tests/gui/vuejs/noogle/postcss.config.js
rename to ui/noogle/postcss.config.js
diff --git a/tests/gui/vuejs/noogle/public/favicon.ico b/ui/noogle/public/favicon.ico
similarity index 100%
rename from tests/gui/vuejs/noogle/public/favicon.ico
rename to ui/noogle/public/favicon.ico
diff --git a/tests/gui/vuejs/noogle/src/App.vue b/ui/noogle/src/App.vue
similarity index 100%
rename from tests/gui/vuejs/noogle/src/App.vue
rename to ui/noogle/src/App.vue
diff --git a/tests/gui/vuejs/noogle/src/app.css b/ui/noogle/src/app.css
similarity index 100%
rename from tests/gui/vuejs/noogle/src/app.css
rename to ui/noogle/src/app.css
diff --git a/tests/gui/vuejs/noogle/src/assets/base.css b/ui/noogle/src/assets/base.css
similarity index 100%
rename from tests/gui/vuejs/noogle/src/assets/base.css
rename to ui/noogle/src/assets/base.css
diff --git a/tests/gui/vuejs/noogle/src/assets/delete.png b/ui/noogle/src/assets/delete.png
similarity index 100%
rename from tests/gui/vuejs/noogle/src/assets/delete.png
rename to ui/noogle/src/assets/delete.png
diff --git a/tests/gui/vuejs/noogle/src/assets/edit.png b/ui/noogle/src/assets/edit.png
similarity index 100%
rename from tests/gui/vuejs/noogle/src/assets/edit.png
rename to ui/noogle/src/assets/edit.png
diff --git a/tests/gui/vuejs/noogle/src/assets/load.gif b/ui/noogle/src/assets/load.gif
similarity index 100%
rename from tests/gui/vuejs/noogle/src/assets/load.gif
rename to ui/noogle/src/assets/load.gif
diff --git a/tests/gui/vuejs/noogle/src/assets/main.css b/ui/noogle/src/assets/main.css
similarity index 100%
rename from tests/gui/vuejs/noogle/src/assets/main.css
rename to ui/noogle/src/assets/main.css
diff --git a/tests/gui/vuejs/noogle/src/assets/nostr-purple.svg b/ui/noogle/src/assets/nostr-purple.svg
similarity index 100%
rename from tests/gui/vuejs/noogle/src/assets/nostr-purple.svg
rename to ui/noogle/src/assets/nostr-purple.svg
diff --git a/tests/gui/vuejs/noogle/src/assets/usercard.png b/ui/noogle/src/assets/usercard.png
similarity index 100%
rename from tests/gui/vuejs/noogle/src/assets/usercard.png
rename to ui/noogle/src/assets/usercard.png
diff --git a/tests/gui/vuejs/noogle/src/components/AboutPage.vue b/ui/noogle/src/components/AboutPage.vue
similarity index 100%
rename from tests/gui/vuejs/noogle/src/components/AboutPage.vue
rename to ui/noogle/src/components/AboutPage.vue
diff --git a/ui/noogle/src/components/AutoComplete.vue b/ui/noogle/src/components/AutoComplete.vue
new file mode 100644
index 0000000..451b87a
--- /dev/null
+++ b/ui/noogle/src/components/AutoComplete.vue
@@ -0,0 +1,91 @@
+
+