SkyDB Debut Hackathon Ideas
7
1

As we kick off our first SkyDB hackathon, I wanted to provide an extended list of ideas for things that can be done using SkyDB. All of these are intended to be simple enough that the idea can be completed and made production-ready within the scope of 2 weekends or less, using the current SDK and infrastructure available on Skynet now.
I want to quickly remind everyone that we award prizes — especially the grand prize — based on how much value a project adds to the Skynet ecosystem.
We do not consider at all how much effort a project required, nor do we consider how much skill the programmers demonstrated. We are absolutely happy to award the grand prize to a project that took 10 minutes to code up if the idea and resulting project are truly powerful.
This time around we are also featuring a set of design prizes.
Teams that pair up with a designer or upgrade existing Skynet applications to have significantly improved design and UX will qualify for a special prize that exclusively focuses on design and UX.
Skynet Dropbox
SkyDB enables you to store data on Skynet which is always accessible to users. One example of data you could store would be a large json file that enumerates all of the files that a user has in a Skynet version of DropBox. When a user adds or deletes a file, this list gets updated, and the user’s file view is updated.
The SkyDB elements of this project are very simple, even entry-level developers should be able to get the infrastructure elements of this project completed without issue. The main challenge in creating a Skynet Dropbox will be the user experience, creating a friendly and aesthetic UI that allows users to upload files, download files, see the list of their files, and create subfolders.
Once the basic layer of Skynet Dropbox is completed, encryption and folder sharing can be added. Ideally, all user content is encrypted client-side before being uploaded and is only accessible to the user. Each folder should use a separate encryption key so that the user can share folders freely with friends and only need to give their friends the key for that folder. Encryption can be more challenging, and we highly encourage anyone attempting encryption to join our discord to ask for help and code review.
Skynet Password Manager
Create a password manager in Skynet that stores all of your passwords for your applications, centralized and decentralized alike. Store an encrypted json file in SkyDB that has a list of all of the user’s secrets, and gets updated any time that a user adds or removes a password from their manager.
We recommend that more experienced devs tackle this challenge, not because the application itself is difficult to build but rather because of the security ramifications. A single subtle mistake while building the application can completely expose users and all of their credentials.
We have solutions coming out in the very short term for managing passwords/authentication on Skynet, however, those solutions are not useful to users that still depend on centralized applications. A strong Skynet password manager can help bridge the gap while the decentralized world is catching up to the centralized world.
Skynet RPG
Now that we have SkyDB, it’s possible to create save files for video games on Skynet. A user can log in, play the game, and then save their progress so that they can continue some other time on some other computer.
This opens the door to much more powerful gaming than previous Skynet based video games, especially in the RPG genre. Similar to Skynet Dropbox, we expect the Skynet portion of this type of submission to be very simple.
If you want to step it up a notch, you can add a social element. SkyDB public keys can be shared with friends, and then those friends can see your save files (but not modify them). You can use this feature to allow friends to see each other’s progress, challenge each other to battles, or engage in other social gaming activities.
Skynet Music
Make a music player for Skynet. Allow users to upload their music libraries, organize by artist and album, and then create playlists. All of their information gets stored in SkyDB, and the music itself is pinned to Skynet. Bonus points for supporting pure flac music!
Ideally, playlists can be streamed from any device and be allowed to play in the background, and playlists can also be shared with friends. Encryption here is completely optional, but having encryption in more places never hurts!
Skynet Blogging
Previous hackathons featured blogging platforms (namely Wakio and SkyBlog Builder) that allowed users to deploy blog posts and update them using a centralized Namebase API. Now that we have SkyDB, it’s possible to have a full Skynet blogging platform where new posts can be submitted in a fully decentralized way.
All of our hackathons have an open source requirement. Any submission must also fully open source their code for other builders to build upon in the future. This means that the blog platforms from previous hackathons are available for anyone to extend, adding SkyDB functionality.
We also encourage the authors of our previous blogging submissions to go ahead and upgrade it themselves. As long as there are substantial upgrades to the project from previous hackathons, we are happy to consider your project again for large prizes.
An easy way to go the extra mile is to build a feed for users, and allow them to subscribe to multiple blog posts.
Skynet Microblogging
Similar to blogging, but with a character limit, and much more heavily focused on finding friends, following them, and then re-blogging interesting things that they say.
This app will likely need to be created by a more experienced developer, as the naive implementation is probably not going to run fast enough to provide users with a good experience. An experienced developer will be able to optimize a lot of the SkyDB operations and should be able to get reasonably large feeds running with sufficient performance for users to be happy.
Skynet Livestreaming
The grand prize winner from one of our first major hackathons was SkyLive, a live-streaming platform that combined Skynet with a centralized updating service to get live-streaming. Now that SkyDB exists, SkyLive could be built as a fully decentralized application.
This is another use case that we would probably recommend an experienced developer tackle because there is a large amount of data and significant latency constraints. An inexperienced dev who spends a lot of time over the next two weeks asking for help and improving their performance optimization skills may also be able to build something that has an excellent user experience.
Skynet Comment Box
This idea is not an application in and of itself, but rather is a library that other applications can import and use. The basic idea is to create a comment box that allows anyone to write comments on a webpage. Blogs may import this, live-streams may import this, music playlists may import this.
Bonus points for adding moderation controls that can be used by the creator of the page. Ideally, comments can be deleted by the page owner. Also ideally, comments require a little bit of proof-of-work to be completed before being counted as valid comments by the page, as this should help to fight spam.
Libraries such as this are best developed either by a group or by someone who is intending to remain a part of the Skynet community for a long time because as Skynet improves, core libraries such as commenting libraries are going to benefit significantly from new APIs and new ideas around things such as content moderation.
Skynet Private Chat
Similar to the comment box, private chat is intended to be a library more than a standalone application. Unlike the comment box, however, the user has the ability to see the same chat history no matter what application they are using, so long as that application has imported Skynet Private Chat.
Ideally, the chat is encrypted and private, so that only the two people inside of the conversation are able to read the messages. This may be outside the scope of what can be accomplished in the hackathon, but it may be possible to fully follow the Signal protocol on SkyDB, which would create a very secure chat experience for users.
Skynet is unique on the web in its ability to transmute data between applications. A Skynet chat library is a great place to showcase that when many apps share the same data, everyone benefits.
Skynet Friendbook
This is another idea that would exist more in a supporting role rather than a primary application itself. A Skynet friendbook would be an app that allows users to find and follow their friends and allows friends to follow you back, building up a social network.
This social network can be used by other applications to connect friends that have an interest in the same app. For example, a Skynet micro-blogging application can look at your social network and auto-follow all of your friends on the micro-blogging platform, with no extra work needed from the user.
And Many More
This post has barely scratched the surface of what is possible with Skynet now that we have SkyDB.
You could also build things like a Skynet version of chess.com, or a Skynet version of Reddit, or a Skynet version of Instagram. Or YouTube, Wikipedia, note-taking apps, or pretty much any major Web2 application today.
The purpose of this post is not to be a comprehensive list, but rather to get the ideas flowing for people who aren’t yet familiar with Skynet and its capabilities. If you have more ideas that you would like to share with the community, come join us on Discord at https://discord.gg/sia
Register for the Hackathon today to win more than $10,000 in prizes: https://gitcoin.co/hackathon/skydb/onboard
SkyDB Debut Hackathon Ideas was originally published in Sia Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
7
1
Securely connect the portfolio you’re using to start.




