Should I Exchange Now
Most currency converters available out there give only the exchange rate between currencies and the converted total. To bridge a gap and cut some extra calculations, I made this simple-to-use tool that also reveals the profit or loss made over time since the original amount was acquired. This helps users know whether it is a good time to convert foreign currency that they already own or intend to acquire, and they can compare with other currencies as well. With suggestions based on exchange rate trends, it becomes easier to choose between exchanging currency right away to make a profit or wait longer for more advantageous rates.
I started this project as a solution to one of my own personal needs and also as a learning platform. When receiving payments in different currencies, I can choose to keep the money in check until the exchange rate to my home currency becomes more profitable. All the tools I found required some degree of fiddling and calculating every time to know how much I can actually gain—I needed something more straightforward without getting into the professional trading rabbit hole.
Front End · Html Sass Js
Back End · Ruby on Rails
How Much Money Did You Make
The first thing that comes to mind when someone wants to convert foreign currency back is usually “How much money did I make since I initially obtained it? Or did I actually lose some?” … The main purpose of this tool is to answer these questions in one step—while most available tools give only the current exchange rate or the simple conversion of an amount, shouldiexchangenow.com takes it further. The contemplated outcome is the value gained (or lost) as a result of conversion since the original amount was obtained.
This profit or loss, accompanied by a maximum and a minimum value attained within the time span, gives a clearer insight into whether it is advantageous to exchange at that particular moment … Is the exchange value peaking or close to, and therefore worth jumping in immediately? Or lower than what it was worth originally? If it is the latter, it might be better to wait until the exchange rate (hopefully) rises back again.
Because dealing with many different currencies can easily become confusing, all resulting values are translated to—and put in the context of—the user’s Home Currency. It is the one that they are most familiar with, usually being the currency used where they live, and this allows for a better comprehension of all the results.
Other required inputs are the Currency & Amount that the user wants to exchange and finally the Origin Date, which is the time when the money was originally acquired or converted. Additionally, other Foreign Currencies can be added as conversions either for comparison or if the Currency to be converted is the same as the Home Currency.
Which Currency Conversions Were More Profitable
Plotting a graph of the Percentage Change in Converted Values over Time rather than the more commonly found graph of Exchange Rates over Time offers a more insightful comparison between currencies.
To demonstrate this, let’s use an example with real historical data by converting US$ 3,000 to both Canadian Dollars and Euros over a period of 6 weeks. With the resulting chart and table below, we can see that it would have been much more profitable to convert to Canadian Dollars than to Euros. The slope of the graph shows how it reached that point, and the track history before the Origin Date gives a better idea of the past trends and possibilities when extrapolating for the future.
The second example, from fxtop.com, is one of the rare websites where I found a comparison of Percentage Change in Exchange Rates over Time. But even after glossing over the questionable interface and usability, it left a lot to be desired—for the most part, it didn’t cater to what I was looking for, i.e. to eliminate extra calculations. Since the results in the table are percentages, I still had to do some additional multiplications to obtain my actual currency gains in relatable numbers.
Keeping Tabs on Currencies, and Sharing
When choosing to wait for better rates in the future, there needs to be a way to come back to that particular currency conversion later on to see its progression, but not have to input the info all over again. In lieu of a full-fledged feature that would involve user accounts and saved preferences (in an uncertain future release perhaps maybe?), I made it so that any particular conversion can be accessed directly via URLs with parameters. Using this, anybody can simply copy the URL from the address bar to save it for later, or share it with other people.
I also made a mini-tool that essentially generates a URL with the chosen parameters. By selecting and changing the options to get the desired conversion, the URL is updated accordingly and can be copied to the clipboard to be shared. Pretty basic but handy for people who may not know how URL parameters can be used. I also avoided shortening the URL so that the parameters are more readable and easier to change on the fly.
How It Was Built
I started this project as a single barebones webpage with only the essential requirements for my own use. Realizing it might be useful to other people in similar situations, I decided it was a good enough premise to build a more usable product aimed at a niche set of users, and serve as a portfolio piece at the same time.
There were so many head-scratching mathematical problems to solve in the process but I eventually managed to write algorithms that give the contextual results I wanted depending on the attributes selected. Historical data is fetched from CurrencyLayer API, where the exchange rates gathered before I started collecting data dynamically have a daily frequency. Most of the data after that is fetched and updated on the website every hour but stored only every 4 hours, giving 6 data points per day for anything before the current last hour, which is more than enough for the purposes of this app.
The website was designed to be used on larger screens at first, but I later adapted it to be responsive and accessible on mobile devices as well. As expected, there were more than a few challenges involved. Ideally, it had to work in a familiar way without using different libraries for the chart and table. I managed to do that by placing them in a horizontally scrollable container while still keeping the focus on the important part of the data when the page loads.
For the typeface, I was originally using Circular by Lineto but finally opted for Inter by Rasmus Andersson. Designed especially for user interfaces, it is a very utilitarian typeface that works well with the data-driven aspect of this tool. A big advantage (other than being free and open source!) is the completeness of the family with all of its OpenType features accessible through CSS. Contextual and case alternates adapt to the text, with for instance mathematical symbols that align better to numbers and capital letters. The numbers can be switched to alternate digits that provide better legibility, such as the 3/8 and 6/9. Tabular numbers are also available, but I opted for readability rather than comparability in this particular case, given that the numbers were large enough to be easily differentiable, and would introduce noticeable gaps when they are set as tabular.
Bonus: Historical Events Told in Currency
- Has the British Pound recovered since UK’s Brexit referendum?
- The US Dollar during Barack Obama’s tenure as US president
- The US Dollar since Donald Trump was elected into the US presidency