Inspiration

STARBY was inspired by the celestial wonders that dance across the sky. If one were to fall down and interact with us, how would they act? STARBY answers that! A cosmic being made of pure stardust and light can now watch you as you browse r/UBReddit and ignore your constantly piling inbox.

What it does

STARBY is a desktop companion that adds unearthly hijinks to your daily computer use. With STARBY on your computer you can:

  • toss, drag, and slingshot them around
  • effect their moods through different interactions
  • have astral conversations with them
  • see them react to your apps, games, and habits
  • watch them dance to your music
  • play cosmic minigames with them
  • collect starbits
  • set them to focus mode
  • buy accessories and cosmetics for them
  • secret surprise events
  • and more!

How we built it

STARBY is an Electron 45 app written in plain JavaScript. The main process opens one frameless, transparent, always-on-top window that covers the whole screen. That window ignores mouse clicks except where STARBY is drawn and communicates with the rest of the app through a preloaded bridge. Read-only system information comes from Electron's clipboard and powerMonitor, the browser's Battery Status API, and the get-windows Node package for the active app. Saved data (starbits, purchases, settings) is a small JSON file in the app's own folder. There is a tick system we created that determines the random events like starshowers, play events, or even hide and seek!

Challenges

No one on our team has ever worked on an executable before. Designing STARBY as an application that can read system logs and behavior without opening any security flaws was quite a challenge. Another issue was creating the frameless window we use to have STARBY wonder around your screen, specifically for it to only capture mouse events on STARBY. There was one point in our journey where STARBY was an evil virus, keeping our mouse hostage until he was forcibly quit. RIP evil STARBY.

Accomplishments that we're proud of

We are most proud of STARBY themself. When the Hackathon began, before writing any code, our team spent hours designing STARBY: drawing mockups, deciding their personality, the gameplay loops, and how they should move, what customization there should be, writing design documents, all during the Hackathon. Our team believed that a little wonder like STARBY deserved to be brought to life by a human artist to ensure their personality shines. The most expressive parts of STARBY (faces and body poses) was commissioned, delivered, and implemented all during the Hackathon.

What we learned

We learned that a creative project like this lives or dies by an early and thorough design phase. Settling the look of STARBY, personality and rules up front gave the team a shared vision. From our team's scrumboard to communicating with the artist, the design phase saved us so much time and effort. Each team member owned their own part of the code, and the features communicated through a few shared pieces instead of through each others files. This let the four of us work in relative peace and tranquility, just how STARBY wanted.

What's next for STARBY?

STARBY hopes to live in between your browser tabs and among your desktop. He hopes you will let them stay.

Privacy

STARBY runs entirely on your computer and has no internet access. He can only read little system state to react to what you are doing (clipboard, which app you are in, battery, date, if you are in a call, etc.) Anything personal, like window titles or song names, are reduced to a non-specific category on your machine and immediately discarded. It is never saved or sent anywhere. STARBY writes nothing outside his own data folder, needs no admin rights or root access, and never changes you system or other apps.

Built With

Share this project:

Updates

Submission history