source atitlan.io
Wussup everyone,
Today I'm showcasing an online Customer Service Chat proof of concept.
This web app was built from the ground up using
Build/Frameworks
- Vite
- Vue3 + goodies
- TailwindCSS v4
- shadcn-vue
Tools Used
- Claude 3.5 Sonnet through Cursor compose
- LazyVim
Inspiration
The Bitcoinmat project in Guatemala has evolved into a fun challenge to create a fully locally-hosted software stack for people that adheres to the v4v life. The objective that we want to meet is, if the community server were to be disconnected from the Wide Area Network (WAN) AKA the greater internet, can we still have fully functioning social media, messaging, secure payments, etc. The current solution uses a phone # for confirming on-chain tx's which is not an ideal solution.
🔥 The inspiration for the Customer Support Chat aspect comes from the LNBits repo which has an integrated chat for customers purchasing items to connect directly with the vendor using Nostr relays. They have a coder named Vlad who is a total beast.
Challenges
The biggest challenge I have seen in software programming and anything is the inertia of people. A ball in motion wants to stay in motion, and that means in the same direction and speed it's going. If people have to download an app for your new software, you've already diminished your chances of them even giving it a few seconds of attention. If they have to sign up for an account, it's almost game over! If it doesn't work perfectly, you've probably lost their attention forever. You have to provide something that works comparable to its proprietary counterpart and provides continual utility to the end user. Not so hard right? 😆
PWA's are a nice initial strategy to provide an app-like experience without someone needing to download it from the mobile application store. It can provide a near-comparable experience, and at the very least is an amazing way to showcase off prototype software.
Atitlan.io has been a collaborative effort with AI (talking about just this website) to provide a smooth experience with an aesthetic UI, i18n language support, fuzzy search for the directory, and the fire 🔥 NOSTR support chat 🔥 (this might need some kind of captcha in the future to avoid bots).
Future goals
- 1-click recoverable (and throw-away-able) lightning wallet + nostr key-pair
- Implement a resilient integrated nostr marketplace
Bitcoinmat use-case
Right now, the Bitcoinmat has two-way functionality which allows you to buy or sell Bitcoin. This can either be done over the layer-1 blockchain, or over the layer-2 lightning network.
The caveat with layer-1 is that the need for a transaction to be mined introduces an unfamiliarity in the flow that people are comfortable with using ATM's. There is no way to force a block to be mined every time that someone transacts so the current solution is that the Bitcoinmat requires a phone number for someone to receive a confirmation code. When the Bitcoinmat sees that the transaction confirms on the blockchain, it sends a notification to the phone number (using a 3rd party service like Twilio) and then provides a code for them to identify themselves and claim their money. 👎
In comes NOSTR (Notes and Other Stuff Transmitted by Relays). Nostr removes the need for a KYC'd paid service which can (and already has in the past) blocked crypto-related services. You can run your own open source relay check out awesome nostr, self-hostable social network with a simple generated keypair. Given the malleability of this protocol, the sky is the limit with things that can be done and it currently has a massive grass-roots open-source initiative happening to create all sorts of applications.
Let me know what you think! Feel free to roam around atitlan.io and provide any feedback
Glad to have seen your post featured on the PYPT Podcast.
Congratulations @padreug! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 300 upvotes.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP