diff --git a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/mobile-menu.tsx b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/mobile-menu.tsx
index d430976252ffe924dc9bf8be8f42b03b439662bf..259145a02e2542f31cb2af2e8e41c52f55c88f02 100644
--- a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/mobile-menu.tsx
+++ b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/mobile-menu.tsx
@@ -24,7 +24,7 @@ interface MenuOption {
 
 export const MobileMenu = ({ onSelect, selectedMenu }: MobileMenuProps) => {
   const { name: providerName } = useAppState().cloud;
-  const { searchUsers, setCollectionSource, setOwner } = useActions().cloud;
+  const { searchUsers, setCollectionSource, setOwner , getRepo, navigateTo} = useActions().cloud;
 
   const { t } = useTranslation();
 
@@ -88,13 +88,22 @@ export const MobileMenu = ({ onSelect, selectedMenu }: MobileMenuProps) => {
   const toggleSearchBar = () => setShowSearch(!showSearch);
 
   const handleSearchSelect = async (publicRepository: PublicRepository) => {
-    await addPublicRepository(publicRepository);
+    // When the user selected a repo from the search results, this needs to be handled differently
+    if (publicRepository.type == "repository") {
+      const repo = await getRepo({repoName: publicRepository.name, repoId:publicRepository.id})
+      if (repo) {
+        navigateTo({repo: repo})
+      }
 
-    const { uuid, provider, ...rest } = publicRepository;
-    setOwner(rest as Owner);
+    } else {
+      await addPublicRepository(publicRepository);
 
-    setShowSearch(false);
-    onSelect(uuid);
+      const { uuid, provider, ...rest } = publicRepository;
+      setOwner(rest as Owner);
+
+      setShowSearch(false);
+      onSelect(uuid);
+    }
   };
 
   const handleCloseSearch = () => setShowSearch(false);
diff --git a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/index.tsx b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/index.tsx
index cd85baa2e60d0bbdf17f5723534478f6b8bc2bcf..2bbd9e56e79c6754b72d959d61fb21e45375f361 100644
--- a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/index.tsx
+++ b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/index.tsx
@@ -24,7 +24,7 @@ const searcbarCollapsible = false;
 
 export const PublicRepositories = ({ onSelect, selectedMenu }: PublicRepositoriesProps) => {
   const { name: providerName, owner } = useAppState().cloud;
-  const { searchUsers, setOwner } = useActions().cloud;
+  const { searchUsers, setOwner, navigateTo, getRepo } = useActions().cloud;
 
   const { t } = useTranslation();
 
@@ -64,12 +64,21 @@ export const PublicRepositories = ({ onSelect, selectedMenu }: PublicRepositorie
   const handleCloseSearch = () => setShowSearch(searcbarCollapsible ? false : true);
 
   const handleSearchSelect = async (publicRepository: PublicRepository) => {
-    await addPublicRepository(publicRepository);
+    // When the user selected a repo from the search results, this needs to be handled differently
+    if (publicRepository.type == "repository") {
+      const repo = await getRepo({repoName: publicRepository.name, repoId:publicRepository.id})
+      if (repo) {
+        navigateTo({repo: repo})
+      }
 
-    const { uuid, provider, ...user } = publicRepository;
-    setOwner(user as Owner);
+    } else {
+      await addPublicRepository(publicRepository);
 
-    onSelect(user.username);
+      const { uuid, provider, ...user } = publicRepository;
+      setOwner(user as Owner);
+
+      onSelect(user.username);
+    }
   };
 
   const handleSearchChange = async (query: string) => await searchUsers(query);
diff --git a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/components/item.tsx b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/components/item.tsx
index 022b9287135459b29324e3e5e65f1fe90f97a731..6a350da7dbbdebcf160c1806399fb67d7ad451dc 100644
--- a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/components/item.tsx
+++ b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/components/item.tsx
@@ -1,5 +1,6 @@
 import AccountCircleIcon from '@mui/icons-material/AccountCircle';
 import GroupWorkIcon from '@mui/icons-material/GroupWork';
+import CodeIcon from '@mui/icons-material/Code';
 import {
   Icon,
   ListItem,
@@ -32,7 +33,7 @@ export const Item = ({ onSelect, publicRepository }: ItemProps) => {
       >
         <ListItemIcon sx={{ minWidth: 30 }}>
           <Icon
-            component={type === 'organization' ? GroupWorkIcon : AccountCircleIcon}
+            component={type === 'organization' ? GroupWorkIcon : type === "repository" ? CodeIcon : AccountCircleIcon}
             fontSize="small"
           />
         </ListItemIcon>
diff --git a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/index.tsx b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/index.tsx
index e42ee8a9de3813d3f9d3c86c7f093b8db4ac12dd..91e8a64cdae55003e3a46d8290d6eb6929425aac 100644
--- a/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/index.tsx
+++ b/packages/cwrc-leafwriter-storage-service/src/cloud/sidebar/components/public-repository/search-bar/index.tsx
@@ -48,7 +48,7 @@ export const SearchBar = ({ collapsible = true, onClear, onChange, onSelect }: S
   const { getInputProps, getListboxProps, inputValue } = useAutocomplete({
     id: 'search-public-repository',
     options,
-    getOptionLabel: (option) => option.username,
+    getOptionLabel: (option) => option.username ? option.username : "",
     onInputChange: async (_event, newInputValue) => fetch(newInputValue),
   });
 
diff --git a/packages/cwrc-leafwriter-storage-service/src/overmind/cloud/actions.tsx b/packages/cwrc-leafwriter-storage-service/src/overmind/cloud/actions.tsx
index 0679700d724f630f2356fd82b994242589525844..5bb2cdb5a2e90fced2104696a1fafd9f8d8b30e8 100644
--- a/packages/cwrc-leafwriter-storage-service/src/overmind/cloud/actions.tsx
+++ b/packages/cwrc-leafwriter-storage-service/src/overmind/cloud/actions.tsx
@@ -608,6 +608,7 @@ export const createRepo = async (
   if (!repository) return null;
 
   state.cloud.repository = repository ? repository : undefined;
+  state.cloud.repositoryContent.path = [""] // After creating a new repo, it is safe to assume that we are at the root path of it
   state.cloud.repositories = undefined;
   await actions.cloud.fetchRepoContent();
 
diff --git a/packages/cwrc-leafwriter-storage-service/src/providers/Gitlab_selfhosted.ts b/packages/cwrc-leafwriter-storage-service/src/providers/Gitlab_selfhosted.ts
index eff984363adae211e0a5152c67ee86eb21ca1d61..03819092bb01cfe0ec1ab5e3d84490ea0aaf4fb6 100644
--- a/packages/cwrc-leafwriter-storage-service/src/providers/Gitlab_selfhosted.ts
+++ b/packages/cwrc-leafwriter-storage-service/src/providers/Gitlab_selfhosted.ts
@@ -404,6 +404,34 @@ export default class Gitlab implements Provider {
     const groupCollection = await this.searchGroups(query);
     if (groupCollection) collection = [...userCollection, ...groupCollection];
 
+    // Also search for projects / repositories, because why not?
+    const projectCollection = await this.searchRepositories(query);
+    if (projectCollection) collection = [...userCollection, ...groupCollection, ...projectCollection];
+
+    return collection;
+  }
+
+  async searchRepositories(query: string) {
+    const projectsResponse: AxiosResponse<any> | null = await this.axios.get('/search', {
+      params: { per_page: 5, scope: 'projects', search: query },
+    });
+    if (!projectsResponse) return [];
+
+    const projectsData = projectsResponse.data ?? [];
+
+    const projectsCollection: T.PublicRepository[] = projectsData.map(
+      ({ avatar_url, id, name }: any) => {
+        return {
+          avatar_url,
+          id,
+          name,
+          type:"repository"
+        };
+      },
+    );
+
+    let collection = projectsCollection ?? [];
+
     return collection;
   }
 
diff --git a/packages/cwrc-leafwriter-storage-service/src/types/index.ts b/packages/cwrc-leafwriter-storage-service/src/types/index.ts
index 9bae950c38e42eb8022050391aee623c41c803ba..ddc6f5fc726be39bbea95e478370ad962db11d08 100644
--- a/packages/cwrc-leafwriter-storage-service/src/types/index.ts
+++ b/packages/cwrc-leafwriter-storage-service/src/types/index.ts
@@ -116,7 +116,7 @@ export interface DropFile {
 export type CollectionSource = 'owner' | 'collaborator' | 'organization';
 export type CollectionType = 'repos' | 'content' | 'organizations';
 
-export type UserType = 'user' | 'organization';
+export type UserType = 'user' | 'organization' | 'repository';
 
 export interface NavigateToPathParams {
   org?: Organization;