Third Week in Saigon
Weekly Update July 1 to July 7, 2023
This week was very much about coding on my freelance projects, meetings new friends and professional network and learning about new tools in Ai.
Smart Invoice: Using a Blockchain Native Invoice
The main one is the smart invoice.
The main project that I have dedicated much of this week is called Smart Invoice. This is an app that was built about two years ago to handle on-chain invoices. The real world applications to this app are many.
I joined this team about two months ago and have been onboarded. We have meetings every Thursday night (Vietnam time) and a sprint that lasts two weeks. My current task is to migrate from WalletConnect to RainbowKit for our blockchain network connection to the app.
This is a app built with Create React App and JavaScript.
It uses a subgraph to read data about the Invoices.
There is no backend and not database, the backend is the blockchain.
When a user connects to their wallet, and goes to the dashboard page, they see a list of invoices that they are a part of either as a provider or client. The provider is the party that is providing the service or good and receiving the payment. The client is the party that is making the payment.
Smart Invoice currently supports the following tokens:
WETH, WXDAI, WBTC, renBTC, USDT, USDC, USDP, RAI, RAID, HAUS, FRAX, sUSD, GNO, MANA, GRT, BAT, and ROBOT.
The documentation is very comprehensive and takes you from start to finish in a walkthrough screen-share recording of the app. The documentation can be found here: https://docs.smartinvoice.xyz/
Smart Invoice is how freelancers in Raid Guild receive payment for their work. This is one of the earliest examples of blockchain applications that fulfill traditional banking and finance roles.
The basic flow of the application is that either one of the parties creates the invoice.
On the first screen of the creation form it takes a project name, link to project agreement and project description. It also has project start date, end date and safety valve date.
One the second page, it takes the addresses of the client and provider, the total amount of the invoice, the payment token and the number of milestones. Finally it takes the arbitration provider, which is either an individual wallet address or the default Lex DAO, and the potential dispute fee.
On the next page, you specify the amount for each of the milestones.
On the final page you confirm the information is correct and the invoice is launched.
Next the Client deposits the invoice milestones. When the work is completed the provider submits the work for the milestone, and the client then releases the milestone.
Next they make deposit for the next milestones. At any time the funds can be locked by either party and it can go into arbitration. When it is in arbitration the wallet that was set as the arbitrator goes to the application and decides how much of the locked funds should go to either party. They then get their percentage for their fee.
Meetings with New Friends and Expanding Professional Network
One of the really good things about traveling is that you get to meet people with diverse backgrounds and it is always interesting experience. They usually are interested in meeting you because you travel, are from some different place and doing some interesting things, and you are interested in them because they offer a new perspective on things.
This week I had three meetings that I want describe here. First it was with a friend I met in the kickboxing class. Sometimes in the training class it is like that you are the only English speaking person. One time I started a conversation with someone there, it turned out that she was fluent in English. There wasn’t much of a chance to talk so we exchanged contact information and planned to meet for a coffee. We met this week on Tuesday at a cool cafe called “Là Việt Coffee Saigon”. Saigon is full of really cool cafes actually.
We talked about how sometimes you can learn so much from starting conversation with a stranger. Our conversation and approach was very platonic and just friendship based. She was curious about my travel and work life. I was curious about her life in Saigon, her interests and plans for the future. She has gone to international schools, speaks very fluent English, is very smart, the educational system her is very good. I observed how this person, which grew up in Saigon, is like the living example of a type of class of people that have privilege to have the best schools and education.
It is interesting to get to know this person. I asked her about what she is interested in, she said mechanical engineering and chemistry. I inevitably asked if she had ever considered learning to code and proceeded to go in depth on about why coding is the best thing to do in our world, that the Da Vinci’s and Michelangelo’s of our time are all coders, that coding is a super power and that it is creative and high paying profession. I expressed my view that we are living through a transformative time, which coders are on the cutting edge of, that coders get to shape the future. That coding is a superpower. We chatted for about an hour. Then I took a ride on a bike back home where I got back to my work.
On Wednesday I had lunch with a founder of an American based coding school called Launch School. We got in touch over twitter and coordinated to have lunch at a 4P pizza restaurant nearby. He was in Vietnam for about a month visiting with his wife who also joined us. It was a good conversation and meeting. When asked about what I was doing, my response was that I am a freelancer and also working on my own startups. When asked about my startups, I answered that the truth was that I didn’t have launched any to production, that I have many that are 90% done. Their response was to encourage me to put distractions away and to focus on shipping. They brought this up several times in the conversation as a kind of joke but also serious point. I shared about my freelance work and software developer journey as being self-taught.
On Thursday I met with a multiple startup founder in the Bitexco tower. This was someone I met at the Dev Morning meetup the previous Sunday. He is from Singapore and made the move to HCMC to pursue founding tech startups. He described himself as a natural business man, that his family had been business owners and that from a young age he had been taught this kind of mindset and skillset. I was very interested in asking him about his experience founding startups, his day to day life and his current stage in his work.
He has a background in finance and banking and did not go into computer science, even though he liked it, because it was seen as a low income skill at the time when he was in college (in the early 2000’s). His major obstacle in his first startup was that he was not able to accurately understand the technical side, his engineers told him that one task would take three weeks, a task which he thought should take no more than three days. This was an incident that showed the recurring problem that was the difficulty in managing the technical development of the startup. The startup had a lot of business potential and many customers from the start. It was a fin tech product for small to medium businesses to handle invoicing. His current startup is about forecasting SME (small and medium-sized enterprises) finance and product needs.
I shared about my experiences with working in the Web3 space as a freelancer. I showed him the Smart Invoice app. His response was that these blockchain apps have too much complexity for an average person to use.
As we were walking out, he asked me where do I see myself in five years. I answered that I see myself as being a creator and founder of a ‘Mark Zuckerberg’ level kind of startup. His response is that sure that is possible, and we both agreed that it is within our abilities to do that, that technology ‘is the great giver’ and that as new technological paradigms appear, this is very likely to happen.
Saigon Life
This week I went to see two films in order to take a step back and change my thinking and observing patterns from my work. First I saw ‘Elemental’ which is a Pixar film. I have been a long time fan of Pixar of course. I have studied Steve Jobs and the origins and history of Pixar through several books: ‘Steve Jobs’ Biography by Walter Isaacson, and ‘Creativity Inc.’ My view was that this is a story about love, a coming of age and coming to terms with their history and place in the diversity of life of a immigrant to America. The main character Ember, is made of fire, and her family are immigrants to this city of diversity from their home land. To me this resonated from my own history of immigrating to Chicago. I think this is a beautiful story, that leaning toward this integration of various ethnicities into an organic whole is the evolution of the world and is the direction this world will go into, despite the very concerning rise in mono ethic surveillance states like China.
The second film I saw was ‘Indiana Jones and the Dial of Destiny’. This brought to mind the wonder of evolution of science and technology from the roots in Ancient Greece. The sense of wonder and adventure that the main character has was contagious. I walked away with this renewed sense of living a great adventure of humanity, that of continuing of building on top of the discoveries and achievements of past civilizations of artists, craftsmen and scientists. I see myself and each individual like one small part, like a neuron, of this large computational process, that is history, that is rapidly evolving and transforming our world. Archeology and themes in this film, re-awakened this sense of this connection of my own life story with the larger civilizational process. It filled me with wonder, excitement and renewed motivation. I believe that even writing this newsletter is very much an exercise that helps me strengthen and rediscover this sense of what it means to be a humanist, a scientist and living in today’s rapidly evolving landscape.
Learning About Ai Tools
This week I have invested time into learning more about Ai tools that are available. I was inspired by a conversation with my friend who is building Ai startups. Another friend from Raid Guild who built a discord bot that is an Ai trained our Raid Guild Handbook data to answer questions from users. This app uses a Pinecone database. First it scrapes and converts the text of the handbook into embeddings. This is a CSV file of vectors, which are number representations of the words, creating a map of meaning that then can be searchable. Then the embeddings are sent to Pinecone to create an Index.
When someone asks a question a query is made into the embeddings for the most relevant text. Three of the results are added into a prompt template as the context and an API request is made to OpenAi.
There is an ability to ask the Ai to remember new facts. New facts are recorded in the vector database if there is no relevant existing data found.
Some of the most interesting discoveries in Ai I have made this week were HyperWrite. This is a chrome extension that can automate any task for you, like answering emails, commenting on LinkedIn posts, reviewing GitHub pull requests, and anything similar. Check out an overview video here.
This is a big step forward. The exciting thing here is imagine how our productivity can be increased if we can carry on conversations with 100s of people simultaneously and respond to them intelligently and share information that we need. Then we can abstract some of the process, and focus on a higher decision making capability, while the data is gathered, analyzed and presented in an automatic way. The most impactful service or product using this I believe would be improving coder productivity.
Learning about LangChain is very interesting. It is a toolbox for working with LLMs. You can automate and abstract a lot of the common tasks like creating prompt templates, vector databases and more. See the list of LangChain integrations here.
Reflections on Working with Raid Guild
I filled out the application to join Raid Guild back in early 2021. I heard about it from a former co-worker who also worked there. I was attracted by being part of a network of experienced Web3 developers. I didn’t hear back from them until around the end of the Summer in 2021. I went through the onboarding cohort in the fall.
At Devcon in Bogota I met some members at the conference. There I met Scott, who is a developer and project manager at RG. I met him briefly at MCon 2 actually before. This time we had more time to talk about current projects and potential for working together. Soon after I joined on a RIP (RaidGuild Improvement Proposal) a set of work that is done on the RG internal projects. This was a project to migrate database and some front end features of the internal Dungeon Master, an app for tracking client projects, consultations and applications.
I attended the weekly meetings that discussed the current ‘Raids’. I was really attracted by how the DAO was a loose organization, a network of developers and operators that gathered to work together. I was attracted to this group because it is an example of a new kind of decentralized, on-chain first organization. All of the proposals and invoices were conducted on chain. This is the only true all on-chain DAO of this type.
It is also attractive because of the network of founders, operators and developers that you meet here. In February of 2023, I got to meet many more of them in person at ETHDenver. Since then I have made connections with a variety of people through this organization. The people I met there are really amazing, they are very smart and have deep connections in the Web3 ecosystem. I am aligned with many of them in my interest in Web3 and DAOs.












