Activity

2025cs0291

Shipped this project!

Hours: 19.36
Cookies: 🍪 452
Multiplier: 23.33 cookies/hr

I made a custom programming language using a bit of Gen-Z slang and a LOT of bare-metal C++.

The highlight feature is the silly ass syntax where you can just use words like lowkey and yap to bullshit your way through your logic. It doesn’t have a heavy virtual machine or bytecode compiler, it instead walks the AST directly in memory, so it hits sub-millisecond execution speeds that actually beat Python.

The challenging part was the C++ standard library distribution, I would’ve just shipped the raw binary if I could, and I did try, but it didn’t go anywhere because of missing Windows DLLs so I had to make compromises and statically link everything in order for it to run on other machines at all. I also had some difficulties with the setup.bat installer, but the issue was the legacy Windows 1024-character limit literally chopping off the system PATH, but this bug ONLY occurred when automating the environment setup, not when actually compiling or running the engine.

I’m proud of how polished everything is. I have a GitHub release that packs a standalone .exe with zero dependencies so anyone can download and run it instantly. I also have a folder of classic algorithm examples to prove it’s Turing complete that no one will probably look at because they just want to see the boss fight demo. The engine execution is also very polished, it uses memory-mapped string buffering to atomic-flush the console to make the performance benchmark look insanely fast. The whole project is the closest thing I have to a “real” product.

2025cs0291

Devlog #12: We are fast as fk!!!


  • tried the older classic std::cout method with the C native faster printf , but it was’nt enough
  • So went on towards the string buffer approach to load the characters on the RAM asap

CHANGE LOGS
(note: in the github “AdinathPT” is also me i forgot to change my email id while committing from vscode :) )

Attachment
0
2025cs0291

Devlog #11 : Finally a file can run !!


  • Previously all the source code was just a string inside the main
  • Now the strings are stored in an external file <filename>.aura
  • it can be accessed via the cmd using the command ./aura.exe <filename>.aura
  • I made it possible with the classic arg reader from the cmd + basic fstream file handling
0
2025cs0291

Devlog #10 : While loop


  • this part was a bit tricky
  • while parsing a block branch from the AST was a classic and a bit easy
  • I had to try out a lot to final figure out how to loop through the same Block
Attachment
0
2025cs0291

Devlog #9 : Conditional Statement


  • This is by far the most hardest thing ton figure out for me.
  • I had to refactor my code to find out the and create the AST allocation for the Branch of Block and IF/ELSE statements
Attachment
0
2025cs0291

Devlog #8: Comparator Operators


  • i had to create 4 new TOKEN_TYPES along with this i had to also create a reduce their priority in the pratt's parser algorithm So that they wont magnetise while other mathematical expressions are running and ends up breaking the code
Attachment
0
2025cs0291

Devlog #7: Working on”Yap” (Print) statements


  • Making the YAP function work was relatively easy since i created the BranchOutline in the AST for the Lowkey Branch
  • I just have to inherit the base outline (Of course would you VIRTUAL FUNCTIONS for safety purposes)
  • finally a simple cout in the evaluator was enough after the parsing is done
Attachment
0
2025cs0291

Devlog #6 : Accessing the literals to evaluate


  • Since i have already created a Global environment and stored the literals in the RAM
  • All i had to do was call that Heap whenever we face an non-numberical or string or boolean values in the expression and if it is not present in the heap, i would throw an error
Attachment
0
2025cs0291

Shipped this project!

Hours: 0.36
Cookies: 🍪 4
Multiplier: 12.3 cookies/hr

Added some cool Features to the Swak extension to improve it’s overall experience , especially with the Ai

2025cs0291

FINAL DEVLOG


  • Fixed some common bug that users faced while using the AI feature
  • Gonna publish it to the chrome extensions store soon…..
    THANK YOU GUYS :)
Attachment
0
2025cs0291

Devlog#5 expression evaluation


  • Never expected expression evaluation to make me completely question my life choices :) (JK)
  • So basically instead of just storing the string in the memory Heap or Environment , we have to evaluate it
  • i explored many options such as 1infix tree with stacks But finally came to know about the Pratt’s Parser algorithm from a blog post
Attachment
0
2025cs0291

Devlog #4: Made string,bool,integer,null work !!


  • All the 4 objects were parsed perfectly , with shared pointers to make them work faster.
  • Also made both the local language & pre known tokens to work , for example both becomes and = works perfectly fine.
Attachment
Attachment
Attachment
0
2025cs0291

Devlog #3: Created the environment for the lowkey AST branch


  • Created a global scope environment for mapping the literals with the values of Lowkey branch from the AST
  • this heap structure also holds the method to get() and set() values
Attachment
0
2025cs0291

Devlog #2: Added parser for the assignment operation


  • Created a Lowkey Branch in the AST
  • I made the code with deep integration of OOPs concepts , so that my future version would thank me :)
Attachment
1

Comments

2025cs0291
2025cs0291 4 days ago

message from the future: yep i thank my past self :)

2025cs0291

Devlog #1: Just Started off.


Just started by seperating the by creating the lexer inroder to convert the raw string stream into the desired keywords,identifiers,etc.


GOALS:

  • Make a language FASTER THAN PYTHON
  • Make the language work witht he GENZ slangs
  • Making anyone understand the core concept of language works by having an INTERACTIVE CLI GUIDELINE TO MAKE YOUR OWN LANGUAGE
Attachment
0
2025cs0291

Ship log #2 The AI is Dangerous now

(shipping + devlog = shiplog)

Did some proud job , many sleepless nights of debugging and pushed myself to learn new concepts and make something better.

IF YOU HAVE READ TILL THIS THANK YOU FOR STAYING AND SUPPORTING WITH THIS BEAUTIFUL JOURNEY

Attachment
0
2025cs0291

Devlog #17 Anti repellent day.


Major Updates:

  • LLMs judge your chats to modify the sus meter
  • Whiskers of the impostor were optimised
  • Changed the alerts functionalities

Bugs 🥀 (debugged all of them :) ):

  • The sabotage and kill timer in the beginning of the game itself is very low and immediate
  • There is no-way to close tasks
  • missing animation idle
  • The reveal animations was not at all smoother
  • LLM was slower than my crush, responding to my chat (they ghost me T_T )

STAY TUNNED FOR!!:

  • Character selection
  • better Algorithms on all
Attachment
Attachment
0
2025cs0291

Devlog #16 Dancin in the mall…..


Minor Updates:

  • Added a menu screen & video bg
  • Added interstellar BGM to the main menu
  • Added among us styled fonts everywhere to make it feel rich
  • how to play and other minor ui updates

Troubleshooting:

  • Added troubleshooting option to the Chatting and AI models options (It was one of the most asked for feature) :)

STAY TUNNED FOR!!:

  • Reveal Page & End Screen Page
  • LLM based decision making engine
0
2025cs0291

Shipped this project!

Hours: 70.83
Cookies: 🍪 934
Multiplier: 13.19 cookies/hr

Made the game from scratch up to the top using Phaser lib, react JS , tauri (rust) and etc.
This game features all the abilities that you posses in an normal among us game and i also added cherry on the top features such as:

  • guidance window for the beginners
  • 4 llms integrated to give the best results
  • tagging using the “@” command to investigate a specific person
  • advanced path finding algo’s
  • killing combos for the AI agents (eg: sabotage-> kill -> vent or fake task->kill)
2025cs0291

Ship log #1 The AI is Finally Plotting Against You

(shipping + devlog = shiplog)

Minor Updates:

Less Clipping, More Walking:

  • We significantly tightened up the movement logic. Bots no longer aggressively cut corners
  • Decreased the global movement speed slightly.

The Fixes:

  • Fixed a bug where sometimes ghost would speak in the chat
  • Fixed a crash related to the sabotage lighting system
  • Impostors can no longer infinitely stalk a player by running directly into a wall while staring at them. (cas that’s dum)

Quality of Life:

  • Added a tutorial pop-up system to explain the basics for noobs (including me)

Major Update:

Built the next terminator(but less evil):

  • The Impostor AI is officially lethal. It no longer stands around waiting for the stars to align.
  • The Hunt is On: Impostors will actively select targets, use commandBotFollow() to stalk them, and wait for the perfect moment. (tiger style kungfu)
  • The Getaway: If an Impostor secures a kill, they will immediately scan for the nearest vent and dive into it to escape the scene. (cowards style kungfu)
  • Fake it till you make it: When Impostors aren’t actively hunting, they will pathfind to random task locations, stand there…awkwardly (this would sometimes make the impostors sus on them)

The Chat Upgrades:

  • We upgraded the local LLM stack to utilize the 1-1.5B parameter class models (StableLM, Gemma, Qwen, Llama). The previous models were generating too much garbage output.

STAY TUNED FOR!!:

  • Interactive Task Mini-Games (Swiping ID cards, connecting wires).
  • Cinematic Victory and Defeat screens.
  • Polishing the desktop installer for final release.

IF YOU HAVE READ TILL THIS THANK YOU FOR STAYING AND SUPPORTING WITH THIS BEAUTIFUL JOURNEY

Attachment
0
2025cs0291

Devlog #15 They make jokes worse than ME!!


Minor Updates:

Sus Meter:

  • Create an internal memory object Memory() for each dummy instead of going with a traditional Db for making it optimized and fast
  • This memory stores all the information , (more that of the previous memory module),from major events such as sabotage to small events such as presence near a body

Let’s Talk:

  • Chat bar is moved from Static to Dynamic.
  • Now the Chats are stored to be feed to the AI

Major Update:

Added Crewmate feature

  • Made them run away from the one with high susmeter and stick with the ones with low sus meter, this time added industry standard raycasting + A* alogarithm + Radar pinging + Personal zone overlapping hybrid technique to find the best place to go to rather than going to some random place and getting stuck on the walls.

I make better joke than a 1B parametered AI:

  • Gave ability for ai to talk in rounds
  • they started to make jokes in one such random session (screenshots are attached)
  • installed 4 extremely light weight <1GB models for testing and prototyping they are as follows:
  1. smollm
  2. llama
  3. tinyllama
  4. qwen2.5
  • Connected them all with a character and let them chat for a while

STAY TUNNED FOR!!:

  • Letting AI create STATEGIES to win effectively
  • Giving users to select their own AI models
Attachment
0
2025cs0291

Devlog #14 They FOUND me ! Now i am ejected 🪦


I am not a Ghost

  • Removed ghost feature due to bugs, will add them later
  • Rather than that decided to split the remaining work of the dead among others

Tasks master:

  • Previously the tasks were there but had no clear use to them
  • So added a central TaskManager is handles the tasks and checks if all
  • It has a simple yet reliable asthetics

democracy🦅🦅🦅:

  • Gave equal voting rights to all
  • THEN THEY DECIDED TO VOTE ME OUT!!!!

STAY TUNNED FOR!!:

  • Giving all the power and information to ai 🪦😈🪦
  • Creating a sus meter
Attachment
0
2025cs0291

Devlog #13: I CANT HIDE !! (PLS HELP ME…)


They report me if i vented☠️

  • The visualZone that we previously seen was implied only to the player , now i extended it to the AI models too
  • With that power they constantly keep survialance over the viewable region of their (not everywhere)
  • This gives AI 2 powers that humans have:
  1. Reporting (on seeing a dead body)
  2. Calling Emergency meet (on seeing someone vent)

UPNEXT ON AMONG AI devlogs:

  • they now want the ability to kill others
  • Finally the winning & lossing logic
0
2025cs0291

Devlog #12: THEY CAN RUN NOW ☠️☠️☠️!!

(this is the end hold your breath and count to ten…)

AIs started not run but chase me ☠️

  • Similar to how the AIs trace to any location using the A* algorithm , made them follow a person.
  • But the issue is you cant just calculate for 60 times per second!! (since it runs on 60fps)
  • Hence provided it with a simple cooldown timer
  • Also changed how the easyStar finds the path by increasing the tile count and disabling corner cutting

UPNEXT ON AMONG AI devlogs:

  • Make them do tasks (and eventually take your job away from you😈)
  • Make them kill & sabotage (i wonder can this model be implimented on real life😅)
0
2025cs0291

Devlog #11: WALKING IS OUR RIGHT!!


AIs want to walk also ☠️

  • so made a module commandTowalk (ig) to make it walk to any location that they want around the map
  • So used the classic A* algorithm to make them find the best possible path , by subtracting the grids with walks/unwalkable objects
  • Even then they tried to go through the walks since that seemed optimal path for some reason , so i had to literally rename each location into sub-names such that there is no obstacles inside it
  • But also they should’nt violate the previously made memory method to store the location

UPNEXT ON AMONG AI devlogs:

  • make ai do the jobs (not yours) , ie the tasks on the ship to completelt act like an crewmate and actually help the team (unlike me who just goes to hackathon for eacting 😅)
0
2025cs0291

Devlog #10: Let me steal your data (dont worry only game data 😅)


Let’s start from your movements

  • Provided the AI agents with a visualZone and it observes the people inside it
  • But my problem was that it sees at 60fps hence to solve that i implimented 2 things

Shifting: Added Shift() operator to check and shift whenever there are too many datas in the local data strucuture itself

Individual CoolDown time: if a person is seen within the recent 5 seconds it will wait before logging that data in , like that one friend who checks the fridge often like food is gonna spawn

Others Activity observation

  • we also measure (For how much time someone stays at a task) and what he did and where
  • is there any dead body or someone vented recently
0
2025cs0291

Devlog #9 I AM GONNA START BACK , BACKEND (sht that’s a bad joke)


Highlighted Frontend features:

  • Engine & Environment: React-Phaser Shell configured, Map/Camera bound, Sprite Animations sliced, Custom Arrow Cursor applied, and 3 Bot Players spawned.
  • Atmosphere & UI: Fog/Darkness lighting engine, Mini-map tracking, Dynamic Role-based Icons, and SFX Sync .
  • Crewmate Mechanics: Proximity detection for Tasks/Emergency, interactive Task Pop-ups (Puzzles, and mini games), and Report sequences (placeOnCircle table reset + Chat UI).
  • Impostor Mechanics: Kill Zone targeting, Venting (Animation + Teleport), Cooldown Timers, and Sabotage (20-second Blackout + 20% Task Reset penalty)

STAY TUNNED FOR!!:

.- ai agents to control all the buttons

  • GIve AI agents all the data to create startegies
  • Let them Chat and lie (finally the evil ai)
Attachment
2

Comments

rupnil.codes
rupnil.codes 16 days ago

peak

2025cs0291
2025cs0291 16 days ago

Thank you :)

2025cs0291

Devlog #8: Only Noobs (definitely not me) will Vent & sabotage in Among AI


The “Killing Spot” Handshake

  • The Logic: When an Imposter interacts with a vent, the engine identifies a destination (a “killing spot”).
  • The Sequence: The player triggers a vent animation, the physics body is temporarily “shielded” to prevent movement glitches, and the character is teleported to the target coordinates.

The “Animation Shield” (State Machine)

  • I builded a state of art animation by downloading it from internet 😅

  • The Fix:

  • This was a headache for me,Honestly: This flag acts as a Logical Shield, preventing the update() loop from forcing the player back into a “Walking” frame while the “Venting” atlas is active. This resolved the Texture frame not found errors that occur when the engine tries to find a walking frame in a vent texture.

Sabotage: Dark-dark fruit

  • The Mechanism: When triggered, the BitmapMask Lighting Engine is overwritten. The light radius shrinks to a claustrophobic minimum, and the alpha is dropped to intensify the darkness.
    for 10 seconds

Context-Aware Input: The “Universal Spacebar”

One of the biggest UX improvements is the Dynamic Button Switching.

  • The Problem: Having separate keys for Use, Vent, and Sabotage feels cluttered.
  • The Solution: I implemented Input Overloading. The engine now constantly calculates which interactable is closest to the player , for people like me this makes me feel like i know a lot
0
2025cs0291

Devlog #7: DOMAIN EXPANSION: New Zones & Tasks


The “Hula Hoop” Reach System

  • Kill Zone (200px): A wider radius for the Impostor’s high-stakes actions.
  • Interact Zone (150px): An invisible “hula hoop” that acts as the player’s reach.

By tracking these zones to the player’s coordinates in the update() loop, the game now possesses “Spatial Intelligence.” The USE button only wakes up when the interaction bubble intersects with the Tiled-harvested Task Groups.

Frame-Perfect UI Sync

  1. Reset: currentTask is cleared to null every frame.
  2. Physics: Overlaps are checked, potentially populating currentTask.
  3. Visuals: The UI reads the final verdict and updates the button’s alpha and interactivity.
    This ensures the player never experiences “input lag” when standing on a task.

Added Some kid’s Tasks

  1. Byte Animal detection
  2. Tic tac Too
  3. File Download
  4. Stone Paper Scissor (hard version :) )
  5. A small terminal
Attachment
Attachment
Attachment
Attachment
Attachment
0
2025cs0291

Devlog #6: Meeting System & React Bridge

Meetings

  • Added emergency meeeting room using reactjs but triggered it with Phaser engine (it is interesting trust me :) )

The Hybrid UI (React + Framer Motion)

  • I used Framer Motion for spring-based animations & pop-ups

The Global Bridge (Data Contract)

  • Established a Data Contract where Phaser “scrapes” the game world—collecting player IDs, colors, and life statuses—and pipes them through a global window.triggerMeeting bridge. This allows React to render dynamic SVGs that perfectly match the WebGL shader colors in the game.

Optimisation

  • paused the game and reduced the game while meeting is going on
  • used Svg for dynamically changing color and save load
Attachment
Attachment
0
2025cs0291

Devlog #5: Buttons & UI

hover & press tweens

  • Normal hover animations are not effective hence use tweens along with curves to ease it

Kill Zone(The Big Milestone)

  • this was the most challenging part since first i tried to calculate all the shortestDistance between all the characters and those had shortestDistance<150will be selected as targets
  • Then now after going through the phaser.js docs i came to realise i could create a much more efficient with the help of Zone property provided by the Phaser.js

The UI Bug

  • The in UI hovering & active and active states introduced a lot of problem
  • I finally resolved all of them with the help data manager feature provided by the phaser and created game objects buttons with Data property to create active state
0
2025cs0291

Devlog #4: Engine Foundations, Advanced Shaders & UI

Atmosphere & Navigation

  • Dynamic Minimap: Created an anchored UI container featuring a scaled-down map and a green tracking dot that calculates mathematical ratios to follow the player in real-time.
  • Fog of War / Darkness: simulated a localized flashlight effect in pitch-black rooms.

Custom GPU Shaders (The Big Milestone)

  • Dummy Bot: Implemented a physics group of “Dummy”
  • WebGL RGB Masking: Bypassed standard tinting by writing a custom GLSL GPU Shader (RGBMaskPipeline). The shader reads a pure Red/Blue/Green base asset and mathematically replaces those channels with custom Hex colors at the pixel level.
  • Data-Driven Architecture: Refactored the shader implementation into a separate, DRY file (RGBShader.ts). Utilized Phaser’s Data Manager (setData/getData) to attach unique color preset “backpacks” to individual sprites, preventing shared-memory bugs.
  • UI Setted up the Base for the basic UI
Attachment
0
2025cs0291

Devlog #2 - Creation of maps & character assets

Updates:

  • tried creating assets from various platforms including multiple pixel maker , but fortunately found a repo with all the among us assets and sprites
  • Added them to the game and allowed some basic movement

Features:

  • movement

Future:

  • Make the map and the background complete first
Attachment
0
2025cs0291

Devlog #1 when the imposter is sus

WHAT IS AMONG AI?

Among AI : A game built from scratch to test popular AI model’s lying ability

Built using the powerful Phaser gaming engine , from the scratch up to render 2D graphics on top of reactJS and then added with the latest local LLM models such as gemma,ollama,gpt-4.1 and others to create a perfect pair on the backend to make the actions and strategies.

Phase 1:

  • Gathered all the stack and started coding
  • Complete basic movements on the map
  • create one character
Attachment
0
2025cs0291

Final Update

All the UI were done , in the same
Took time to create the video :)

Features:

  • excel -> AutoCAD
  • AI (gemini) -> autocad

Future Update

  • Ui was done in a hurry with tkinter , hence needs to improve it
Attachment
0
2025cs0291

Shipped this project!

Hours: 16.38
Cookies: 🍪 329
Multiplier: 20.11 cookies/hr

I built a thing that uses local edge-AI to instantly organize Chrome tabs and hunt down hidden memory leaks! The hardest part was getting the on-device LLM to categorize everything without taking a full minute and choking the CPU, but I figured it out by chunking the tabs into small batches and keeping a single AI session persistent instead of rebooting it. Really happy with how it turned out :)

2025cs0291

Added the final extension version and fixed the bugs

now it is the best ever there is. :)
will continue on improving… to make it more efficient and will add it soon to the chrome webstore

Attachment
0
2025cs0291

Shipped this project!

Hours: 1.1
Cookies: 🍪 6
Multiplier: 5.87 cookies/hr

Welcome to the engine room of adinath.tech! 🚀

I’m Adinath, an SDE who’s fully committed to building awesome things (and occasionally pushing my luck with late-night deployments). Think of this repo as the main branch of my brain.

Whether I’m React-ing to sleek UI designs, orchestrating AI agents, or hacking together my next startup idea, this is where the caffeine officially turns into code. I promise my projects always have class (along with a few quirky objects).

Feel free to checkout the source code, explore the architecture, and see what I’ve been building. Just try not to cause any merge conflicts! 😉

If you like what you see, feel free to drop a ⭐. It’s the only feature request I’ll accept without a Jira ticket!

2025cs0291

Shipped this project!

Hours: 2.89
Cookies: 🍪 63
Multiplier: 21.88 cookies/hr

I built Zen Zoo, a context-aware ‘System Soul’ digital pet that cures doom-scrolling by reacting to your live battery, weather, and habits! The hardest part was animating a 1,000+ node dot-matrix grid smoothly in React Native, but I figured it out by building a custom zero-asset 2D math engine and aggressively tying the render loop to app lifecycle states to hit 0% background drain. Really happy with how it perfectly nailed the Nothing OS aesthetic! :)

2025cs0291

Made the Demo UI better and fixed bugs with the permissions extensions
location (for weather) , battery based aniamtions

Attachment
0
2025cs0291

Main Menu & Features:

Added a simple main menu for the UI to navigate easily between the 2D , 3D , others

Other Features:

  • added functionlity to the bulk rendering
  • just integrated gemini studion to make it work better towards creating the workable CAD json
Attachment
0
2025cs0291

UI IMPROVEMENT & Features

  • Added side tab for the UI to look cleaner
  • Found a way to use json as a method for JSON for CAD
Attachment
0
2025cs0291

Shipped this project!

Hours: 0.38
Cookies: 🍪 4
Multiplier: 10.44 cookies/hr

Zen Zoo, a dot-matrix “System Soul” widget! Living pets replace boring notifications, reacting to your battery, weather, and calendar.
IN SIMPLE WORDS , It is a duolingo for digital wellbeing
The challenge was Coding a custom 2D graphics engine in React Native to smoothly animate a 1,000+ node grid.
Main goal was to kill doom-scrolling with empathy, inspired by the duolingo.

2025cs0291

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0