Why Buffered.link ? ๐ค
Sometimes you need to quickly copy some text/text file from your phone to your PC or vice-versa.
I found myself doing this a lot as I had to share some things with my friends or while working.
When I had to deal with files, I would quickly spin up a python server using the command python3 -m http.server
, get the IP address of my PC, and connect to it via my phone before downloading the file.
Not only was this process tedious, but it was also repetitive as I sometimes I will have to turn on my phone's hotspot and go through the same process of locating my IP.
I do not own a USB key (we're in the 21st-century imao) so sometimes when I had to do some assignment in the computer laboratory at school, I will have to copy it on paper. I did not want to deal with creating an account and signing up everywhere.
To solve my issue, I built Buffered.link. It is a tool that allows you to easily and quickly share text between two or more devices that have access to the internet.
After building it, my friends and I used it a lot for our computer science assignments and for sharing links and text which will access on our phones or computer back at home. It made things so much easier.
Technologies Used โ๏ธ
To build this app I used the following technologies;
- Next.js
- TypeScript
- Prisma
- PlanetScale
- Deta (for the Cron service)
- GoLang (for the CLI)
How it works ๐ง๐ฝโ๐ป
The way the app does things under the hood is very simple. First when you open the app, it will check if you have a key pair in your local storage. Even though there are no accounts implemented, there is still the need to separate people's data. The keypair is used for just that.
The key pair consists of a secret and a publicKey. The secret is used for creating items while the public key is only used for publically shared items.
When you open the app, it will fetch your items from the database. Each item expires within 24 hours after creation.
- To create a new item, we click the plus icon in the floating-action-menu and it will open a modal and you can drop in it whatever you want to save.
You can click "edit" for any item to change its content or whether it should be available to view by the public.
You can copy the content of a buffer by clicking on its content. This will copy the content to your clipboard.
- Sometimes you will want an item to stay a little longer in the buffer. To do that, click on the refresh button on an item and it will reset its expiry time back to 24 hours.
You can view your secret and public key by clicking on the gear icon, which is your settings. This will allow you to edit both of them.
Clicking on the share icon will copy the link of your public buffer to the clipboard. Anyone with this link can access your public buffer collection. That is, all of your buffers labeled as public.
- You now have K-Bar for quick and easy navigation in the app. Just type
CTRL+K
orCOMMAND+K
to activate it.
More ๐
This app is completely open source and free to use.
The source code is available here Live App here
If you like this, then give me a follow on Twitter and or on GitHub
I hope you enjoy this ;)