Features & Capabilities¶
At a glance. locali is a platform for local information and exchange — and that makes it different from a Facebook group or a newsletter. It brings together content from existing sources and delivers it automatically to the right people, complemented by direct contributions from the community. Everything in one place, without commercial engagement logic and without dependency on a central platform. This page gives the overview — the major areas each have their own detail page.
For orientation, the features can be grouped into these areas:
- Collect information — import RSS, iCal, municipal bulletins, and other sources
- Distribute content — combine spaces, areas, tags, and routing rules
- Enable community — get-involved posts, calendars, roles, and moderation → Spaces & roles
- Make actors visible — a searchable directory of the local clubs, offices, and institutions → Organisations
- Publish yourself — organisations write posts and events straight into locali; everything lands in one place, strictly chronological → Aktuelles & Termine
- Find places — a public map and list of useful spots: drinking water, cool places, toilets, and more → Places
- Make knowledge accessible — search, source references, and Ask locali → Local memory
- Run it yourself — Docker Compose, Keycloak, PostgreSQL, monitoring, optional local AI
- Use it accessibly — PWA, push, 18 languages, customisable appearance, and accessibility
Important local information arrives in one place.¶
Imagine all the relevant updates from your community arriving in one feed automatically. No manually checking different sources. No channel you forgot to look at.
locali connects to official sources — RSS feeds, iCal calendars, municipal bulletins — and imports content automatically. New posts, events, and announcements appear without anyone having to actively publish them.
Supported source types:
- RSS / Atom feeds
- iCal / ICS calendars
- Municipal bulletins (structured PDF content)
Content lands where it belongs.¶
Not every post is relevant to everyone. An event from the Weilstadt local club matters to different people than a job posting from the municipal office.
locali automatically routes incoming content to the right spaces via a configurable routing engine. Admins define the rules: which source goes to which space? Which keyword sends a post where? It all runs in the background — no manual follow-up needed.
Routing rules can be set up in the admin panel without any programming knowledge. See Routing Rules.
Get involved — when information becomes interaction.¶
locali is not just an information platform — it connects people who want to support each other.
Every space has a Get Involved section. Members can post concrete requests directly in the feed and see who is currently offering or looking for something:
| Type | What it means |
|---|---|
| Help request | You need support — with repairs, transport, company, or anything else. |
| Offer | You are making something available — time, skills, objects. |
| Volunteer need | An initiative or organisation is looking for active support. |
Every Get Involved post carries a category, a badge naming its kind and a coloured edge — so it's immediately clear what it's about. The posts sit in the shared feed, never more than two in a row, so a burst of them cannot crowd out everything else.
Spaces structure what belongs together.¶
locali has no single, overwhelming timeline. Instead: spaces — by village, club, or topic — each with their own feed, calendar, and member circle.
You belong to multiple spaces at once and only see what's relevant to you. No commercial algorithm decides what's visible.
- Clear roles — from Guest through Member and Moderator to Owner, each role defines exactly who may do what.
- Four join modes — open, by request, invite-only, or managed: the owners decide how people become members.
- Self-governance with moderation — owners and moderators look after content, events, members, and reports; admins only step in when a space has no owner.
Who can access the hub?¶
Operators define who can register on the hub — independently of membership in individual spaces:
| Mode | What it means |
|---|---|
| Open | Anyone can register |
| Invite-only | Registration requires a valid hub invite code |
| Closed | No new registrations possible |
Events that actually reach people.¶
locali shows events in a dedicated calendar — within the app and as an iCal feed for Google Calendar, Apple Calendar, or Outlook. Connect external ICS sources and your events calendar stays up to date automatically.
Events can be imported automatically or created directly within locali by moderators.
Organisations — the actors in your community.¶
Alongside spaces, locali knows about organisations: the clubs, offices, institutions, initiatives, and local businesses that make up a community. They appear in their own, publicly searchable directory — with type (e.g. club, office, education, health), categories, description, contact details, opening hours, and services.
- Find, don't search — filter by type and category, mark favourites, and see at a glance what is currently open.
- Looked-after profiles — a profile that is maintained by its owner carries a "looked-after / last maintained" hint. It shows that someone is taking care of it — it is not a claim that individual facts have been officially verified.
- Claim it yourself — if a profile is still without an owner, an authorised person can claim it and, after confirmation, maintain it themselves.
Places — what your surroundings have to offer.¶
Under Places, locali shows useful public spots of the community on a map and in a list — drinking fountains, cool places, public toilets, barbecue areas, sights, parks, emergency points. Public and usable without signing in.
- Find nearby — category and attribute filters (including accessibility) plus a radius filter from 100 m to 10 km, with sorting by distance.
- Maintained by citizens — signed-in users propose new places, confirm existing ones as "still current", or report errors.
- Reviewed by admins — no proposal appears without approval; this protects against duplicates and private addresses.
locali makes local knowledge findable — with optional AI.¶
locali can automatically enrich imported content — assigning keywords, detecting geographic references, generating short summaries — and, beyond that, turn the information stream into a searchable local memory:
- Ask locali — ask questions in plain language; locali answers with concrete source citations.
- Semantic search — find content by meaning rather than just keywords.
- Relevant feed — rank content by local and topical relevance, without commercial engagement logic.
- Smart routing — incoming content reaches fitting spaces even without an explicit routing rule; operators can override with manual rules at any time.
- Local memory — what arrives once stays findable, long after it leaves the feed.
All capabilities are optional and, in early versions, experimental. By default they run entirely on your own infrastructure — for example with a local Ollama, without any external service. Alternatively, cloud providers such as OpenAI, Azure OpenAI, Google Gemini, or Mistral AI can be connected; legal review and responsibility for that lie with the operator.
→ Learn more about the intelligence features
Notifications that don't annoy.¶
Members are notified about new content via web push directly in the browser. No app installation needed. Whether to enable push notifications is each person's choice — controlled centrally under Notifications → Settings.
Usable everywhere.¶
locali is a Progressive Web App (PWA). It runs in the browser — and can be installed on any device like a native app. Android, iOS, Windows, Mac, Linux. No app store, no external platform.
Your data. Your infrastructure. Designed for data-sovereign operation.¶
All data can stay on your own server — without telemetry, without external services, without vendor dependency. This applies when you run exclusively with Ollama and local sources. Operators who configure cloud providers process data there accordingly; legal review and operator responsibility for that processing lie with the operator. locali is particularly well-suited for organisations and municipalities that want to make conscious decisions about hosting, data flows, and responsibilities.
Because locali is self-hosted, all data can remain under the operator's own control. This significantly simplifies meeting GDPR obligations: subject access requests, deletion requests, records of processing activities — all remain in your hands. Operators can store their imprint, privacy policy, and terms of use directly in the admin area.
Accessible by design.¶
Accessibility is not an afterthought — it is a development goal. locali targets WCAG 2.1 Level AA, the internationally recognised standard for digital accessibility.
In practice, this means:
- Keyboard navigation — every feature is reachable without a mouse. Focus order, visible focus indicators, and focus traps are tested throughout.
- Screen reader support — interactive elements carry meaningful labels. State changes (menu opens, request submitted) are communicated programmatically.
- Sufficient touch targets — interactive surfaces are at least 44 × 44 px so that touch input works reliably.
- Reduced motion — animations respect the system-level
prefers-reduced-motionsetting. If you prefer no motion, you won't see any. - Contrast — colour contrast ratios are checked against WCAG AA thresholds.
Compliance with these goals is verified automatically: the CI pipeline runs an accessibility analysis with axe-core across all main routes on every pull request.
Status
A number of known issues are still being resolved — including missing labels on icon-only buttons and label truncation in the mobile navigation.
locali speaks your language.¶
locali is built for multiple languages. The entire user interface — including error messages, hints, and accessibility attributes — is fully translatable. There are no hardcoded strings that appear in only one language.
18 languages are currently included — German (the source language), plus English, Turkish, Italian, Hungarian, Romanian, Croatian, Ukrainian, French, Spanish, Portuguese, Dutch, Greek, and several Balkan languages. Additional languages can be added by operators without touching the source code.
The chosen language is per user — independent of the language in which the hub is operated. Each member selects their preferred language in their profile settings.
Just the way you like it.¶
locali adapts to your device and your preferences: light or dark mode (or automatic, following your system setting), a high-contrast mode for better readability, and eight accent colours to choose from. The setting applies per device and can be changed at any time in the settings under Appearance.
Continue to Self-Hosting — how to set up your own hub.