My first encounter with coding was in high school. I studied for International Olympiad in Informatics (a.k.a Computer Olympiad). We solved problems using C++. Although I enjoyed figuring out the algorithm, I didn't like writing the solution in code. We weren't allowed to use almost any library, there was no auto-complete, syntax highlighting was bad, and I had no idea those were even things that exist. In the second year of high school I decided to switch fields, and pursue a Business undergrad degree in university.
In my second year of university, my brother told me about Bitcoin. We started researching various cryptocurrencies. This was just before the 2017 bull run. We bought a bunch of crypto that ended up going up and up. In 2018 I joined a little meme-coin project called Banano. I started doing design work for them and eventually joined the team.
During all that, I started getting frustrated with existing ways of tracking crypto assets. They weren't customizable enough, they were clumsy and ugly.
I decided to build a dashboard for tracking crypto-related things myself. At this point, I had no idea about HTML, CSS or JavaScript. I had a pretty good idea about algorithms, but the only language I knew at the time was C++ and I've already forgotten most of the syntax after a very long break. I also wanted to build a new website for Banano. So, I started learning about HTML, CSS and JavaScript. At this point a team member from Banano and I were building various things for Banano, one of which was a crypto wallet built with Flutter. I was doing the UI/UX work, and he was doing the coding. Alongside watching a crazy amount of YouTube videos about JavaScript, I was also constantly asking questions about web and coding to him, and other Banano team members.
I started learning Vue and built a couple of small projects with it. At the end of 2019 when I was checking frontend frameworks, I came by Svelte 3. Compared to React and Vue, its reactivity model made perfect sense to me since I thought needing to do "setState" for changing a value displayed in the UI is quite weird (I first saw this in Flutter and Dart, not React funnily enough). To someone with barely any knowledge about frontend this made much more sense:
let counter = 2;
counter = counter + 1;
Than this:
const [counter, setCounter] = useState(2);
setCounter(c => c + 1);
So, I started experimenting with Svelte to build the dashboard. After a couple of months, I had a horribly-written dashboard that displays information I wouldn't be able to pull together in any other financial dashboard that I knew of.
I've added quite a bit of stuff to the dashboard over the years. Here are some of them from 2021 which happens to be the second bull run I experienced:
The dashboard did what I wanted it to do but it was pulling data from 20+ third party APIs and the horrible code I've initially written wasn't helping.
I've wanted to rewrite it for years at this point but never got to it. 2 months ago I decided to start. This time I wanted to make it much more general and fault-tolerant.
Although I enjoyed Svelte very much and haven't used any other frontend frameworks for years for serious projects, I didn't have the best experience when it comes to finding libraries. I also didn't like its composability. I much prefer React's hooks and its functional components. After building Stablecog (an AI image generator) with Svelte, I decided to try React in the next large project. After about 20 days, I've built most of the "cards" I had in my previous dashboard. I open-sourced the project from the get go this time around since it didn't have a bunch of random hard-coded sensitive information.
After quite a bit of back and forth with ChatGPT and Claude searching for names, I came by the word "augend" (English isn't my native language as you've probably realized by now):
augend: the number to which another is added.
Considering it is very closely related to a number changing and most of what this dashboard does is tracking changing numbers, the name made sense to me.
Instead of a strict layout, Augend has different "cards" you can add. Each of these cards display information about a specific financial asset, or a combination of different financial information.
It's doesn't have a "worth" or "assets you own" focus. You can track your assets if you want to, but it's not its point. Instead, you decide what you want to track and how it should be displayed to you.
Although the cards it currently has are all crypto related, I will be adding stock related cards as well (those APIs are quite expensive, Augend needs to make some money first).
Here are some of the cards you can add:
You can also create different dashboards for tracking different things:
So far, I've built the cards I need, not what other people might need since I don't have a very good idea of what people need in such a dashboard. If you want to get involved with the project, join the Discord and let me know which cards should I build next:
Or better, you can help build new cards if you like. Here is the GitHub repo:
Augend is open-source with an MIT license. Everything I do going forward in relation to Augend will be open-source as well. However, the main version is the one I host at augend.app. If you don't want to host it yourself (which probably will be the case for most people), you can use the hosted version. It's free up to a threshold, after which it requires a subscription. The APIs Augend uses and will use in the future are quite expensive monthly subscriptions, and someone needs to pay for them :).
That's all for now, I hope you enjoy Augend and join the process of building it.