About zapin.me...

The Idea

Welcome to zapin.me—where your thoughts leave a lasting mark on a public map, powered by the Lightning Network!

This journey began with a deep dive into the Phoenix repository by ACINQ, where I was exploring the capabilities of Phoenixd as a backend for Lightning payments. What started as a technical experiment quickly evolved into something more—a platform where anyone can pin a message on a global map for all to see, while also supporting open-source development.

How It Works

On zapin.me, each message you pin is fueled by Satoshis.

1 minute = 1 Satoshi

This means that you have full control over how long your message remains on the map. For example:

  • 1 Satoshi keeps your message visible for 1 minute.
  • 360 Satoshis keeps your message visible for 6 hours.
  • 3600 Satoshis keeps your message visible for 60 hours.

It's a fun and interactive way to engage with the community and maybe even earn a few Satoshis along the way!

Technologies Used

zapin.me is built with a stack of modern technologies to ensure a smooth and reliable experience. Here’s a look at what powers the site:

Frontend

  • Next.js for the overall frontend framework, providing fast performance and a smooth user experience.
  • React as the core library for building the user interface.
  • Tailwind CSS for easy and efficient styling with a utility-first approach.
  • Leaflet and React-Leaflet for the interactive map, allowing users to pin messages.
  • Lucide React for the icon set, ensuring a clean and modern look.

Backend

  • TypeScript for the backend, ensuring type safety and scalability.
  • Express as the server framework, handling routing and API requests.
  • Socket.io for real-time communication between the client and server.
  • SQLite for lightweight and efficient data storage.
  • Phoenixd-server-js for seamless integration with the Phoenixd backend.

Development & Deployment

  • Docker Compose to easily spin up the entire project with a single command.
  • Nodemon for automatic restarts during development, improving workflow efficiency.
  • ESLint for maintaining code quality and consistency across the project.

Docker Compose Setup

Setting up zapin.me is straightforward, thanks to Docker Compose. The project includes a pre-configured docker-compose.yml file that orchestrates the frontend, backend, and Phoenixd services seamlessly. With a single command, you can have the entire stack up and running on your machine:

docker-compose up --build

This command will build and start all the necessary services, making it incredibly easy to contribute to the project or run your own instance of zapin.me.

Open-Source Commitment

zapin.me is more than just a project — it's a growing community. I’m committed to keeping it fully open-source under the MIT License. I hope you enjoy using the site as much as I enjoyed building it. If you find it useful or just plain fun, consider contributing to the project on GitHub. Your support not only helps keep the map alive with vibrant messages but also drives the continuous improvement of the platform.

Together, let's light up the map, one satoshi at a time!
Miguel Medeiros