5 days plan ready
Self-fish devlog #11 (Very Important)
So in the last devlog I had completed the add item screen, since then I have been making plans for the future of this app, and i think I am finally ready to reveal it.
What have I done?
- Added tiers and a ration norm to the item and detection table, I will explain later in this devlog, what they do
- Made the whole backend more secure from wrong answers generated by gemini: since I am using gemini, there is a possiblity that it does not follow the schema I gave it, if that happens, the backend would crash, but now have added field validators for all crucial columns where the the model is most likely to generate wrong answers.
- While testing I also found out that at sometimes, the model would face a lot of traffic and it would return a 503 and the server crashed, but now the backend has 2 models, gemini-3.1-flash-lite and gemini-2.5-flash-lite, each with 5 retries. So if gemini-3.1-flash-lite, which was getting a lot of traffic, fails, the backend fallsback to 2.5, which I believe should have less traffic
- Also in the last devlog I had forgot the add tag button which I have added, I already had the function to add but I think the 25 day gap made me forgot that, I also added tiers to page but I still haven’t added ration_norm cuz I have to devlog first
What’s the plan?
A lot of people don’t actually know what communism is, so I will explain it first, communism is a stateless, moneyless and classless society where the people own the methods of production, It is a type of socialism that came into existence through Karl Marx 
So in true communist state, there is no money, therefore I dropped the price column from my items table.
Instead I have divided everything into 3 categories:
**1. Essentials - These items are basic necessities that are needed to surve, example: food, water, soap, clothes, etc.
These would be distributed equally to everyone who uses the app, ie the people of the state.
**2. Useful Items - These items are not necessary but they improve your quality of life, these include things like a normal mouse, a laptop, etc. These are not distributed equally, instead you have to write 2 lines, just 2 cuz I know when others would review my project, they wouldn’t want to write a whole para to check the working of my app, so those 2 lines would go to gemini once again and it would check if the person gets the item or not.
3. Wants - These items are not necessary and do not improve the quality of life, but they are important to satisfy the personal wishes of the user. These include top tier laptops, high end gaming mouses etc. For this I want to connect to hackatime, I had seen some project on stardance that connected to hackatime, so the plan would be to connect to hackatime and get the no. of hours coded by the user. These hours would be used as labor hours. Whenever the user wants to get these items with the want tier, they would give some of their labor hours to get their item along 2 lines to satisfy the model.
So that’s how the app would work, I have just finished the first part of the app, this probably is the 2nd hardest part of the project, the next step would be to create a page where all the items are listed, this would be very easy but after that would be the hardest part of the project, it would be the form where the user can request the item.
The images:
Well they are both the same, As you can see I have Tiers and add button to this page, everything else is the same,
there are 3 buttons (pressables) with the tiers, the default tier is selected by gemini, the user can change them, The ‘+’ button would be present next to the last tag, It can toggle adding, the user can then enter the tag name and press the + button next to the input field. The section below the tag selector displays the description of the tags.






I exposed jwt tokens in github 
What’s next ?


What have done?
, I couldn’t use openai api as it costs money and then learned that gemini has free api plans that include multi-modal inputs like images and give out text, so I swited to that and it works flawlessly, the rate limits are also generous, at 500 requests per day and 15 per minute. I tested it with 6 text images and it gave 100% acc but the sample size is pretty small to say that it is 100% accurate, but it does work.



, except Oreo 

