You are browsing as a guest. Sign up (or log in) to start making projects!

Sucrivore

@Sucrivore

Joined June 5th, 2026

  • 10Devlogs
  • 6Projects
  • 1Ships
  • 15Votes
Open comments for this post
Reposted by @Sucrivore

3h 15m 23s logged

Made a first version of the game with two minigames: one where you have to quickly say if an image shows a cat or a dog, and another one where you have to tell wich color a colored text is describing

1

Loading discussion…

1
27
Open comments for this post
Reposted by @Sucrivore

1h 32m 54s logged

I changed the end and the win screen with text animations (it gives more suspense), and since the game screen size was the godot default, I changed it for a 1920x1080 screen size

0

Loading discussion…

1
23
Open comments for this post

2h 32m 7s logged

I created the landing page for veeerbs, my website for learning irregular verbs

I started with the landing page to get a feel for what it would look like—I hate diving into a project by just dropping in unstyled HTML elements; it’s depressing.

Technologies

  • Angular as the web development framework—not ideal for a landing page, perhaps, but better suited for the rest of the site
  • TailwindCSS because I can’t live without it
  • Rough.js for the hand-drawn look of the shapes and borders
  • My Raspberry Pi Kubernetes homelab for hosting, of course
0

Loading discussion…

0
34
Open comments for this post

12h 32m 33s logged

I have fully developed an initial functional version of the API.

You can access the documentation here.

Description

Veeerbs is an application designed for reviewing irregular verbs and, eventually, vocabulary. In its current state, the API allows for the storage of a series of “cards” using JSON; each card consists of multiple “card_parts,” and each “card_part” comprises several “synonyms,” with each object possessing its own metadata (such as type or language). This enables dynamic, lightweight, and optimized storage of diverse data—covering both irregular verbs and vocabulary words—where each item can have multiple translations.
The API also supports the creation of lists composed of multiple “queries” used to select the cards to be included.
Authenticated users can then add these lists to their accounts to begin learning.
Once cards are added to their accounts, users can start practicing using the /user/cards/next-due and /user/cards/review endpoints.

Technologies

  • FSRS (Free Spaced Repetition System): a scientifically proven algorithm that enables extremely rapid learning by scheduling reviews just before the information is forgotten.
  • Python with FastAPI for the application core, and SwaggerUI for documentation.
  • Pydantic for data serialization (both input and output), along with the pydantic-settings extension to cleanly parse environment variables and/or local .env files.
  • SQLAlchemy as the ORM for interacting with the PostgreSQL database via psycopg2.
  • Structlog for versatile, structured logging—optimized for local readability and automatic JSON parsing in production environments. - Python-jose for JWT generation—used for both authentication and the questions asked—to avoid the need to store the questions themselves and to easily prevent replay attacks.
  • A centralized authentication system using Ory Kratos for the initial authentication layer.
  • Alembic for clean database migration management.
  • Builds produce Docker images that run on my Raspberry Pi Kubernetes infrastructure.

Notes

I took a long time to develop this API because I wanted to build it as cleanly as possible. Consequently, every object, request, response, and field is typed and documented. Logs are comprehensive and structured, and database migrations are handled correctly.

0

Loading discussion…

0
19
Open comments for this post

54m 42s logged

I migrated my application to Angular 21.
I then fixed a bug that was preventing claims from loading: a change to the “offset” signal at the wrong moment was blocking change detection, so API data was failing to reach the DOM. I took the opportunity to migrate to httpResources and fixed the flawed pagination by including the page count in the request response.

0

Loading discussion…

0
2
Open comments for this post

3h 3m 19s logged

Builded entire job

I built the entire job that retrieves data from Open Library. The biggest constraint was that it had to run on my Raspberry Pis; however, the compressed Open Library dump is 12 GB (expanding to nearly 50 GB), while I had barely 10 GB of free space. Consequently, I had to stream the download of the compressed file, decompress it on the fly, parse the content, and output it into CSV batches of up to 500 MB. Then, leveraging the power of PostgreSQL, I was able to rapidly load these batches sequentially into a staging table without running into constraints. I subsequently deduplicated the data using a second table with a UNIQUE constraint on the ISBN, followed by the final table—which also featured an ISBN index—enabling searches in under 100 ms. My connection wasn’t very reliable, and I faced major issues with the download constantly dropping, so I had to rig up a system to maintain the stream despite these interruptions.
I also created the GitLab pipelines that build a versioned Docker image (using semantic versioning) of the application.

0

Loading discussion…

0
20
Open comments for this post

5h 18m 8s logged

To add Mr. White, the role system had to be completely refactored. Previously, it simply assigned a different word to a random player. I switched to a much more suitable system, allowing the host player to choose a custom player distribution, with the caveat that it must be valid (for example, there must be more or the same number of civilians as undercovers and Mr. White). For the mobile app, a cool selector with sliders was needed, where the min, max, activated, and divisions had to adapt in real time to the constraints of the number of players and other selected values. To accommodate these new inputs, I also had to rebuild the host waiting page from scratch. I took the opportunity to tweak a few things and fix some bugs. And I realize that my file that manages multiplayer on the mobile app is an unreadable monster of more than 800 lines, but it’s my first flutter project so I don’t really know how to organize this big bag of interconnected knots… Anyway, I’m having fun.

0

Loading discussion…

0
2
Open comments for this post

34m 8s logged

I have fixed some things : an infinite turns loop when more than 3 players join the game via network multi, a button showed to all players instead the host, a bad message, now builded directly by the api, and some typos

0

Loading discussion…

0
1
Open comments for this post

1h 44m 31s logged

I have started to adapt the moderators’s account system to all users. I have added an “My account” that display the id and the username.
I have also modified the client api service to use new angular’s httpRessources.

0

Loading discussion…

0
13
Ship Changes requested

I have make a modded client for EcoleDirect, permitting to add plugins to the ENT's mobile apps. The difficult part was injecting sufficiently versatile code into the application to make all the plugins work.

  • 1 devlog
  • 0h
Try project → See source code →

Followers

Loading…