The processes around business travel at large orgs have a lot of room for optimization. Even after employers agree to reimburse expenses, you still have to write a purchase order and get hand signatures from multiple parties. We experienced this while organizing the trip to Waterloo, and quickly started dreaming of the day this would be handled by a smart contract.

What it does

Expensereum is an expense proposal, tracking, and reimbursement application. Users can create a request for funds contract, which is then funded by another party or parties. The user then inputs all their reimbursable expenses into the app. At the end of the trip, the funder can release the exact amount of reimbursable funds from the contract to the user.

How we built it

We built the Dapp using the Truffle suite and Solidity combined with React as a frontend framework. We developed locally using TestRPC and Metamask.

Challenges we ran into

Working with Solidity was much harder than we anticipated. We saw the Invalid Opcode error far more times than we would have liked. Many hours lost to some very perplexing problems around the Truffle workflow. As we are still learning Ethereum development, and the ETH dev environment is still growing, things were a lot more challenging than our day to day jobs.

Accomplishments that we're proud of

As stated above, this was very challenging, but the amount of learning was phenomenal for such a short period of time. Getting a working MVP out the door was a big challenge. We removed a lot of functionality that we had planned to implement because of time constraints and hours of wrestling with the Truffle/Solidity complexities.

What we learned

A lot about deploying contracts. How to use web3. Solidity contract intricacies. How to franticly write code that should never be looked upon.

What's next for Expensereum

We've got a lot of positive feedback. A lot of people have experienced this kind of problem. Our app was intended to do a lot more than it currently does. In particular, expense sharing (like a road trip with friends, or a business trip with colleagues), is the next feature set we need to work towards. We really like the idea of friends funding a contract, tracking expenses, and then splitting the costs evenly by reimbursing those who spent more on the trip.

Built With

Share this project: