Stats

2
Projects
10
Devlogs
20
Votes
1
Ships

Coding Time

All Time: 21h 48m
Today: 0h 0m

Member Since

June 19, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

2
Unravel
1 devlog 15 days ago
Local SysPilot
9 devlogs about 2 months ago

Activity

I've made a discord bot for testing commands and permissions in javascript since im not used to making a bot from this language. I also made the SQLite3 tables to save the stats of players and current games going on. For now it's time to implement the logic of the commands.

Update attachment
Emir David Bruges Belaides
Emir David Bruges Belaides created a project
14d ago

Unravel

# Objective Guess your opponent's secret 4-digit number with unique digits. # Setup - Each player chooses a secret 4-digit number - No repeated digits allowed # Gameplay - Players take turns guessing - After each guess, you get feedback: - Fame = correct digit in correct position - Dot = correct digit in wrong position # Example Secret: 0348 Guess: 0123 Feedback: 1 Fame (0), 1 Dot (3) # Winning First to guess the number correctly (4 Fames) wins!

Unravel
1 devlog 0 followers

Added dashboard to demo website.

Update attachment

Dev-log 007 (English)

Progress

  • I generated the demo page in order to deliver the project for my failed attempt. ### Ideas The website gave me some ideas that I plan to implement for more advanced users. For example:
  • Implementing your own modules and commands for cli management, for example a command to change the DISPLAY size from 1920x1080 to 1280x960. But this depends on whether you are using X11 or Hyprland. So it depends on the user and his understanding of the environment he is using, to implement these things, plus it needs to be through cli commands.

Dev-log 007 FINAL

This is the end of the project. I wasn't able to ship the connection with C++ and the Windows API. So i might continue with the linux part of the project wich has a formidable job ammount. I loved participating in this project. Thanks for reading.

Update attachment

Dev-log 006 (English)

Progress

  • Fixed the whole permissions system (idea explained in previous devlog).
  • Added a notification system to avoid using the alert for everything. Now the alerts are for confirming power actions, reset commands to default state and logout.
  • I added the missing buttons (mentioned in the previous devlog).
  • Each command has a different message instead of the default one. ### Ideas
  • Start doing the windows part.
  • Improve UI. The ideas I will realize them in this same order.

Dev-log 005 (English)

Notes

Linux is a kernel, the systems that users have are so different that there is no assurance that my app is completely userfriendly. To be able to use all its functionalities in Linux you would need to be very lucky and/or have a minimum knowledge of the commands needed for the actions inside your system.

Progress

  • I have finished all the necessary part in linux (modifying commands, making the commands functional through the api).
  • I have made an installer script of the app to make it a service inside linux with systemd, modifying the visudo to be able to do actions that require root permissions, like shutting down the computer and restarting it.
  • I made the volume synchronize along with the system statistics (running a check every 5 seconds and updating the values on the page).
  • Fixed a token issue where when modifying your own user, the token you had is the one with the previous permissions, so you could have continued doing the actions you denied or not being able to do the actions you allowed if you didn't log out first.
  • I modified the separation between the save all commands button and the reset all commands to default button so that they are symmetrical. ### Ideas
  • The token system should also be checked with the database on each request, if in any request the permissions have changed, first revoke and update the inconsistent token and then deny the request (in case any permissions have been removed).
  • I missed to add the Next and Back buttons in the media control.
  • Another button to add could be the mute button, so if the system is muted disable the volume control.
  • I don't have it very clear and I'm not completely convinced but: allow the user to add his own sections inside the dashboard along with his own controls, commands and things like that (I see it very complicated).
  • After finishing the 3 main ideas of this dev-log start implementing the windows functionality.

Dev-log 004 (English)

Progress

  • I have made that depending on the user permissions the UI of the platform changes. I have also added a new permission which is to manage users, where the user who has this permission can add users, modify permissions of an existing user or delete a user. ### Ideas There are no new ideas. Now I will develop the logic of the actions in the backend (linux part).

Dev-log 003 (English)

Progress

  • I modified the backend to not have the passwords hardcoded there but loaded through the .env or settings.ini file. (this should've been the Dev-log 003 but never posted it, so now i changed part of this, now i just load this in the enviroment file:
    ini
    SECRET_KEY=
    DEFAULT_USERNAME=
    DEFAULT_PASSWORD=
    DATABASE_FILENAME=

    )

  • I modified the backend to not have hardcoded passwords, now it uses a .db file that is handled through the sqlite3 module, besides now having the hashing system with salting integrated to not save the passwords in plain text.

  • I implemented the user type I had in mind with the permissions, although the permissions still have no functionality.

  • I integrated all the frontend part with the API in Flask. I may use Flask for the login part and as a connector to my specific use of the Windows API through C++. For the linux part.

  • I realized that on mobile the web page was almost useless and fixed it with some css.

  • I added a cookie system instead of saving locally the token that allows you to see the dashboard and fixed bugs like seeing the dashboard (even for a microsecond) without being logged in, being able to see files that you should only see if you are logged in and pretty much everything that has to do with permissions is at least 90% fixed (still need to check if there are bugs).

    Ideas

We continue with the ideas from the previous devlog about file loading depending on the type of user and the ability to modify commands in linux.

I will talk in depth about what I have in mind for cross-platform:

I have mainly 2 ideas:

  1. Make 2 bridge modules in python that you import 1 or another depending on the operating system that the server is using and that the modules have the same function names, so no matter which one is imported, you only have to write 1 time the code (of course with some changes, for example, the option to modify commands will only be for linux).

  2. Make 2 different codes.

Something tells me that I will end up doing the first one.

Dev-log 002 (English)

Progress

I've modified the UI (styles.css) to have the Rose Piné theme and ended up using Flask to make a simple backend for login and a little intro to frontend data delivery.

Ideas

  1. Modify the backend so it doesn't use hardcoded variables and get the values from a .env file or a settings.ini file.
  2. Make the dashboard load from the backend without needing to be a file written inside the folder and depending on what permissions the user has to run. Example: if I do not have a token / cookie that allows me to enter, right now what happens is that it loads for half a second the page and then redirects me to the login, I want it not to load the page but to load the login and if it could not enter a warning about why it could not enter and try again.
  3. To make a database of users that can enter to a machine and that each one has its own permissions. that in a C++ structure would look like this: ```cpp typedef bool Permissions[7];

struct User
{
string name;
string password_hash;
Permissions permissions;
}
````

Permissions thought:

  • Shutdown
  • Restart
  • Lock
  • Play/Pause
  • Volume
  • System Metrics
  • Modify commands (Linux only)
  1. Speaking of modifying commands, I would like that in linux environments the administrator user can choose which commands to use for each action, especially since linux is so customizable that it is basically impossible to know which packages are being used by users to control volume, and other things.

Started the project with the frontend with a bit of basic functionallity to make sure the logic is all good, and found some problems:
1. If you're going to control multiple devices you would need to know the IP of each one of them. I will keep in mind the option of making a server that redirects to the device you want to control. Also since this is a cross-platform project, it would be great to have both OS (in case of a dual boot or something similar) in the same place.
2. The UI is not consistent. The solution i had for this is to choose a palette that i can use for everything UI related, in this case i think i will be using Rose Pine
3. Implemented a simple API trough FastAPI (python) for the linux part to be more convenient, but faced some problems; In fact, so many that im not counting this as added for now.

Emir David Bruges Belaides
Emir David Bruges Belaides created a project
55d ago

Local SysPilot

📄 Project Description Local SysPilot is a cross-platform, local-network-based system control dashboard. Its core goal is to allow users to remotely manage their own computers (Linux) within a local network or VPN—not through the public internet. Through a secure web interface, you can perform actions like shutting down, locking, or controlling media playback on your device from another trusted device on the same network. The backend is built for each platform: 🐧 On Linux, it uses Python and Flask for easy scripting and control. 🔧 Core Features Secure login with a lightweight web-based control panel System actions: shutdown, lock, sleep, media control Runs locally or over VPN, not exposed to the public web Modular backend for easy extension (e.g., custom commands) Future support for viewing basic system metrics (CPU/RAM, uptime)

Local SysPilot
9 devlogs 1 follower Shipped
Emir David Bruges Belaides
Emir David Bruges Belaides joined Summer of Making
55d ago

This was widely regarded as a great move by everyone.