Thirteen flows covering all core interaction paths — guest discovery, professional management, and admin moderation.
User Flows
U1 — Discover & Search
Phase 1/ + /search
User lands on the homepage, enters a keyword or selects a category, and browses filtered search results — with dead-end states handled.
View diagram
100%
flowchart TD
A([User lands on site]) --> B[Home page\nSearch bar + category grid\nLanguage selector EL / DE]
B --> C{Entry point}
C -->|Type keyword in hero bar| D[Search Results /search]
C -->|Click a category tile| D
D --> E[Result cards\nname · profession · location · rating · description]
E --> F{Apply filters?}
F -->|Category| G[Results update in real time]
F -->|Language spoken| G
F -->|Postal / area| G
F -->|Distance radius| G
F -->|Min star rating| G
G --> F
F -->|No filter active| H{Any results?}
G --> H
H -->|Yes| I([Browse cards → Flow U2])
H -->|No results| J[No professionals found state]
J --> K[Reset filters CTA]
K --> D
U2 — View Professional Profile
Phase 1/profile?id=X
User clicks a result card and lands on the professional's profile page, where they can contact, share, or save to localStorage favorites — all without an account.
View diagram
100%
flowchart TD
A([Click result card — from U1]) --> B[Professional Profile /profile?id=X]
B --> C[Name · Profession · Photo\nShort description\nLocation + Google Map\nPhone + email\nRating summary + review list]
C --> D{Action}
D -->|Contact professional| E([Opens contact form → Flow U3])
D -->|Share profile| F[Copy profile link to clipboard]
D -->|Save to Favorites| G[★ Saved to Favorites\nlocalStorage]
F --> C
G --> C
U3 — Contact a Professional
Phase 1/profile?id=X → contact form
Guest opens the contact form on a professional's profile, fills in their details and preferred channel, submits the request, and receives a confirmation.
View diagram
100%
flowchart TD
A([User clicks Contact Me — from U2]) --> B[Contact form opens\nbottom sheet on mobile\nright sidebar on desktop]
B --> C[User enters name\nselects contact channel\nenters phone or email\noptional message]
C --> D[Submits request]
D --> E[Confirmation screen\nRequest sent state]
E --> F{What next?}
F -->|Browse more| G([Back to Search → Flow U1])
F -->|Back to profile| H([Back to Profile → Flow U2])
U4 — Leave a Review
Phase 2/review/:token
Professional sends a unique review link to a user; user opens it, rates and optionally writes a review, which is hidden from public until the professional approves it.
View diagram
100%
flowchart TD
A([Professional sends review link → Flow P4]) --> B[User opens /review/:token]
B --> C{Link valid?}
C -->|Invalid or expired| D[Error — link not valid]
C -->|First review| F[Review form — empty]
C -->|Already reviewed| E[Review form — pre-filled\nwith previous submission]
E --> G
F --> G[Select star rating 1–5]
G --> H[Write text review — optional, max chars TBD]
H --> I[Submit]
I --> J{New or edit?}
J -->|New| K[Review recorded\nHidden from public by default]
J -->|Edit| L[Existing review updated]
K --> M([Professional notified → Flow P5])
L --> M
U5 — Manage Favorites
Phase 1Profile cards + account menu
User saves professionals to localStorage by clicking the star icon — no account or login needed. Saved profiles persist on the same device (or PWA install) and are accessible from the favorites list.
View diagram
100%
flowchart TD
A([User on any page]) --> B{Where are they?}
B -->|On result card or profile page| C[Clicks ★ icon]
B -->|Opens favorites list| D[Favorites list\nprofiles saved on this device]
C --> E[Profile saved to localStorage]
E --> D
D --> F{Action on a saved profile}
F -->|Click ★ again| G[Profile removed from localStorage]
F -->|Click profile card| H([Opens Profile → Flow U2])
G --> D
U6 — Download PWA
Phase 1Any page
User is prompted to install findemich as a Progressive Web App and follows platform-specific steps to add it to their home screen.
View diagram
100%
flowchart TD
A([User browses findemich]) --> B[Browser shows install prompt\nor user taps Install banner]
B --> C{Platform}
C -->|iOS Safari| D[Tap Share → Add to Home Screen\nStep-by-step instructions shown]
C -->|Android Chrome| E[Install dialog shown — Tap Install]
C -->|Desktop Chrome / Edge| F[Click install icon in address bar]
D & E & F --> G{User confirms}
G -->|Installs| H[App added to home screen / dock]
G -->|Dismisses| I[Prompt hidden — can re-trigger from menu]
H --> J([Launches as standalone PWA — no browser chrome])
Professional Flows
P1 — Register as Professional
Phase 1/join
A Greek-speaking professional in Switzerland completes the multi-step registration form, submits their profile for admin review, and logs in once approved.
View diagram
100%
flowchart TD
A([Professional lands on site]) --> B[Clicks Εγγραφή ως Επαγγελματίας]
B --> C[Join page — Step 1\nName, specialty, bio\nemail, phone]
C --> D[Step 2\nCategory]
D --> E[Step 3\nCity, postal, canton, languages]
E --> F[Step 4\nContact channel toggles]
F --> G[Step 5\nProfile photo, gallery, review and submit]
G --> H{Submits registration}
H --> I[Confirmation screen\nΑναμένει έγκριση badge]
I --> J([Admin reviews — Flow A1])
J --> K{Decision}
K -->|Approved| L[Professional receives email\nProfile goes live]
K -->|Rejected| M[Professional notified with reason]
L --> N[Professional logs in]
N --> O[Views own profile — own state]
P2 — Edit Profile
Phase 1/dashboard
A logged-in professional navigates to the edit profile page from their dashboard. A sidebar lets them jump between eight sections — each saving independently.
View diagram
100%
flowchart TD
A([Professional logs in to dashboard]) --> B[Clicks Προφίλ tab in nav]
B --> C[Edit profile page opens\nSidebar with 8 sections]
C --> D{Which section?}
D -->|Δημόσιο προφίλ| E[Edit name, bio, profile photo]
D -->|Κατηγορίες| F[Select / deselect categories]
D -->|Τοποθεσία| G[Edit address, postal, city, canton]
D -->|Γλώσσες| H[Add / remove languages]
D -->|Κανάλια επικοινωνίας| I[Edit phone, email, response time\nToggle channels on/off]
D -->|Φωτογραφίες| J[Upload or remove gallery photos]
D -->|Ειδοποιήσεις| K[Toggle email notifications]
D -->|Λογαριασμός| L[Change login email or password\nDeactivate or delete account]
E & F & G & H & I & J & K & L --> M{Action}
M -->|Αποθήκευση| N[Section saved]
M -->|Ακύρωση| C
N --> C
C -->|Δες δημόσιο προφίλ| O([Public profile opens in new tab])
P3 — Receive Contact from User
Phase 1Email + /dashboard
After a user submits a contact request, the professional receives an email with the user's details and a direct CTA to open the discussion on their preferred channel.
View diagram
100%
flowchart TD
A([User submits contact request → Flow U3]) --> B[System sends email to professional]
B --> C[Email contains:\nUser name · Preferred channel\nContact detail — phone or email\nOptional message]
C --> D[Professional reads email]
D --> E{Preferred channel}
E -->|Phone| F[Professional calls user directly]
E -->|WhatsApp| G[Tap WhatsApp link in email\nConversation starts]
E -->|Email| H[Reply via email]
F & G & H --> I([Discussion continues outside findemich])
P4 — Request a Review
Phase 2/dashboard → Reviews tab
After a visit or interaction, the professional generates a unique one-use review link and sends it to the user through their preferred communication channel.
View diagram
100%
flowchart TD
A([Professional logged in to dashboard]) --> B[Goes to Reviews tab]
B --> C[Selects a contact to request a review from]
C --> D[System generates unique one-use link\n/review/:token]
D --> E[Link sent via user's preferred channel\nfrom original contact request\nWhatsApp · Email · SMS]
E --> F([User receives link → Flow U4])
P5 — Receive a Review
Phase 2Email + /dashboard → Reviews tab
Professional is notified by email when a new review comes in, views it in the dashboard, and decides whether to publish it on their public profile.
View diagram
100%
flowchart TD
A([User submits review → Flow U4]) --> B[Professional receives email\nYou have a new review on findemich]
B --> C[Professional opens dashboard → Reviews tab]
C --> D[New review shown — hidden from public by default]
D --> E{Decision}
E -->|Publish review| F[Review visible on public profile]
E -->|Keep hidden| G[Review stays private]
F --> H[Rating recalculates across all published reviews]
G --> D
Admin Flows
A1 — Moderate Professionals
Phase 1/admin/professionals
Admin reviews the professionals list, calls to verify phone numbers, and takes action — verifying, editing, suspending, or permanently deleting profiles.
View diagram
100%
flowchart TD
A([Admin logs in to /admin]) --> B[Professionals list\nname · profession · location · date · status · flags]
B --> C{Search or filter}
C -->|By name| D[Filtered list]
C -->|By profession| D
C -->|By status| D
D --> E[Click into a professional record]
B --> E
E --> F[Admin calls professional\nto verify phone number]
F --> G{Action}
G -->|Mark Verified| H[Profile goes live in search results]
G -->|Edit fields| I[Update any field → Save]
G -->|Suspend| J[Profile hidden from public\nProfessional notified by email]
G -->|Delete| K[Profile permanently removed\nProfessional notified by email]
I --> E
H & J & K --> B
A2 — View & Analyse Data
Phase 1/admin
Admin lands on a basic dashboard overview with key stats at a glance. Specific screens and metrics are TBD — to be defined based on what the client finds most useful.
View diagram
100%
flowchart TD
A([Admin logs in to /admin]) --> B[Dashboard overview\nBasic stats at a glance\nTo be defined — client to suggest helpful screens]
B --> C{Navigate to}
C -->|Professionals| D([Manage professionals → Flow A1])
C -->|Stats / reports| E[Detailed view\nScreens and metrics to be defined by client]