Please sign in to access this page

Stats

8
Projects
34
Devlogs
95
Votes
7
Ships

Coding Time

All Time: 226h 58m
Today: 0h 2m

Member Since

June 16, 2025

Badges

2
🚢
Maiden Voyage
you shipped your first project! the journey begins...
Ballot Stuffer
vote 100 times.

Projects

8
Mysticord

Mysticord

Shipped
1 devlog 7 months ago
EasyHASS

EasyHASS

Shipped
1 devlog 8 months ago
🚀
1 devlog 8 months ago
HackClub Mail
4 devlogs 8 months ago
CTF Helper

CTF Helper

Shipped
3 devlogs 8 months ago
Portfolio

Portfolio

Shipped
5 devlogs 8 months ago
Queer

Queer

Shipped
6 devlogs 8 months ago
Edos

Edos

Shipped
13 devlogs 9 months ago

Activity

Emilien
Emilien worked on Mysticord
13h 17m 7 months ago

I've implemented all the bot's features:
- Subscribe and unsubscribe from a list to get found by people
- Stop a discussion whenever you like
- Be able to change your username: by default “Anonymous”, you can change it with the command /username <username>. So you can use a fun nickname or reference :3
- Level system : The more you talk, the more levels you have, the more features you can use.
- Sending attachments (Only available from level 3 upwards)
- Native voice message integration (Only available from level 5 upwards)

Update attachment
Emilien
Emilien created a project
202d ago

Mysticord

A simple Discord bot that lets you meet random people on Discord anonymously.

Mysticord
1 devlog 0 followers Shipped
Emilien
Emilien worked on EasyHASS
9h 19m 8 months ago

I've implemented a whole system of accounts, groups and objects in order to have a clean and efficient API.

First of all, I added an account system to let the user choose his api key and root api.

Then I created a route to retrieve entities compatible with the API, and an object system to simplify requests to Home Assistant.
At first I made POST requests on the state of the entities, but having encountered certain bugs, I use the Home Assistant ‘turnoff’ and ‘turnon’ services to avoid bugs.

I've also added a group system, so that the user only has to make a few requests to turn off a large number of devices.

Update attachment
Emilien
Emilien created a project
232d ago

EasyHASS

A simple API to simplify the usage of the Home Assistant API The API is based on an internal object system: the user must first provide his Home Assistant API root and API key, then you can list all compatible entities available on your account, then you must create an object by specifying an entity name and id, then you can do a simple on/off with the API. You can also add groups with several objects, where you can switch all the devices in the group on or off.

EasyHASS
1 devlog 0 followers Shipped
Emilien
Emilien worked on Barista
1h 36m 8 months ago

I've started the display, I've decided to do it in Rust, at first I was going to do it in Go but due to the complication with Golang, I'm doing it in Rust.

I'm using the GTK Layer API to put it on top of the other windows.

Update attachment
Emilien
Emilien created a project
233d ago

Barista

My custom bar for Wayland

1 devlog 0 followers

The details page is dynamic :3

Update attachment

The front end is now dynamic : I make requests at mail.hackclub.com to get information.

Update attachment

I finished the backend, I added the selected menu.

Update attachment

I've started on the frontend, adding a mail list (not yet dynamic) and a help menu.

Update attachment
Emilien
Emilien created a project
243d ago

HackClub Mail

A TUI tool to keep track of your letters on HackClub Mail.

HackClub Mail
4 devlogs 0 followers Shipped

I've added two commands: one to display the list of challenges, and another to clear the challenges in the database (reserved for the bot owner).

Update attachment

I've added the main function: retrieving challenges and sending messages when a challenge has been solved or not.

Update attachment

I started the bot, and added two commands: subscribe, and unsubscribe, which allow the user to subscribe to the feed, to send them messages when a challenge is solved, or when a challenge has been added.

Update attachment
Emilien
Emilien created a project
249d ago

CTF Helper

A simple bot discord to let you know when there's a new challenge on the CTF and when a challenge has been validated. Mainly for team CTFs. Message to reviewers : It's not possible to do a non-video demo because you'd have to have a CTFd instance, and challenges, teams etc., it's too many logistics.

CTF Helper
3 devlogs 0 followers Shipped

I have added a README and some edits to finish the portfolio :3

Update attachment

I've added a system to view CTF or Hackathon certificates, for those who provide one.

Update attachment

I've added an internationalization system: I just have to add a file, to add a possible language, and I can just change the translations whenever I want in these files. For the moment, I'm only using French and English.

Update attachment

I've simply added the ability to easily change site data: rather than modifying the code directly, I just have to create or modify a file to change the list of my projects on the site.

I've also changed a few margins on the frontend.

Update attachment

I've started on the frontend: I've added my profile picture, the projects, events and social sections.

Update attachment
Emilien
Emilien created a project
252d ago

Portfolio

My portfolio with a minimalist design (because I'm a backend developer, so I don't need to show my frontend skills) Built with Astro :3

Portfolio
5 devlogs 0 followers Shipped

I've simply added a help menu and a README to simplify installation of the project.

Update attachment

I've added the parameters: now the main functionality is done.

Update attachment

I rerefactored the color system, to have a Get function where you just supply an enum value to get a color

Update attachment
Emilien
Emilien worked on Queer
1h 30m 8 months ago

I've refactored the flag printing system: instead of having a function to print each flag, I have a function to retrieve the flag colors, and a function to print the flags.

I've also added... lots of different flags!

Update attachment

I've added the “basic” flags: Lesbian, Gay, Bisexual, Transgender

Update attachment

I made a little PoC who print the bisexual flag :3 (my flag !!!)

Update attachment
Emilien
Emilien created a project
254d ago

Queer

A little CLI tool to print pride's flag in your terminal :3

Queer
6 devlogs 0 followers Shipped
Emilien
Emilien worked on Edos
48m 9 months ago

I made a few modifications at the end of the project: I had a friend test the interface for feedback (which revealed a major problem).

So I changed the font to a static font, not just any monospace font. I also redid the responsive a bit so that it would work with the static font.

Update attachment
Emilien
Emilien worked on Edos
1h 26m 9 months ago

I've written the READMEs, but I've also added functionality to remove the servers from the database.

Update attachment
Emilien
Emilien worked on Edos
2h 15m 9 months ago

I've finished automatically updating the data on the stats page.
But I've also added a demo mode for the site.

Update attachment
Emilien
Emilien worked on Edos
4h 26m 9 months ago

I've started the backend of the page where you can see the statistics. I opted for a double data retrieval: one source coming from the project API, so as to have an almost instantaneous loading, then the other coming from a websocket sending the data every X seconds.

For the moment, I've only done the API part, to ensure clean loading and all the functions needed to easily integrate the websocket.

Update attachment
Emilien
Emilien worked on Edos
1h 55m 9 months ago

I've started the stats display interface. On PC, the interface will look like this. I've decided to use ASCII graphics to keep the style minimalist.

For the moment, this is just the front-end, as the back-end to display all the stats has not yet been integrated.

The next step is to make the interface... responsive.

Update attachment
Emilien
Emilien worked on Edos
5h 49m 9 months ago

I've added very little visually, but a lot on the backend.

I made the server list page functional, with a modal to retrieve the connection token. I've added the page for adding a server and the page for changing its password.

I've also added better management for the icons used in the project. I used custom elements in HTML to create a simpler icon system to avoid repetition.

I've also started a websocket, to update live information from the servers.

Update attachment
Emilien
Emilien worked on Edos
3h 3m 9 months ago

I started doing the client's backend and frontend. I decided to use Elysia, in particular so as not to slow down server development because I'm used to this framework, but also for server performance, Elysia having very good benchmark results.

For the frontend, I decided on a minimalist design to simplify use of the service, and because I'm not very good at design.

Update attachment
Emilien
Emilien worked on Edos
1h 7m 9 months ago

This is a little devlog to show my log system in Go, inspired by the log library I use in the client (logtape).

I've also added a system reconnection when the TCP connection is lost.

Update attachment
Emilien
Emilien worked on Edos
2h 52m 9 months ago

I've finished the socket, all the data is saved in the database. The translation part is finished.

I've also added a function to clear the database: every 10 minutes, all data older than 10 minutes is deleted.

The next step is to create the interface and a user system, and then run a websocket to receive information in real time.

Update attachment
Emilien
Emilien worked on Edos
3h 17m 9 months ago

I've started the translation part, which retrieves information from a TCP server and stores it in a database. For now, it only handles authentication and CPU name registration.

Each message sent to the server must be a JSON composed of three keys: Id, which corresponds to the server id; Type, which corresponds to the type of message (authentication, cpu name, cpu usage etc.); Data, which corresponds to the data to be stored.

For authentication, you need to provide a key and an id. This assembly of key and id is called a token, and is encoded in base64, which simplifies client installation. The key is generated by a SHA256 signature, encrypted with HMAC and a key specific to the server. This guarantees the authenticity of the data, to prevent a malicious person from sending false data to the server.

Update attachment
Emilien
Emilien worked on Edos
1h 40m 9 months ago

I've just added network statistics (bandwidth), i.e. the number of bytes sent and received in x seconds.

I tried to integrate CPU temperature but it's a bit more complex, maybe when I've finished the basic program.

Update attachment
Emilien
Emilien worked on Edos
2h 6m 9 months ago

I've added several features to the PoC: recovery of the CPU model name, and recovery of disks and its statistics.

Disk read doesn't just read mounted files, but will read every available disk, look to see if it's mounted, if mounted, retrieve the name of the folder where it's mounted, and retrieve the available size.

Both are based on linux system files: /sys/class/block (a folder) which has an equivalent folder on each disk, and /proc/cpuinfo which lists CPU info, including its model.

Update attachment
Emilien
Emilien worked on Edos
3h 54m 9 months ago

The basic plan was to make the server in C, but I finally decided to make it in Go, for the simple reason that Go is simpler and I don't have too much risk of memory leaks.

I started by making a PoC with the main information, such as CPU usage in percentage, memory info and swap info.

The most complicated part was CPU usage, because you have to read raw information, which means nothing when you don't know how to do it. Thanks Stackoverflow.

Update attachment
Emilien
Emilien created a project
271d ago

Edos

A minimalist server resource monitoring service, developed in Go and TypeScript. Designed for simplicity, using low-level technology for communication between the interface and the servers to be monitored (a simple TCP socket).

Edos
13 devlogs 2 followers Shipped
Emilien
Emilien joined Summer of Making
289d ago

This was widely regarded as a great move by everyone.