Skip to content
loklak apps site
Branch: master
Clone or download
Pull request Compare This branch is 4 commits ahead, 196 commits behind loklak:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status Join the chat at Percentage of issues still open Average time to resolve an issue [Twitter]( Check Loklak on @gitHub @lklknt: &url=%5Bobject%20Object%5D) Twitter Follow

Loklak is a server application which is able to collect messages from various sources, including Twitter. The server contains a search index and a peer-to-peer index sharing interface. All messages are stored in an elasticsearch index. An automatic deployment from the development branch at GitHub is available for testing here

'Lok Lak' is also a very tasty Cambodian stir-fry meat dish (usually beef) with a LOT of fresh black pepper. If you ever have the chance to eat Beef Lok Lak, please try it. I hope not to scare vegetarians with this name, currently I am one as well.


Please join our mailing list to discuss questions regarding the project:!forum/loklak

Our chat channel is on Gitter here:

Loklak Applications

Loklak_server is the framework for messages, queries, suggestion, geocoding, accounts and more. These services do not have a graphical front-end, hence this repository houses the apps page, which is a showcase for developers and their applications which use loklak_search. Some of the applications in the repository include-

  • LQL (Loklak Query Language), an advanced search tool for loklak
  • NMEA, a software application for tracking GPS NMEA Data using Loklak and OpenStreetMaps
  • WebScraper, an application which converts web pages into structured data
  • accountpermissions, an accounts operations application using an Accounts API for view permissions
  • barchart, a stacked bar chart using loklak_search and D3 stack layout
  • boilerplate, a 'hello world' loklak app
  • bubblecharts, a bubble chart using D3 pack layout and loklak
  • ducphanduy, a lokalk tweet search page using AngularJS
  • forgotpassword, a accounts operations application for password recovery system
  • fossasia-histrogram, a tweet analytcs application of loklak tweets histogram about FOSSASIA
  • histogram, a message visualiser encompassing a tweet histogram plotter
  • keyRegistration, a accounts operations application for registering a public key
  • knowTheDiff, a software application comparing search and aggregations
  • loginPage, an account operations application to log in to loklak
  • oneClickDeploy, an API to increase loklak peers
  • queryBrowser, a suggestion search listing all queries made in loklak
  • resetpass, an account operations application to reset one's loklak password
  • sentimentVisualiser, a tool for visualising the sentiment of a tweet
  • signup, an account operations application to sign up to loklak
  • social-wall, a loklak API-based twitter social wall
  • superwoman7, a vertical tweet search message timeline
  • susi, a chat with Susi API
  • tweetfeed, a twitter feed using polls with infinite scroll
  • tweetsleaderboard, a leaderboard based on the number of tweets using a Users API
  • userprofile, a user profile visualisation using loklak
  • yasoob, a loklak search page
  • yathannsh, a loklak search page
  • newyear, a page that displays new year tweets using the loklak api

How to create a loklak app

  1. Create your app
  • Make a subdirectory in fossasia/[your-app] folder
  • Add at least three files into this folder, named index.html, app.json and screenshot.png. For an easy quick-start, use and copy the app boilerplate from
  • All libraries, css files, javascript and fonts must be either already existent in loklak or you must add this to your app path as well.
  • The screenshot must be cropped into 640 x 640 pixels and in .png format.
  • The file index.html is the landing page of your app. Use /js/angular.min.js from the loklak root path for your application. The app should make use of the json libraries in /js. If applicable, make use of the bootstrap style from /css.
  • The file app.json must be in json-ld format (see and must contain the SoftwareApplication object from -- just copy-paste an existing app.json from another app to start you own file
  • Modify the field "permissions" in app.json: it must contain a comma-separated list of all api paths, that the app calls. This is used to apply authorization markers to the app, so it becomes visible if the app is actually usable for the user. Examples: "permissions":"/api/suggest.json", or "permissions":"/api/settings.json,/api/account.json"
  1. Check quality of your app
  • Do a json-ld validation: use to check your app.json
  • Call to see if your app.json is included in the app list
  • Check if all declarations in your app.json relate to your own app (if you copy-pasted another app.json, you may have forgotten to change some fields)
  • Check the style and behaviour of your app: don't deliver half-done code.
  • Open your index.html in different browser to check that your code is not browser-specific
  • Add a backlink in your app to /apps/ to make it possible that users can browse from your app to all other apps
  1. Publish your app

How to run Loklak Apps locally

You need to have NodeJS and NPM. To run Loklak Apps locally, follow the nexr steps

  1. Install http-server by running the command npm install -g http-server
  2. Navigate the folder
  3. Run the command http-server -o and the app will open on your default browser.

How users will discover your app

The loklak front-end will compute an aggregation of all those app.json descriptions and provide this in /api/apps.json as a list of the single app.json files. A front-end (another app) will provide an overview of the given apps in visual form. This will be linked in the loklak front-end.

What is the software license?

LGPL 2.1

Where can I report bugs and make feature requests?

This project is considered a community work. The development crew consist of YOU too. I am very thankful for pull request. So if you discovered that something can be enhanced, please do it yourself and make a pull request. If you find a bug, please try to fix it. If you report a bug to me I will possibly consider it but at the very end of a giant, always growing heap of work. The best chance for you to get things done is to try it yourself. Our issue tracker is here.

You can’t perform that action at this time.