Valhalla Ecosystem

Valhalla is a blockchain ecosystem intended to run decentralized applications that require extremely fast transaction settlement, variegated incentive structures for nodes, a solution to the pay-per-transaction problem, and no chain bottlenecks caused by high-profile smart contracts. Valhalla, written in NodeJS, is lightweight and can be compiled to work on any system. It allows for application developers to decide on their own business models, which free them from the constraint of Ethereum-like ecosystems that require users to pay for every single transaction. Valhalla uses a novel consensus algorithm that builds on the established system of round-robin mining. Nodes take turns to mine blocks, but are penalized by the network for responding late or submitting faulty blocks. Furthermore, Valhalla allows for a network of relay servers to broadcast payloads, which protects smaller nodes from Denial of Service attacks while allowing them to be easily discoverable by the network, leading to increased diversification of nodes. Two applications are planned to launch on Valhalla in Q4 of 2018.

Blockchain-Based Live AI Soccer Betting is an Artificial Intelligence (AI) algorithm that, under supervision, learns to predict upcoming events in live soccer matches. Since comparison to random guessing is not a thrilling metric of success, these AI predictions are tested against the live predictions of a human. The human wagers a chosen amount of money on the upcoming event that is deemed incorrectly predicted by the AI. Effectively, the human is betting money against the AI on which team, if any, will trigger the next occurrence of a specified event in an ongoing soccer match. Events of interest in the match include goals scored, corners, fouls, penalties, red cards, etc. The betting takes place live, meaning that at a given minute, x, of the match, the human will bet against the AI on which team will score the next goal, get the next corner, commit the next foul, etc. Once a wagered event occurs in the match, the winning party will receive back their amount betted and reap the losing party’s amount betted. Due to the corruptive nature of opacity in live-betting, especially that against AI, all wagers and payouts take place on a blockchain. The blockchain, transparent in nature, warrants a cryptographically provable fair execution of wagers and payouts, and provides an immutable ledger of all transactions. Thus, the human is confident in fair conduct of the AI algorithm without necessarily trusting the third party that facilitates its testing. The classifier employs Linear Regression Analysis with which the AI was trained on 1800 soccer matches. Future, more broad, implementations of this project are planned. The betting platform is written in PHP and platform-blockchain communication is written in Python. The blockchain is an adaptation of the Bitcoin protocol and can be inspected live here. Access to the betting platform will be granted upon request.


BlockchainMail is a fully decentralized blockchain-based mail client that frees users from the shackles of data-laundering mailservers like Gmail and Hotmail. All email correspondence is encrypted on a blockchain ledger and is therefore cryptographically immutable while not requiring a third-party such as Microsoft or Google. Thus, users are fully confident that their emails will not be tampered with and, simultaneously, are fully confident that no tech company can read and sell their email data. People can now regain ownership over their emails. All users participate in consensus-based mining of the blockchain protocol, which seemlessly secures the permanence and decentralization of the blockchain. The blockchain is an adaptation of the Bitcoin protocol and the client is coded in Python.


Fameshow is a live game show where contestants win cash prizes for their streamed content. Here is how it works: The show starts at a specific time (say 8pm). Users receive notifications to enter the app. One contenstant is randomly selected from the audience to stream live from their camera, but they only get 20 seconds. During this time, the audience can give the streamer upvotes. If the streamer receives a certain number of upvotes, they get an additional 20 seconds. And so it goes, until the streamer doesn't receive enough upvotes, the stream closes, and a new contestant is randomly selected from the audience. The longer a streamer is on, the more money they make ($10/minute). Users can choose to opt out of the lottery and passively watch the show. The mobile app was built in Swift, the streaming technology utilized RTMP, and backend logic was written in NodeJS. Watch the intro video, played at the start of every show, here. Worked on this with my good friend @mschrage.

The Harvard International Review

The Harvard International Review is the largest collegiate academic journal reporting on international affairs in the world. Built from scratch, the website is part of the journal's revamped online presence. Sporting a minimalistic design, it provides a modern look for all its content. The website receives tens of thousands of views every month. It also consists of a staff portal, where staff members can upload, edit, delete existing articles and alter which articles are shown where on the website. It is written in PHP, JavaScript, SQL, HTML and CSS.

A platform for people to gather anonymous feedback about themselves. This can be very valuable within companies or just for casual purposes. Users even have the ability to ask questions to which people will respond anonymously. Each users gets their own subdomain on the website which they can then share with their friends or online to receive feedback. Intended for a Swedish audience. The website is written in PHP, HTML, CSS, and SQL.

AC Frag-Log

AC Frag-Log, launched in 2011 and closed in 2016, was a scoreboard for players playing the opensource FPS game called AssaultCube. It had an immense impact on the game's competitive landscape. By 2016, it consisted of over 35000 players from 146 countries, who played a total of just over 8 years of gameplay. On the back-end, PERL scripts were created to parse game-server logfiles. The outputted data was then compiled and processed with PHP. The rest was coded in SQL, JavaScript, CSS, and HTML.

Harvard Student Organization Q-Guide

For long, courses at Harvard have been rated on their quality by students who took them, on a platform known as the Q-guide. The Harvard Student Organization Q-Guide is a similar concept, applied to student organizations, to help students, especially incoming freshman, navigate their way through Harvard's plethora of student organizations. Existing students review organizations anonymously and anyone can view these reviews. Less than a month after launch, the guide has received 1,000 reviews of student organizations. It is written in PHP, JavaScript, SQL, HTML and CSS.


BytMatch is an online system used by Swedish soccer referees to exchange matches, a solution to the cumbersome, manual alternative. Written in PHP, it crawls several servers where match information is scattered and compiles it into one database. A user-intuitive interface then allows referees to apply for and upload matches. It also includes functions for referee coaches to accept/decline match changes, with automatic, user-controlled email notifications. Other languages employed include HTML, CSS, SQL, and jQuery.


TennisLoggen is a user-friendly database of Swedish youth tennis results, an amalgamation of unordered tennis statistics. It allows parents, coaches, and the players themselves to track results, opponents, attended tournaments, future and past tournaments, and club-organized activites. It makes extensive use of jQuery to deliver the interactive user-experience. A lot of back-end PHP scripts crawl numerous online servers for up-to-date results. Other languages used include SQL, HTML and CSS.

Hvitfeldtska Debate Society

A website designed for debaters at Hvitfeldtska Gymnasiet, my high school in Gothenburg, Sweden. It harbours a comprehesive motion-picker, which allows debaters to filter hundreds of motions through different categories and allows them to select a random motion for impromptu rounds. The motion-picker is integrated with the League-system, a PHP bot-operated system which allows individual debaters to track their results, strengths, and weaknesses in automatically generated, graphical statistics. It was coded in PHP, SQL, HTML, CSS and JavaScript.