Secure myState — Government Services for Citizens #ETHDenver2020

A blockchain toolkit for governments to interface with residents

Katy Jeremko
2C | Two’s Complement


We woke up like ‘dis. Just kidding, this was after we pulled an all-nighter.


A team of our 2C Indies gathered last weekend to design and hack at ETHDenver 2020. We arrived, seeking the latest in blockchain, collaborations, and ideas to build on. We came out of the event with a very practical and ease-of-use experience for citizens to leverage Colorado’s State services — but we didn’t stop there — we think other governments could benefit from this too.

The State of Dapps 2020

The ETH community has continued to blossom, especially since our check-in at ETHBerlin last fall. Third party tools like Fortmatic, 3Box, Pinata, etc. are mature enough for drop-in integration with existing web apps.

We’re continuing to find that mass aDapption cannot be reached without the right user experience — connecting the value of blockchain tech to practical use-cases, in a way that normal users can engage with.

What is Secure myState?

We met representatives of Colorado Governor’s Office of Information Technology, Russell and Thad, and dove into areas that the State of Colorado is exploring. Who better to lead out on blockchain use cases than our government?

The primary challenges covered: secure document signing & uploading, user-to-user & user-to-state messaging, and future integration with Colorado’s digital identity within the myColorado app. We decided to tackle these challenges in one, seamless application ecosystem.

Demo | Figma | Github

So, what is it?

It’s a self-guided, educational user experience.

It’s a place where you can operate as a citizen, or a business entity.

It’s a document upload & verification system.

It’s an occupational license repository.

It’s a user-to-user & user-to-state messaging service.

It’s a one-stop-shop, for the people, by the people.

Instead of proposing new tools, Secure myState combines and implements existing blockchain integrations with a mindset of making government services easily accessible for everyone.

Product strategy

Get my job done

User experience of Dapps today can break down from early stages of use (account creation, & identity verification), all the way to completion flows (signing transactions, authentication, etc). Woah, say what? That’s a lot of blockchain-jargon and I just need to get something simple finished.

We used the jobs-to-be-done framework and built a revised information architecture around what the user needs (not what the cool new hotness technology is doing behind the curtain).

Provide me updates

We used motion and animation at key points within our Prototypes to communicate what the system was working on under the hood.

Tech stack

Our experience this year working with integrations is amazing. Last year, many of these tools were still in their infancy, and it was impressive to see how far everything has come. We could not have built Secure myState in a weekend, without each of these integrations solving a piece of the puzzle so well.

Our Stats

  • 4 people: 2 design and developer duos
  • 23 hours 43 minutes of non-stop hacking
  • 2 hours and 36 minutes of sleep combined
  • 44,032 lines of code (including vendor)
  • 382 stickers collected
  • $128 of Buffidao spent [mostly] on food trucks

Where we see this project going

At the State-Level

  1. Accessible Services. We believe there is an opportunity for people to feel connected to State services by focusing on improvements to it’s digital user experience. This could further improve citizen engagement and create administrative efficiencies.
  2. ID-authenticated transactions. The myColorado app now offers a permissible digital driver’s license, thanks to Jared Polis’s Information Technology team. We could take this one step further: Identity documents (such as ID cards, citizen cards, driving licenses, passports, etc.) could be used to sign transactions or legal documents in conjunction with State verifications.

At the National Level

  1. Sharing Data between States. Just like people can interoperate between States, their data should be interoperable between municipalities and government institutions.
  2. Leading out. Does it make sense for private, for-profit companies to codify the ways that blockchain and data-encryption work?… Wouldn’t it be better for the government to set high-level frameworks and provide examples of meaningful impact?

Bounties we won

🏆 State of Colorado Use Cases

Learning about the vision and needs of their department was inspiring, and we had a blast working on this project. Thank you Russell, Thad, and everyone else involved for posting this bounty and bringing innovation to Colorado in general. 2C is proud to be headquartered in Boulder!

🏆 Best Project With Fortmatic Integration

Fortmatic enables users access to Ethereum apps from anywhere. No browser extensions or seed phrases needed. This was perfect for our use case, because we wanted to create a user experience that anyone could use.

What we love about Fortmatic:

  1. Sign-up — Account creation feels like a normal app, but is still backed by secure flows that allow integration into any dapp.
  2. Signing Transactions — Users can easily sign messages that verify their ownership of data.
  3. Whitelabeling — Integrating Fortmatic was simple, and their recently announced whitelabeling is be perfect for Secure myState, should it be offered to various states or government bodies.

🏆 Best Overall 3Box Integration

3Box makes it simple to store data securely with users, letting you focus on building great products. 3Box served as our primary user profile, application database, and messaging provider. We first met the 3Box team while helping organize ETHBerlin 2019, and have been excited to catch up on their latest features.

What we love about 3Box:

  1. Auth. Linking Fortmatic auth to a 3Box profile is seamless, as they support many web3 providers “out of the box” 😅
  2. React Componentry. The 3Box React components allow us to quickly and easily show users their profile in-app
  3. Spaces functionality. Spaces allow us to track a list of documents users upload to IPFS
  4. Threads functionality. The *new* threads feature provided an excellent set of messaging functionality for chat and state message broadcasting.

🏆 Best Use of a Project from

The IPFS community has been close to our hearts for many years now. We leveraged IPFS back in 2015 to prototype a local design file sharing app, and have been tracking along with the community ever since. We built IPFS Stash at ETHDenver 2019, where we met and received guidance from the super-amazing Pinata and Textile folks.

What we love about IPFS:

  1. Storage. We’re looking forward to a production level marketplace with Filecoin
  2. Ecosystem partnerships. We’d love to integrate Textile into a future project, as well as a handful of other projects in the group!

Thanks again for posting this bounty, and thanks to Protocol Labs for reflecting your commitment to this community.

🏆 Simplify Your Immutable Data with the Pinata API and Toolkit

Kyle and Matt at Pinata are some of the kindest, most intelligent folks we’ve met in the blockchain community.

What we love about Pinata:

  1. Passion. Their passion for supporting the core ecosystem is huge, and it shows in their work.
  2. Ease-of-Use. Pinata made it super easy to post various file types to IPFS, and it will auto-pin up to 1GB for free (at the time of writing this article).
  3. Marketplace Support. Especially with the current lack of IPFS marketplace support, Pinata was an integral part of us getting things going this weekend.

Thanks again, Pinata, for continuing to show-up and share your wisdom.

Other Bounties We Aimed For:

The UX Awards! (Pepo)

Our team really enjoyed using Pepo over the weekend, and were inspired to see a quality user experience built completely on web3 tech. Keep up the great work Pepo!

What we love about Pepo:

  1. Cool-factor. Pepo is leading the way here, so we tried to put our best foot forward on user experience design with Secure myState.
  2. Demonstration of a Use-Case. If you think Pepo is cool, try building something with OST. We are in early stages of implementing OST into an internal product at Two’s Complement, and can’t wait to see how things continue to progress.

Best Use of 3Box Storage

We used 3Box Storage for our application state. Documents are uploaded to IPFS, then signed by users. This signed IPFS record is then validated then signed by the state, and published to the blockchain for chronological record permanence.

Best use of a 3Box plugin

We leveraged the prebuilt Profile React plugin from 3Box. This saved us many hours of work during the hackathon, and it had additional customizations we didn’t get the time to checkout. Nice work 3Box!

Most Social Application (3Box)

Since our application allowed the state office to message every citizen using broadcast notifications with the 3Box threads API, we figured this counts as social. Threads are fairly new, and added a ton of great messaging functionality “out of the box”.

Thanks everyone for another great year. We’ll look forward to the next!