Inspiration

We wanted a tool that could track how productive a user was while still being visually appealing. We also wanted something that the user would have a reason to open every day for it to actually make a difference, and we thought the Frutiger Aero aesthetic could be eye-catching enough to do this. Making it unique for each user also makes it more engaging; it is only able to provide use if the user opens it every day.

What it does

Eden tracks whatever the user is doing and fits it into one of three categories, those being productivity, leisure, and idle. It uses event driven updates and as time passes in a certain category you accumulate points, once certain thresholds are met, it adds new pieces to the grid. This can either be new buildings, new people, or new fauna. The city is procedurally generated so no two should be the same and it resets at the start of each day to keep track of how productive you were.

How we built it

We built Eden.exe with Electron, React, and TypeScript, using Vite to develop and package the interface as a desktop app. Three.js and React Three Fiber render a procedural terrarium, while Zustand manages its world, activity-driven growth, and local saves. Electron monitors foreground apps and idle time, with an optional browser extension adding tab and video signals so the world can respond to computer activity.

Challenges we ran into

Ran into challenges in the initial setup portion of the project, making sure that everyone was starting with the same environment and making sure the initial electron shell ran took quite awhile. Further into the project we ran into issues getting it to work on both mac and windows due to the differences in how some of the electron packages we used detect user input as well as some json serialization conflicts.

Accomplishments that we're proud of

We built a cross-platform desktop terrarium that turns everyday computer activity into a persistent, growing 3D world. We’re proud of combining procedural visuals, local saves, and privacy-minded activity tracking into one experience.

What we learned

We learned how to connect a React and Three.js simulation to Electron’s desktop features, and how to keep activity tracking local while bridging browser data through an optional extension. We also learned that cross-platform behavior, performance, and clear documentation take careful coordination across many parts of an app.

What's next for Eden.exe

Next for Eden, we want to continue to expand on the variety of things we have growing in the city, as well as improving the overall quality of the models within. We also want to make it more customizable for each user, giving them options for what they want to include in their frutiger aero utopia.

Built With

Share this project:

Updates

Submission history