TLDR: "Kasisto is a Point of Sale software to receive payments in Monero. Example use cases include bars, cafes, restaurants and shops... Any place with an internet connection basically."
amiuhle part-time November & December (Kasisto development &[...]
funded of XMR60.00 target
I continue working 5 hours per day for my employer in Germany while traveling. In addition to that, I have to either work for accomodation or go camping / couchsurfing etc. Each of these prevents me from doing any significant amount of open source work (they are quite time consuming, missing internet, etc).
So for November and December, I've decided to find a room or book a decently priced Airbnb. This will allow me to do 3 hours of work on top of the work for my employer, which in return will allow me to pay rent for two months.
I will probably still be able to do some extra open source work, just like I would if I were back at home having 8 hour days. Those 3 hours a day are what I'm asking to be funded for, so that will be the minimum of work I put into Monero related things in those two months.
November and December have 21 and 19 working days in Germany. This amounts to 40 * 3 hours = 120h. At a rate of 0.5 XMR/h, I'm asking for 60 XMR.
What I will be doing
Kasisto will hopefully be tested at the next Monero meetup in Berlin on October 12th. Apart from the features and issues I already know about, I'm sure this will bring up some more. So for one part, I will just add features to Kasisto and fix bugs to get it from alpha to beta state.
Setting up Kasisto requires to run a local
monero-wallet-rpc with a view-only wallet and
nginx acting as a reverse proxy, serving HTTPS. Improving documentation on how to set things up is already on the roadmap, and I'm also planning to do a Docker image to make it even easier. However, that's still not something a lot of people who own a bar or cafe are able to do. Plus it will require synchronizing a full node.
So I'm thinking about creating a subscription service where one can upload a view-only wallet and then configure Kasisto to use this endpoint. There could be a free trial period, so if someone wanted to test Kasisto just for one night, they would be able to do so pretty quickly.
The subscription service itself would be closed source, and is not part of this funding request. I would do it in Ruby on Rails though, and there is no ruby library for Monero yet. At the very least I could create a wrapper around
monero-wallet-rpc, maybe even an integration into some existing ruby on rails payment system.
The Monero developer documentation is far from complete. I'll update it along the way by creating issues (or pull requests if possible) on GitHub.
Finally, there are some other things that I will need to document for Kasisto, which will benefit the whole Monero ecosystem. For example: taxation guidelines.
I would imagine if someone uses Kasisto, they will keep at least part of the XMR. Receiving money for a product or service is taxable income, any profits made after that are applicable to capital gains tax. It might be sufficient to keep track of the exchange rate at the time of the initial transaction, but maybe it's safer to cash out into fiat and then rebuy Monero to clearly separate between those two incidents. Of course, this will be different depending on the country, and it should be documented somewhere.
Since this will apply not only to Kasisto but receiving Monero in general, it might as well be documented on getmonero.org instead of in Kasisto's docs. I'm not an expert on this topic, but I can at least do some inital research and find people who know more about it for each country.
It's hard to say how much I can actually achieve in those two months, so there are no predefined milestones (Edit: two milestones for the end of each month would probably make sense). As noted above, Kasisto should be usable by November already, so it's just about making that easier and adding more features so more people can benefit from it. I'm open to suggestions on how to prioritize, especially by people who have tested it.
I started this projet because I actually want to be able to use Monero as cash in the real world. Mobile wallets are starting to be usable, so we're getting really close. Help me do my part to set up for a great 2018 for Monero!
I split the roadmap into 3 milestones. They're 40 hours each, but I only filled them up to about 75% to still be able to do some documentation on Monero and add features to Kasisto that come up along the way.
- Generic Refactoring & test coverage
- Refactor data structure
- Add more unit tests where necessary
- Clean up some things that were implemented quick and dirty for Alpha 1
- Basic Settings Screen
- Jest UI / Snapshot testing setup
- Configurationn options for
- Endpoint URL
- Refactor UX workflow
- Standby screen ("Monero accepted here")
- Nicer "payment received" view
- Tip suggestions
- Server setup guide based on fresh Ubuntu Server 16.04 LTS installation
- Generic layout optimizations
- Better phone & tablet compatibility
- List of Payments
- Show list of payments with status
- Import / export payment history (JSON)
- Restrict access to settings & payment history
- Progressive Web App Features
- Offline capabilities (Tablet running webapp will need to connect to full node on same network, but doe not need direct internet access except to update to newer version)
- Add to Homescreen
- More settings
- Show / hide certain input fields
- Add more currencies / exchange rate providers
- Basic end user documentation with screenshots