Activity

Akaalroop

Shipped this project!

Hours: 8.53
Cookies: 🍪 266
Multiplier: 25.97 cookies/hr

I have shipped v1.0.0. I read the votes and hopefully :fingers_crossed: , the issues have been ironed out. I now support numbers up to billions, and you can even put multipliers together like “one million billion” (you’ll get a HTTP 400 error if you cross the limit of 2^64). The README has all the stuff about the API so it is a lengthy read, but yeah! The API also now returns extremely specific errors like typo, malformed body, helping you debug if you’re actually using it in an app. I truly hope you love this project as much as I loved making it, and I totally loved losing sleep to make it :pf: . Have fun and any issues please lmk at [email protected] or making a github issue! This was my first ever backend project in my life so don’t expect it to be the best lol.

Akaalroop

Biggest thing is adding support for hyphenated numbers before multipliers. A lot of other small fixes and the docs were updated. It took some time but everything’s all good and we’re ready for 1.0.0!! This devlog isn’t the best because its 23:25 and I really need to meet the deadline and sleep and go to school tomorrow dead .

Changelog

Attachment
Attachment
0
Akaalroop

I added support for huge numbers! Up to a billion! It’s still in PR but I have added it! It was hard, overhauling everything. I had to completely change the way I process the words but I did it, mostly proud of using my own brain yay neocat_happy . The hardest part was the multiple multipliers like “one hundred million” since I used to do 1 * 100 and then it would add 1,000,000 which is obviously wrong. Now it works like a charm! Obviously there a few things to iron out before shipping v1.0.0 but most things are good!

Changelog

Attachment
Attachment
0
Akaalroop

I switched to use serde_json’s json! macro for my responses. I also made the log messages coloured! yay Although I love what I built, its just not as robust as serde_json, so I’ll be making a PR to switch to use that for request parsing blob-sad . The time has come to give in to the serde gods.

Attachment
0
Akaalroop

Shipped this project!

Hours: 6.18
Cookies: 🍪 121
Multiplier: 16.36 cookies/hr

I fixed a bunch of bugs in the code which I didn’t fix last time since I had to rush for Lock In. I also didn’t expect it’d take me 6 HOURS to fix them, but yeah… there goes my weekend. Anyways yeah!

Akaalroop

I overhauled the errors! It now works where the 400 request gives a MUCH more specific error. Like it will tell you about typos, in which word, a non-UTF-8 byte, content length header 0, content length header malformed, body malformed. Yup! Also I changed logging so my logs don’t fill up every time someone sends loads of numbers. Just one clean log per request.

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Akaalroop

Shipped this project!

Hours: 15.32
Cookies: 🍪 380
Multiplier: 20.68 cookies/hr

I made my first ever API which was really hard, especially since I took on a no-AI challenge. I had to think and my logic was pretty crap at the start, causing all sorts of bugs, but slowly I evolved to now parsing using bytes. I learnt a lot too! The Rust Book Chapter 21 gave me the starting point and I love coding in Rust! Super fun and sleep depriving, but finally API 0.1.0 out! (Not v1.0.0 because I only support up to 999 at the moment)

Akaalroop

I did a LOT. I overhauled the parsing again, this time adding a 411 error code response, since now I actually use the Content-Length header. I had claude generate an openapi spec file. I put my API on scalar. I also made the error JSON specific to each error code. I can’t show 411 & 500 cuz i aint bothered to cause them just for the screenshots. I’ve deployed it, and its 01:05 am. I really gotta sleep man. This took so long and I’m not done yet! But I’m happy with what I’ve got so far, and I really liked making this! Next ship I might make a website for it!

Attachment
Attachment
Attachment
Attachment
0
Akaalroop

I wrote a README. I completely overhauled the logic. I added the README link in the error messages. Basically for the overhaul. I used to read the request line by line, then I switched to byte by byte, as the line by line method kept failing for cURL as cURL didn’t send the final \n. Now I have a LOT of error handling too, like timeouts and if you don’t send a body you get an instant 400 instead of a timeout. Yeah byte-by-byte is better. Its 23:38 (11:38 pm) and I need to sleep. Tomorrow’s school. Good night!

Attachment
Attachment
Attachment
0
Akaalroop

Some improvements! It now supports multiple numbers! Also responds with headers like Cache-Control now. I made some nice code improvements and a super small change is it’s now case-insensitive for the requests. Also fixed a bug for hundreds + single numbers where it just returned the hundred. Like it returned 900 for “nine hundred and four”

Attachment
0
Akaalroop

I started the actual API stuff!! It’s in progress and can take a lot more refining but OMG, in one day, using only the rust book and my own brain, I’ve built, a functioning API (for 127.0.0.1 at least). THIS IS INCREDIBLE. May not look big for you, but this is a huge thing for me, so happy right now!!! NO AI FOR ONCE AS WELL!!!! Super proud of myself yk! Even added some basic error handling too! I’ll write a README and include it in the 400 responses so people know how to format it, but I’m super proud!!

Attachment
Attachment
Attachment
Attachment
Attachment
0
Akaalroop

I fixed an issue in some versions where you could keep “taming” the cat and it kept sending messages. How it should be & is now is shown below:

Attachment
0
Akaalroop

I did more codebase changes like the buildscript and idk some other stuff. I also added the task to publish all the versions and boom! Done!

Attachment
0
Akaalroop

THAT. TOOK. TOO. LONG. I went down the automation rabbit hole and I tried debugging a plugin which as in alpha state, so I read its code and it didnt even have the feature i was trying to use. Basically, there was a issue where recipes wouldn’t work in either >=1.21.2 or <1.21.2. This is because the recipes structure changed significantly, unfortunately. Initially, I had to fix the crash my ship got rejected for, but I couldn’t devlog without fixing that crucial issue too. It took so long to achieve this, but the screenshot is worth 4 hours of work. Its 01:20 am now, I need to sleep. Good night

Attachment
Attachment
0
Akaalroop

Shipped this project!

Hours: 6.39
Cookies: 🍪 119
Multiplier: 15.45 cookies/hr

It was really, really hard. I had a lot of personal stuff going on while making this, and I had to take a day off school just to get this done for the lockin deadline. It was hard. Switching from 1.21.11 to 26.1 was so hard, because although there’s a thousand tools to help change fabric api mappings, I couldn’t find anything to change the names of the Minecraft classes, so I needed some AI for that. Anyways, its done! Hope you like it!

Akaalroop

There was a really stupid bug where if you right clicked a cat with anything or nothing in your hand it would do the effects and send the messages and everything. Yeah really, really stupid. it took far too long to fix 😭 Also I can’t upload the video here because its 90MB even with compression and everything. I’ve put it on #cdn and here’s the link: https://cdn.hackclub.com/019d9835-067d-75db-8711-b69439773269/output.mp4

Attachment
0
Akaalroop

My items actually show up now!! Thanks fabric docs!!

Attachment
0
Akaalroop

That. Took. Ages. It took AI, i took a day off school to do this. ARGH. Why did minecraft have to unobfuscate their gameee. i’ll let the pictures and tabs and everything, speak for itself you know. I did add 1.21.5 - 1.21.11 so everything 1.21.x is supported, but the main thing I did is add support for 26.1. I couldn’t do this without the docs of fabric and well, yes, some AI. I’m sorry but I’m not researching and manually changing every single class or method or whatever’s name. And worst part, my mod is in Kotlin, so the docs’ code can’t be directly used sobbbb. Help. Anyways, i’m off to debug more issues. Hopefully I can this fixed, add the final few versions and maybe actually add new stuff before I ship

Attachment
Attachment
Attachment
Attachment
0
Akaalroop

Set up Stonecutter for 1.21 so far! It works! Couple gradle issues, but that was cause of my typos. All set up and ready for lots more versions!

Attachment
0
Akaalroop

Shipped this project!

Hours: 12.14
Cookies: 🍪 122
Multiplier: 8.4 cookies/hr

It was super difficult to setup Stonecutter in the beginning, and Gradle takes so LONG to runnnn. Mann it was annoying. I made my 1.21.8 mod compatible with all 1.21.x.versions and 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4. It was an ordeal, but I managed it. Phew. I’m proud of completing it! Especially at the start when I wanted to give up and use git branches, i didn’t give up and I got through it!

Akaalroop

I added versions 1.20, 1.20.2, 1.20.3, 1.20.4. I tried adding 1.19.2 but farrrr too much extra work cuz the API is ever so SLIGHTLY different

Attachment
0
Akaalroop

Versions 1.21.5, .4, .3, .2, .1, BLASTOFF added! And version 1.21 itself. It took some rewriting, and lots of gradle.properties. And some issues and bugs and whatever, but now, I support 1.21.x!!! Every single 1.21 version! YAYAYAYAY!!! That only took… forever. Man gradle is so slow

Attachment
Attachment
0
Akaalroop

Made my mod compatible with 1.21.10 and 1.21.11. 1.21.11 took a tiny rewrite of the wandering trader offer stuff, very small one. Picture shows it working in 1.21.11

Attachment
0
Akaalroop

I added support for 1.21.6 and 1.21.7 sixseven yay Anyways, I also added integration with REI (Roughly Enough Items) which was recommended by Claude? I asked it if there’s any mods I should integrate with and I got that. So now, I support 1.20.1, 1.21.6-9. I’ll add support for all 1.20 versions and 1.21 versions and then tackle 26.1.

Attachment
0
Akaalroop

It works!!! For all versions!! EVERY, SINGLE, FEATURE, WORKS. YESSSS. I also added 2 new messages like one letting the user know we are looking for the snow biome as that takes a little while and another letting the user know the Snow Bomb item isn’t perfected yet. Hopefully I can get it more reliable before I ship

Attachment
Attachment
0
Akaalroop

Wow. That only took AGES. I spent last night and this morning trying to get stonecutter to work. Nope. Error this, error that, nope. No mappings found, can’t find this, unexpected that. GOD THAT TOOK AGES. With some luck and claude, I got it to work in 1.20.1!!! (Originally made for 1.21.8) I ain’t committing this yet cuz making it work for 1.20.1 came at the expense of having it work in the other versions. Once it works for 1.21.8, .9 and 1.20.1 I’ll commit. Then, I’ll add each version one by one, then make jars for all of them and upload to Modrinth!! Then, I’ll try porting it to 26.1(.1) on a separate git branch or go down this stupid rabbit hole again. Who knows. Anyways, yeah!

Attachment
0
Akaalroop

Now all numbers from 1-999 are supported! Took far too long debugging cuz there was a space at the start of the string past ‘and’ and it confused the code. Anyways fixed! yay

Attachment
Attachment
0
Akaalroop

I’m starting with logic to convert words to numbers first, then API stuff later. We can convert 1-10 and 10,20,30,40,50,60,70,80,90! I’ve selected these numbers as thankfully english just uses those again and again so if now I’ll split numbers like sixty-seven to convert separately, then add together to make 67!

Attachment
0
Akaalroop

Shipped this project!

Hours: 6.12
Cookies: 🍪 35
Multiplier: 20.42 cookies/hr

I added a few more small features like /list-recipes and more QoL stuff like if its not a crafting recipe it will tell you!

Akaalroop

Updated prompt using Gemini and added alternative message if the recipe is not for the crafting table

Attachment
0
Akaalroop

Shipped this project!

Hours: 9.96
Cookies: 🍪 33
Multiplier: 6.15 cookies/hr

I did a lot of code changes, which makes my website appear on top! I also made it better in terms of code again, cuz the projects are loaded in house so less trips round the world to get the GitHub data thumbs-up yay ! A few tiny visual changes as well, but that’s it!

Akaalroop

Shipped this project!

Hours: 1.6
Cookies: 🍪 7
Multiplier: 4.08 cookies/hr

Added colours and better errors!

Akaalroop

Added colours to the TOTP times so now it shows the colours so you can easily & visually see how much time is left!

0
Akaalroop

Shipped this project!

Hours: 4.15
Cookies: 🍪 40
Multiplier: 9.66 cookies/hr

It took ages to figure this stuff out, and I almost forgot how to write Rust. I had so many problems that AI reviewers raised which were so annoying, but after A LOT of work I fixed them all.

Akaalroop

HUGE & Final devlog. I know 2 devlogs doesn’t look very trustworthy but man that took a lot of work cuz the AI reviewers like Coderabbit & Copilot found SO MANY problems dead . Ugh. Anyways, after getting through all that, TOTP-Generator is ready to ship, supports multiple tokens, and loading through env variables, and I wrote a README! yay

https://github.com/Spacexplorer11/TOTP-Generator/releases/tag/v1.0.0 has all the info

Attachment
Attachment
0
Akaalroop

I did a lot of code refactoring making the github fetching in house rather than a separate CF worker and a small visual fix!

Changelog

0
Akaalroop

Initial stuff, it can actually generate your codes! I also spent a long time figuring out how to show the time left for each code, regardless of when you start the program and I remembered modulus to save the day! yay I’m gonna add storage of your secrets (The file will be password-locked) and I’m gonna add multiple secrets typing too, and ofc it will be able to show multiple codes concurrently!

Changelog

Attachment
Attachment
Attachment
0
Akaalroop

I did optimisations like moving my pictures & favicons into $lib. The main visual change would be now the carousel actually comes in after the text.

Attachment
0
Akaalroop

I’ve been doing some aggressive SEO and performance optimisation. I’ve added descriptions to all the pages, put the font in $lib, added multiple formats of the background so it supports all browsers and other stuff, but I’ve achieved a decently high result for most search engines… except bing for some idk reason???

Attachment
0
Akaalroop

Shipped this project!

Hours: 4.91
Cookies: 🍪 28
Multiplier: 5.67 cookies/hr

I did a lot of code refactoring. I learnt idiomatic svelte and I just made the UX a bit better to claim the secret reward!

Akaalroop

I did a lot of code refactoring! I made it a lot more robust, more like idomatic Svelte using +layout.js properly and using $props() and more complicated stuff. I also simplified the code and updated my API so you can just do https://api.akaalroop.com/projects and get them all, and if you give a param like ?repos=akaalroop.com you get just that! Anyways, on the visual side I added the modal to the gallery page on clicks and I made the data refresh everytime you came back to the website after clicking View on GitHub. Also I gave each page a title using svelte:head . Check out the main PR: https://github.com/Spacexplorer11/akaalroop.com/pull/61

Attachment
0
Akaalroop

I added some fallback text for when the projects couldn’t be loaded and made it so the Gallery isn’t accessible since it would be empty.

Attachment
Attachment
0
Akaalroop

I added my teacher! The styling wasn’t perfect so it took a while to get the CSS perfect but its great now! Shoutout to Mr Walsh for letting me add him!

Attachment
0
Akaalroop

I worked on adding the sponsors page and finishing it! I simplified a bit more CSS and I’ve emailed my teacher since he has supported me so hopefully I can feature him soon! I have a few more things to add and then I can ship since I don’t really have much to change, just a few tweaks! (I have the silver, gold & platinum sections as comments for now unless someone donates!)

Attachment
0
Akaalroop

I improved the README and I am working to add a sponsors page! I’ve added it to the navbar and simplified a bit of CSS in the navbar too

Attachment
Attachment
0
Akaalroop

I added a new command! ‘/list-recipes’ sends a txt file of all the available recipes, which are in the list in the code, which is created on the start of the program for efficiency & to prevent stale data! This was done on request of @U0824382CPP thank them for the suggestion!

Attachment
Attachment
0
Akaalroop

I’ve been working. I used Gemini to improve the prompt cuz I’m not a prompt engineer. I also manually added a lot of recipes via screenshots. Other than that, no big things really. Screenshots of one of the recipes I added & the AI being useful:

Attachment
0
Akaalroop

I started the README and added some basic NPC style input output for now. Will ask more questions later but got some boilerplate like an input function

Attachment
0
Akaalroop

Shipped this project!

Hours: 4.57
Cookies: 🍪 90
Multiplier: 19.66 cookies/hr

I made a bot which gives you minecraft recipes!
It was a pain generating all the 519 images of crafting recipes, but yeah I did it! :yay:
I made it in Kotlin so it will eat all the RAM on my RPI Zero 2W on which it is hosted :thumbup-nobg:
Hopefully you like it!
It’s my first ever bot in Kotlin too!

Akaalroop

Fixed the bug! Yay!
How i did it is that I checked if there are any replies in the thread already, and if yes it ignores the event, cuz slack pings the person in the OG message on thread replies causing duplicate app mention events, gonna deploy and then ship now Ig!

Attachment
2

Comments

dodge1
dodge1 4 months ago

bug is not fixed fully

Lamparter
Lamparter 4 months ago

cool!

Akaalroop

Added the AI functionality!!! There is one known bug (shown in picture) of duplicate messages, which I will patch in the next commit. Then the bot should be ready to deploy on my RPI zero 2w and I can ship!

Attachment
0
Akaalroop

Made it so you don’t need to type the EXACT name of the file as you used to. Gonna add AI next

Attachment
0
Akaalroop

It actually works WWWWW. LETS GOOOO. I’m now making it more forgiving and allowing you to type other things to reference items. I will implement Gemini 2.5 Flash to cheaply and quickly check for typos but right now it does work!

Attachment
2

Comments

btz
btz 5 months ago

ai.hackclub.com gives you free inference btw

Akaalroop
Akaalroop 5 months ago

yes I am planning on using ai.hackclub.com for Gemini. Wdym by ineference though?

Akaalroop

I am desperately trying to get my bot to send the images. I added 672 images to my repo :sixseven: of all the crafting recipes! I got Gemini 3 Flash to generate a script which I ran on my RPI 0 2w to generate the images. Big thanks to https://minecraft-api.vercel.app for the mc item images and recipes! Now I am gonna code the rest by myself! Currently failing :pf:

Attachment
0
Akaalroop

I didn’t do fraud I promise! I was testing how to do stuff in Kotlin and I couldn’t figure it out cuz the guides are Java but finally I did! Now the bot responds to mentions! I will build on that to do the actual recipe giving!

Attachment
0
Akaalroop

IT FINALLY WORKS!!!!!! This is the first time I’ve ever tried making a bot in Kotlin so it was hard and the Slack guide is outdated and for Java. But Gemini 3 Flash came to the rescue!! Now that I’ve done the basic boilerplate, I shouldn’t need the AI again!! I’m so happy it works!!

Attachment
Attachment
0
Akaalroop

I am gonna copy https://bymanu.me ‘s style and everything, but will change it to be more of my own. I did get Manu’s permission before doing this don’t worry! I’ve copied the CSS and intro section so far lol. I also wrote the README

Attachment
0