Methodology & Safety Data
Last updated: March 2026
Section 01
Introduction
Juliapp is a community-powered safety mapping platform built on the principle that safety information should be transparent, accessible, and community-driven. Our mission is to empower individuals with real-time awareness of their surroundings so they can make informed decisions about their routes, timing, and travel.
Every data point on the Juliapp map originates from a community member who witnessed or experienced a safety-relevant event. Reports are collected through a structured submission process, enriched with contextual metadata (category, severity, time, location, environment), and displayed on an interactive map in real time.
This page explains exactly how data is collected, processed, scored, and displayed — because we believe the methodology behind safety tools should be as transparent as the data itself.
Section 02
Report Categories
When a user creates a safety report (a "pin"), they select a category that best describes the incident. Each category is designed to capture a distinct type of safety concern.
Categories are intentionally broad to remain inclusive without being overwhelming. Users can add a free-text description to provide additional detail beyond the selected category.
Section 03
Severity Levels
Each report includes a user-assessed severity level that communicates the perceived level of danger. Severity affects how prominently a pin is displayed on the map and how it factors into route danger scoring.
Section 04
Environment Context
Reports include an environment context that describes how the reporter was traveling at the time of the incident. This metadata enables time-and-mode-specific safety analysis.
Day vs. Night Reporting
Time of day fundamentally changes the safety landscape of any location. Juliapp distinguishes between day reports (06:00–20:00) and night reports (20:00–06:00) based on the timestamp of the incident.
- Night-time incidents are filtered and weighted separately in the routing algorithm, since safety conditions often differ dramatically after dark.
- The filter bar allows users to view reports by time-of-day: morning, afternoon, evening, or night.
- Route planning factors in whether the trip is occurring during day or night hours, adjusting danger scores accordingly.
Section 05
Urban Context Categories
Beyond how the reporter was traveling, Juliapp captures where the incident occurred in terms of urban typology. This spatial metadata enables pattern analysis across different types of urban infrastructure.
Urban context data helps identify spatial safety patterns — for example, whether incidents cluster around transit stations, parking areas, or parks at specific times. This information is used in neighborhood safety scoring and city-level analytics.
Section 06
Community Verification System
Juliapp relies on community participation to validate the accuracy and relevance of safety reports. Multiple mechanisms work together to establish trust.
Confirm & Refute
Any user can confirm or refute an existing report. This crowdsourced validation creates a confirmation score for each pin:
- Reports with more confirmations are displayed more prominently and carry greater weight in danger scoring.
- Reports with a high refutation ratio may be visually de-emphasized or flagged for review.
- Users can only vote once per pin, preventing manipulation.
Identity Verification
Users can optionally verify their identity through a third-party provider (Didit). Verified users receive a visible badge on their profile. Reports from verified users carry additional weight in the confirmation system, as their identity has been independently confirmed.
Impact Score & Milestones
Juliapp tracks each user's positive contribution to community safety through an impact scoring system. Points are earned for:
- Creating reports that receive community confirmations
- Confirming or refuting other users' reports
- Participating in community discussions
- Maintaining reporting streaks (consecutive days of activity)
- Completing community challenges (weekly community goals)
Milestones are awarded at key thresholds and visible on the user's profile, incentivizing consistent, quality participation.
Section 07
Danger-Aware Routing Algorithm
Juliapp's trip planner does not just find the fastest route — it evaluates each route's safety profile using community-reported data. Here is how the algorithm works.
Route Corridor Analysis
For each candidate route returned by the routing engine, Juliapp samples up to 20 evenly-spaced waypoints along the path. At each waypoint, it checks for unresolved safety reports within a 200-meter radius. This creates a "corridor" of safety awareness around the entire route.
Severity-Weighted Scoring
Not all incidents carry equal weight. The danger score is computed as follows:
The total danger score is the sum of all weighted incidents detected within the route corridor. Higher scores indicate routes that pass through areas with more reported incidents.
Time Decay & Night Filtering
The algorithm only considers recent, unresolved reports. Resolved incidents are excluded entirely. When traveling at night, the algorithm can optionally filter to only consider night-time reports (incidents that occurred between 22:00 and 06:00), providing time-relevant safety scoring.
Alternative Route Generation
The routing engine (OSRM) generates up to 3 alternative routes for each trip. Each route is independently scored for danger, and users see all options ranked by both travel time and safety. Available transport modes include:
Section 08
Data Freshness & Lifecycle
Safety data is inherently time-sensitive. A report from 30 minutes ago is far more actionable than one from 3 days ago. Juliapp uses multiple mechanisms to reflect data freshness.
Time-Based Visual Styling
Pins on the map are styled to visually communicate recency. Recent reports appear with stronger visual presence (larger, more opaque, pulsing for emergencies), while older reports are progressively de-emphasized.
Filter Options
Users can filter the map by report age to focus on the most relevant data:
SOS Alert Expiry
SOS emergency alerts are designed for immediate, time-critical situations. If an SOS is not manually resolved by the user or a responder, it auto-expires after 2 hours. This prevents stale emergency markers from persisting on the map and causing unnecessary alarm.
Historical Data Retention
While the active map focuses on recent data, historical reports are retained in the database for pattern analysis, neighborhood safety scoring, and trend computation. Older reports are anonymized after 12 months in accordance with the privacy policy.
Section 09
Privacy by Design
Juliapp is built with privacy as a foundational principle, not an afterthought. Safety information and personal privacy are not mutually exclusive — here is how they coexist.
For full details on data collection, retention, and your rights, see the Privacy Policy. Privacy.
Section 10
Limitations & Disclaimer
Juliapp is a powerful community tool, but it has important limitations that every user should understand.
- Not a replacement for emergency services. Juliapp is a supplementary awareness tool. In case of immediate danger, always call your local emergency number: 112 (EU), 911 (US), 999 (UK), or 15 / 17 / 18 (France).
- Community-dependent accuracy. Report accuracy and coverage depend entirely on community participation. Areas with fewer active users will have fewer reports, which does not necessarily mean those areas are safer.
- No independent verification. Juliapp does not independently verify individual incident reports. While the community confirmation system helps surface reliable data, individual reports reflect the subjective perception of the reporter.
- Indicative safety scores. Danger scores, neighborhood ratings, and route safety assessments are indicative, not absolute guarantees. A low danger score does not guarantee safety, and a high score does not mean danger is certain.
- Temporal limitations. Safety conditions change rapidly. A location that was flagged an hour ago may be safe now, and vice versa. Always exercise personal judgment regardless of what the map shows.
- Reporting bias. Certain types of incidents may be underreported (e.g., harassment) or overreported (e.g., perceived suspicious activity). Juliapp data reflects community reporting patterns, which may not perfectly mirror actual crime statistics.