FTT Handbuch

Small independent projects for interns and weekend hack sessions, as well as a few far-fetched project ideas.

Web

Calendar-Mail Groupware

Sogo x Nextcloud with modern interface

Simple Travel Map

A federating open-source alternative to platforms like Couchsurfing with an interface inspired by https://1nitetent.com.

Simply place a pin and add contact information. When searching for a place, select destination, search radius and date and be matched to potential hosts immediately.

Recommended Technologies: Leaflet Map with a simple web server like IHP and ArangoDB

Features

Create Offer

  • Name
  • Contact: Mail, Phone (eye for visible, envelope/bell for notifications) - maybe XMPP, Fedi/Social-Media-Link auto-formatted external links as well, add new textbox when one is filled.
  • Offer
    • Camping: No - Tent - Caravan
    • Sleep: Floor - Couch - Guestroom - Apartment
  • Interests: Auto-complete from two letters onward
  • Password/SOLID to create account

-> can also enter foreign places or without contact data, these have to be renewed at least every 6 months or are marked "inactive"

Further

  • Autofill details from external profile like Couchsurfing/BeWelcome/Trustroots/etc

Option to do plan hosts along route with Flexibility:

  • No :: exact date
  • Leeway :: 1-2 days offset are okay
  • Flexible :: the journey route and timing are fully flexible

SmartChords

A website for song chords with autoscroll similar to Ultimate Guitar or the Librera Reader app. Tracks are transposable and forkable and downloadable in ChordPro format.

Special mode for drafting up a song with instant audio preview, including live online collaboration.

Create user groups and vote on songs. Share setlists and automatically download combined PDFs.

Implement Voice Recognition for smart autoscrolling.

Recommended Technologies: Haskell with IHP and Vosk for text recognition.

See also:

OrgWiki

A wiki in orgdown with a file-based backend which can be edited locally and synced back online but just as well edited on the web.

Potentially useful:

Monesh

Monitoring, regardless whether selfhosted or third-party, always has a problem: How do you know when the infrastructure providing the monitoring service is down?

You could setup another monitor to watch the first, have an application that expects regular uptime pings, or redundantly deploy the monitor onto different infrastructure. But all this takes effort, and often ends up in the hands of Big Tech.

Here comes a way to solve this with Independent Technology: Monesh, the distributed monitoring mesh.

The idea is to connect monitors of independent systems to mind each other through a common standard. Each Monesh node is monitored by just as many nodes as it monitors, and sends a notification when any of them goes down.

But there are some aspects to figure out:

Notifications

I would suggest notificaitons to be sent via SMTP to an e-mail-address each node provides. The recommendation here is to use the address for nothing else due to the publicity of it and the potential for waves of notifications to drown out anything else.

Basically everybody has an E-Mail-Address independent of their own infrastructure, the protocol is widespread and requires no extra authentication. So each node needs to be connected to an SMTP-Server that can send mails. This may be verified by other nodes, ideally through a web of trust.

Then each node advertises its presence with either an endpoint to ping or a default endpoint for all, and an E-Mail-Address. Alternatively it may advertise a webhook to be called, but this should not be an authenticated service like a messenger due to the high abuse potential.

Active and Passive Monitoring

Monesh nodes form pairs to monitor each other. A node can form as many pairs as administratively allowed. The discovery could be offered through central hubs or peer-to-peer, with a monitor pairing with the peers of already known peers.

Pairing can be very easy: The node sends a small packet with its data, and minutely the nodes ping each other, ensuring commitment and uptime from both sides.

One might consider to only do a delta transfer of data, but due to the little data to transfer (node address, notification address, potentially pingback interval) it does not seem like this would make much of a difference. However, the receiver has to store the node data anyway to be able to send out notifications and pingbacks.

The pairing is acknowledged through a pingback, the interval until reception may also be used as the pingback interval: A node can choose to respond after the interval of the previous pings or communicate its own one, with the suggestion being to approach each other.

This way, each node functions both as an active and a passive monitor: Reaching out to the node monitored, as well as waiting for pings from it.

If the regular pingback interval is exceeded without response, another x pings should be sent before the notification is sent, with x defaulting to one but being an optional grace factor that a node can provide when advertising itself.

And of course each node should supply an SSL Certificate, regardless of self-signed or authoritative.

New Applications

nast - Network Share Terminal Mounter

An easy TUI or CLI tool for discovering and mounting network shares on Linux, including SMB and NFS.

https://www.reddit.com/r/samba/comments/102twvr/discovery_and_mounting_via_tui/

mostr - nostr messenger with task tracking

See https://github.com/xeruf/nodal/blob/main/nodal.org

MasterPass

Integrate masterpassword with pass, thus that passwords missing in the store are provided via mpw by the interface (for example in passff) and then saved.

Also make it usable for teams, with shared and private secrets.

Starter

Config file with three elements, each a command with a placeholder:

  • (1) Command to retrieve a password
  • (2) Command to save a password
  • (3) Command to generate a password

CLI Tool that takes one argument: Website that you want to generate a password for.

Check (1) if password exists,

  • yes: return it
  • no: generate (3) and save (2), then return the password

Audio Cutter

Simple tool to prelisten a track and cut it, as well as maybe simple tag editing. Could use this both in the terminal and on Android.

Might base work on https://github.com/scruffaluff/sampitor

Recommended Technologies: Low-level language like Rust, or Kotlin when working towards Android

Shortcuts

  • H/L to move current marker
  • J/K switches marker
  • SPACE to play from/to marker (depending on include/exclude) -> could do without markers by selecting until(J) or from (K) and then confirming cut with ENTER - not even an interface needed then, could use mpd

Mobile Apps

ToCall

An Advanced Dialer / Contacts App with a few extra features:

  • ability to maintain a list of people to call soon or even in regular intervals, including basic scheduling (but not automatic calling)
  • set default tags for new contacts (i.e. easily distinguish all contacts added on holidays)

Maybe based on https://www.github.com/FossifyOrg

QuickTrack

Track various health factors swiftly, such as sleep and different dietary components you suspect of having a negative impact. Only needs one main screen:

  • vertical scale with by default 0 to 9 on the left
  • a few vertically arranged buttons of things to track with clear configurable icons, such as:
    • sleep hours
    • diary products
    • wheat / gluten
    • stool firmness
    • alertness

Select the value on the scale, and once you click the button it is tracked, enabling you to track within seconds.

Instrument (Learning) Aid

See also https://xerus.notion.site/Skill-Development-Assistant-Piano-Coach-85da76bcb5e1457eafeef9858648712f

Improving Existing Open-Source Software

DeltaChat

  • automatically internationalize timestamps
  • VoIP calls
  • easily set conversation subject

Vikunja CLI

Maybe based on taskwarrior or another existing CLI task manager.

https://community.vikunja.io/t/a-simple-cli-client/812/2

Decentral Reviews

Established Review Platforms such as tripadvisor and Google Maps rely on advertisement and user tracking. A decentral approach with web of trust would be ideal, so that you can automatically prefer reviews of friends of friends, just like you would in real life.

Check approaches such as aggregation from nostr relays and OpenPlaceReviews Blockchain: https://github.com/OpenPlaceReviews/opendb

Then integrate with OSM apps such as OsmAnd and https://openpoimap.org/ to create a serious Google Maps alternative.

OpenStreetMap

A fantastic resource for not just streets, but also points of interest and data about the surface. It will be invaluable for MenschLink.

There is still a lot to improve, in tagging and in infrastructure, and helping hands are wanted.

Getting Started

Get acquainted first, for example by using Organic Maps for navigation on the go.

Then start mapping around your area using one of the myriad of apps: https://wiki.openstreetmap.org/wiki/Software
StreetComplete on Android is an easy starter.

For power users, OsmAnd is highly recommended. JOSM and Vespucci are powerful editors for desktop and Android respectively.

Educational Tags

Educational features are not very well tagged so far, but we need attention to detail for MenschLink.

According to https://wiki.openstreetmap.org/wiki/Education_features a proposal for a pedagogy tag has been raised in 2022: https://wiki.openstreetmap.org/wiki/Proposed_features/Key:pedagogy

There is also a big, old rejected proposal regarding educational schemes of which many concepts are worth revisiting and revising (even details such as education_language:eng =yes which could help matching internationals to specific study programmes in other countries/cities) - this would need some intense structural thinking: https://wiki.openstreetmap.org/wiki/Proposed_features/Education_2.0

IHP

  • ArangoDB Integration
  • Webshop System

Librera Reader

Minetest

Project Ideas
Β© Copyright 2025 by Janek Fischer