Skip to content
User Guide

Juliapp User Guide

Everything you need to know about staying safe and protecting your community with Juliapp.

🚀

Getting Started

What is Juliapp?

Juliapp is a community safety Progressive Web App (PWA). It lets you report real-time safety incidents on an interactive map, plan danger-aware routes, trigger emergency alerts, and connect with a network of people committed to keeping their neighborhood safe. Install it on any device straight from the browser—no app store required.

Creating an account

You can sign up using any of the following methods:

  • Email & password—provide a display name, email, and a secure password.
  • Google OAuth—tap Continue with Google for one-tap sign-in.
  • Apple OAuth—tap Continue with Apple to sign in with your Apple ID.
  • Magic link—enter your email and receive a passwordless login link.

First-time onboarding

When you first open Juliapp, a brief walkthrough introduces you to the core features: dropping pins on the map, using the SOS emergency button, and joining communities. You will also be asked to grant location permission so Juliapp can show incidents near you and enable all location-based features.

Tip: Install Juliapp to your home screen for the best experience. Your browser will prompt you automatically, or you can tap the install banner that appears at the bottom of the map.

🗺

The Map

The map is the heart of Juliapp. It displays all reported safety incidents in real time, powered by Supabase Realtime. When another user drops a pin anywhere in the world, it appears on your map instantly—no need to refresh.

Understanding pins

Each pin on the map represents a reported incident. Pins are color-coded by severity level so you can assess the situation at a glance:

Mild
Moderate
Danger

Emergency SOS pins are displayed with a pulsing red marker and have the highest visual priority on the map.

Marker clustering

When the map is zoomed out, nearby pins are grouped into clusters showing a count badge. Zoom in to reveal individual incidents. Clusters help keep the map readable in high-density areas.

Real-time updates

Juliapp subscribes to live database changes via Supabase Realtime. New pins, confirmations, resolutions, and emergency alerts all appear on the map as they happen. A live SOS session will show the person's trail moving across the map in real time.

Additional map layers

Open the Layer Panel to toggle overlays such as the neighborhood safety score heatmap and safe space markers (pharmacies, hospitals, police stations, shelters, and partner locations).

📜

Reporting an Incident

Reporting is the core action in Juliapp. Every pin you drop helps others stay informed and safe.

How to report

  1. 1Tap the + button at the center of the bottom navigation, or tap directly on the map to place the pin at a specific location.
  2. 2Select a category for the incident.
  3. 3Choose the severity level—Mild, Moderate, or Danger.
  4. 4Pick the environment (how you were traveling) and the urban context (where it happened).
  5. 5Add a description with details about what occurred.
  6. 6Optionally attach up to 5 media files (photos, videos, or audio recordings).
  7. 7Tap Submit. Your report is live instantly.

Incident categories

😨 Harassment👁 Stalking🌑 Dark area⚡ Aggression🍺 Intoxicated⚠️ Other

Environments

🚶 On foot🚇 Transit🚌 Bus🚲 Cycling🚗 Vehicle🏠 Indoor

Urban contexts

🛣️ Street🅿️ Parking🏪 Store / Mall🚇 Metro🚌 Bus stop🌳 Park🍽️ Restaurant / Bar🏢 Building📍 Other

Offline reporting

No internet? No problem. If you are offline when you submit a report, Juliapp saves it to a local queue (IndexedDB). When your connection is restored, all queued reports are automatically submitted in the background. A badge on the map tab shows how many reports are waiting to sync.

🔭

Filters

The filter bar lets you narrow down which incidents appear on the map. Tap the sliders icon in the top area of the map to expand the filter panel.

Available filters

  • Severity—Show all pins, or only Mild, Moderate, or Danger.
  • Time of day—Any time, Morning, Afternoon, Evening, or Night.
  • Age—Show all pins, or only those from the last 1 hour, 6 hours, or today.
  • Urban context—Filter by location type (Street, Parking, Metro, Park, etc.).
  • Confirmed only—Toggle to show only pins that have been confirmed by other users.
  • Live only—Toggle to show only active emergency SOS pins.

Tip: Combine filters to get a precise view. For example, enable Danger + Night + last 6h to see the most recent serious incidents reported at night.

🆘

Emergency SOS

The SOS button is your lifeline. It is always visible on the map as a red button. When you activate it, Juliapp broadcasts a live emergency to everyone nearby and to your trusted contacts.

How to activate

  1. 1Press and hold the SOS button on the map view.
  2. 2A 3-second countdown begins. Keep holding to confirm.
  3. 3When the countdown reaches zero, your emergency is live. A pin appears on the map with a pulsing red marker.

What happens when SOS is active

  • Live trail—Your GPS location is broadcast in real time. Other users see your trail moving on the map.
  • Trusted contacts notified—An emergency dispatch is sent to your trusted contacts via SMS and push notification, including your current coordinates.
  • Community broadcast—Nearby Juliapp users see the SOS alert and can tap "I'm on my way" to let you know help is coming.
  • Auto-escalation—If you do not cancel or resolve the emergency within a set period, the system automatically escalates the alert.
  • Live tracking link—A shareable link is generated so anyone (even without the app) can follow your location.

Canceling an SOS

To cancel, tap the active SOS button again and confirm. All emergency pins and trail data are marked as resolved, and your contacts are notified that you are safe.

Important: The SOS feature is designed for genuine emergencies. If you are in immediate danger, always also contact your local emergency services (112, 911, etc.).

🗺

Trip Planner

The Trip Planner helps you get from A to B while avoiding danger zones. Access it from the Trip tab in the bottom navigation.

Travel modes

🚶Walk
🚴Bike
🚗Drive
🚇Transit

Planning a trip

  1. 1Type your destination in the search bar. Autocomplete suggestions will appear.
  2. 2Select a travel mode (Walk, Bike, Drive, or Transit).
  3. 3Juliapp calculates routes and displays multiple options ranked by danger score.
  4. 4Each route card shows estimated duration, distance, and a danger rating. Expand a card to see step-by-step directions.
  5. 5Tap Go to start the trip. A live timer and ETA countdown appear on screen.

Danger-aware routing

Juliapp scores each route by checking how many active incident pins fall within 200 meters of the path. Routes with fewer nearby incidents are ranked higher. The safest option is clearly highlighted. Night-time incidents receive extra weight during evening hours.

Paris transit (IDFM / Navitia)

For users in the Paris region, the Transit mode connects to the IDFM Navitia API to provide real metro, bus, RER, and tram directions with accurate departure times, line identifiers, and transfer instructions.

Favorite routes

Tap the bookmark icon on any route to save it as a favorite. Your saved routes are stored and accessible from the Saved panel, complete with trip count, last-used date, and an up-to-date danger score. You can also share routes publicly so others can upvote and benefit from your safe paths.

📌

Place Notes

Place Notes are personal annotations you can drop anywhere on the map—your own private safety journal.

Creating a note

  1. 1Long-press (hold for 2 seconds) on any location on the map.
  2. 2The Place Note sheet opens with the address automatically filled in via reverse geocoding.
  3. 3Choose an emoji marker from the selection (pin, warning, lightbulb, heart, home, food, tree, lock, walk, star).
  4. 4Add a name and a note describing the place.
  5. 5Optionally mark it as a favorite.
  6. 6Tap Save. Your note appears on the map as a personal marker.

Place Notes are private by default. Only you can see them. They are great for marking well-lit shortcuts, places to avoid, your go-to safe spots, or anything else worth remembering.

👥

Communities

Communities are Juliapp's social layer—a digital neighborhood watch. Access them from the Community tab.

Types of communities

  • Communities—Larger, public or private safety groups for neighborhoods, campuses, or cities. They can contain sub-groups.
  • Groups—Smaller, focused groups (e.g., "Night Joggers" or "Campus Watch"). Groups can exist inside a parent community or standalone.

What you can do

  • Browse and join existing communities. Private ones require approval from the owner.
  • Create your own community or group with a name, description, and emoji avatar.
  • Group chat—Each community has a real-time chat powered by Supabase Realtime.
  • Stories—Post photos or videos that appear in the stories row at the top of the community feed.
  • Neighborhood feed—See recent safety activity and discussion from the neighborhoods you are a part of.

Tip: Think of communities as a modern neighborhood watch. Create one for your street, apartment building, or university campus to keep everyone informed.

💬

Direct Messages

Juliapp includes a built-in direct messaging system so you can communicate privately with other users.

Friends

Before sending a DM, add someone as a friend. You can search for users by name and send a friend request. Once accepted, you can start a conversation. The Friends tab (inside the Community section) shows your friends list and any pending requests.

Messaging features

  • Real-time delivery—Messages appear instantly, powered by Supabase Realtime subscriptions.
  • Rich media—Send text, images, videos, or audio messages.
  • Read receipts—See when your messages have been read via the last-read timestamp.
  • Unread indicators—Conversations with unread messages are highlighted in your inbox.
🔔

Notifications

Juliapp keeps you informed without overwhelming you. Tap the bell icon on the map to open the Notifications panel.

Notification types

  • Emergency (SOS)—Nearby SOS alerts. These are always on and cannot be muted.
  • Nearby pins—New incident reports within your configured alert radius.
  • Votes & confirmations—When someone confirms one of your reported pins.
  • Comments—Replies and discussion on pins you follow.
  • Resolved—When a pin you follow is marked as resolved.
  • Milestones—Badge achievements and level-ups.
  • Digest—Periodic safety summaries for your area.

Configuring notifications

In Settings, you can adjust:

  • Alert radius—Set the distance (in meters) for nearby incident alerts. Default is 1,000 m.
  • Nearby pins—Toggle on/off.
  • Followed pin activity—Toggle on/off.
  • Milestones—Toggle on/off.
  • Quiet hours—Set a window (e.g., 22:00 – 07:00) during which non-emergency notifications are silenced.

Note: SOS alerts from nearby users are always delivered, even during quiet hours. Safety comes first.

🛡

My Juliapp

The My Juliapp hub is your personal dashboard. Access it from the shield icon in the bottom navigation.

Tabs

  • Feed—Your recent activity: pins you have created, trips completed, and community interactions.
  • Favorites—Saved routes, favorite place notes, and bookmarked pins.
  • Stats—Activity statistics, trip logs, distance traveled, and a trend sparkline showing your engagement over time.
  • Profile—Your display name, member-since date, and account settings.

Levels & impact score

Juliapp calculates an impact score based on your contributions: pins reported, votes cast, comments posted, routes planned, trips completed, communities joined, and streaks maintained. As your score grows, you level up and unlock new badges.

Badges & milestones

Earn badges for achievements like your first report, first SOS, reaching vote milestones, maintaining daily streaks, and more. A toast notification celebrates each milestone as you earn it. View all your badges in the Profile tab.

Weekly Challenges

Weekly challenges encourage engagement: cast a certain number of votes, submit reports, plan routes, or maintain a streak. Each completed challenge earns reward points toward your impact score.

Expertise tags

Based on your activity patterns, Juliapp automatically assigns expertise tags (e.g., "Night Reporter", "Route Planner", "Community Leader") that appear on your profile.

Verification

Verify your identity to earn a verified badge. Verified users' reports carry more weight in the community trust system.

Trusted contacts

Add trusted contacts who will be automatically notified when you trigger an SOS. Manage your Lifelines from the My Juliapp hub.

⚙️

Settings

Open Settings from the gear icon in the My Juliapp profile tab. Settings are organized into sections:

Account

  • Display name—Change how your name appears to other users.
  • Email—View or update your email address.
  • Sign out—Log out of your account.
  • Delete account—Permanently remove your account and all associated data.

Preferences

  • Language—Juliapp supports 30+ languages. Switch at any time.
  • Notifications—Configure alert radius, quiet hours, and per-type toggles (see Notifications section).

Privacy & Security

  • Location sharing—Control when and how your location is used.
  • Data export—Request a copy of all your data (GDPR right of access).
  • Location history—View or clear your stored location history.

Subscription (Juliapp Pro)

  • Plan details—View your current plan (Free or Pro), billing period, and status.
  • Upgrade / Manage—Subscribe to Juliapp Pro for advanced features. Payments are handled securely via Stripe.
  • Invoices—View and download past invoices as PDF.
  • Cancel—Cancel your subscription at any time. Access continues until the end of the billing period.

About

🔌

Offline Mode

Juliapp is designed to work even without an internet connection. As a Progressive Web App, it uses a service worker to cache essential assets and an IndexedDB-backed offline queue for data.

How it works

  • Service worker caching—The app shell, fonts, icons, and core JavaScript are cached after your first visit. You can open Juliapp at any time, even without internet.
  • Offline report queue—When you submit a report while offline, it is saved to a local IndexedDB database (including media attachments as blobs). A badge on the map tab shows the number of queued reports.
  • Background sync—When your connection is restored, queued reports are automatically uploaded to the server. You will see a confirmation toast for each synced report.

Offline banner

When Juliapp detects you are offline, a subtle banner appears at the top of the screen to let you know. It disappears automatically when the connection is restored.

Tip: If you often move through areas with poor connectivity, report incidents as you encounter them. Juliapp will queue everything and sync when you are back online.

🔒

Accessibility & Privacy

Accessibility

  • Keyboard navigation—All interactive elements are keyboard-accessible with proper focus management and focus trapping in modals.
  • Screen reader support—Semantic HTML, ARIA labels, and proper dialog roles are used throughout the app.
  • Dark mode—Juliapp automatically adapts to your system preference (light or dark) and also offers a manual toggle.
  • Responsive design—Juliapp works seamlessly on phones, tablets, and desktops.
  • Internationalization—30+ languages are supported with full UI translation via next-intl.

Privacy

  • GDPR compliant—Juliapp is built with European privacy standards at its core. You have full rights to access, rectify, and delete your data.
  • No third-party tracking—Juliapp does not use Google Analytics, Facebook Pixel, or any third-party tracking scripts. Your activity stays between you and Juliapp.
  • Data stored in the EU—All user data is stored on Supabase infrastructure with data residency in the European Union.
  • Minimal data collection—Juliapp only collects what is necessary to provide the service: your reports, location (when permitted), profile, and interactions.
  • Location control—You choose when to share your location. It is only used for showing nearby incidents, routing, and emergency features.
  • Delete your account—At any time, go to Settings and tap Delete account to permanently remove all your data. This action is irreversible.

Content moderation

Juliapp includes a reporting system for inappropriate content. You can flag any pin, message, story, or user as spam, false report, offensive, or duplicate. Reports are reviewed by the moderation team. Users who repeatedly violate community standards may be shadow-banned.

Your safety, your data. Juliapp is built by DBEK with a privacy-first philosophy. We believe community safety should never come at the cost of personal privacy.