



EDIT: This project is NOT vibe-coded. This is a legitimately coded project. While I did use Cursor to help in things like debugging, checking for edge cases, making comments more understandable, making some of the example web-pages pretty, and with helping me to understand some of the Meshtastic API Python documentation, this project is intentionally coded with a lot of heart, mind, and thought put into it.
Hey, everyone! I’m excited to introduce MeshPages: a Python framework that allows you to create and deploy dynamic web pages entirely over the Meshtastic mesh network.
Hosting on the mesh shouldn't be a headache. If you have a LoRa radio running Meshtastic, MeshPages allows you to deploy mesh-native sites with ease. Inspired by FastAPI, MeshPages uses simple decorators to define endpoints so you can focus on the content, not the protocol.
What you can do with MeshPages:
- Dynamic Response: Supports GET-style requests for personalized user experiences.
- Security Built-In: Access details like client Node ID to create whitelists or protected servers.
- Network Health: The Air Traffic Control system automatically performs backoffs to prevent airwave congestion.
- Quick Search: A local caching system that keeps pages accessible even if the server node goes dark.
What can you actually build? I’ve included three examples in the repo to get you started:
- The Hybrid Server: Content that renders perfectly on both the Meshtastic app and the MeshPages web client.
- The LLM Node: Deliver locally generated Ollama responses over the radio. (Yes, off-grid AI).
- The Secret Page: A password-protected page accessible only to whitelisted users.
This is about resilience and decentralization. Whether it’s for emergency comms or just seeing how far we can push LoRa, the Meshtastic network just got a lot more capable.
Check out MeshPages here: https://github.com/MushroomGecko/MeshPages