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

prajithvishnur

@prajithvishnur

Joined June 1st, 2026

  • 17Devlogs
  • 7Projects
  • 3Ships
  • 45Votes
Ship

I built an AI Jarvis that is purely for NASA-based queries. It gives real-time updates using multiple NASA APIs. My biggest problem was figuring out APIs and using Google Gemini as the base for this project. My biggest limitation is that I can't pay for the better version, so I run into my Gemini limits pretty fast. I hope you enjoy!

  • 6 devlogs
  • 7h
Try project → See source code →
Open comments for this post

20m logged

Added a couple of late-minute changes to make it work better overall. Might add a backup api key later. Shipping for now!

Added a couple of late-minute changes to make it work better overall. Might add a backup api key later. Shipping for now!

Replying to @prajithvishnur

0
3
Open comments for this post

35m 33s logged

Got a lot of scenarios for the game built. It’s going pretty well, also hosting it on git.

Got a lot of scenarios for the game built. It’s going pretty well, also hosting it on git.

Replying to @prajithvishnur

0
10
Open comments for this post

1h 23m 47s logged

Made final tweaks. The app looks kinda awesome. Only downside is that it has Gemini free api limits…. but I think it’s almost ready to ship!

Made final tweaks. The app looks kinda awesome. Only downside is that it has Gemini free api limits…. but I think it’s almost ready to ship!

Replying to @prajithvishnur

0
10
Open comments for this post

23m 26s logged

created a start screen that i think looks rlly cool. hope to turn this into an awesome space game.

created a start screen that i think looks rlly cool. hope to turn this into an awesome space game.

Replying to @prajithvishnur

0
6
Open comments for this post

3h 44m 4s logged

Finally got it published on a website. Looking good. Worked on improving the ui. I think it’s going pretty well.

Finally got it published on a website. Looking good. Worked on improving the ui. I think it’s going pretty well.

Replying to @prajithvishnur

0
9
Open comments for this post

57m 23s logged

Working on getting the project put on a website. Everything seems to be going well so far. i worked on trying to make everything look cool and professional. I hope this goes well!

Working on getting the project put on a website. Everything seems to be going well so far. i worked on trying to make everything look cool and professional. I hope this goes well!

Replying to @prajithvishnur

0
8
Open comments for this post

17m 53s logged

For the second major phase of my Stardance project, I transformed my local python program from a basic command-line interface into an immersive NASA Mission Control simulator. I learned a lot about python and API keys. I overhauled the user experience by building a retro-futuristic ASCII art boot banner, integrating ANSI color matrices for a custom green and cyan HUD terminal, and restructuring the system prompt to promote the operator to “Flight Director.” Technically, I expanded the architecture to dual-query multiple NASA assets simultaneously, including live orbital asteroid defense feeds and deep-space candidate star monitoring, while maintaining a persistent chat state pipeline so the assistant retains context across multiple telemetry commands. I hope to improve this so much and turn it into a website. Right now its talking using my mac.

For the second major phase of my Stardance project, I transformed my local python program from a basic command-line interface into an immersive NASA Mission Control simulator. I learned a lot about python and API keys. I overhauled the user experience by building a retro-futuristic ASCII art boot banner, integrating ANSI color matrices for a custom green and cyan HUD terminal, and restructuring the system prompt to promote the operator to “Flight Director.” Technically, I expanded the architecture to dual-query multiple NASA assets simultaneously, including live orbital asteroid defense feeds and deep-space candidate star monitoring, while maintaining a persistent chat state pipeline so the assistant retains context across multiple telemetry commands. I hope to improve this so much and turn it into a website. Right now its talking using my mac.

Replying to @prajithvishnur

0
6
Open comments for this post

24m 57s logged

For my first devlog, I successfully built and launched the initial prototype of my JARVIS AI assistant using Python on macOS. By integrating NASA’s open APIs with the Google-GenAI SDK running a gemini-2.5-flash model, I created a continuous terminal chat loop that behaves exactly like Tony Stark’s sophisticated assistant. Despite hitting a package namespace conflict and a temporary 503 server capacity spike, the script’s exception handling kept the program alive, ultimately delivering a live, in-character briefing on NASA’s current Mars and Artemis missions.

For my first devlog, I successfully built and launched the initial prototype of my JARVIS AI assistant using Python on macOS. By integrating NASA’s open APIs with the Google-GenAI SDK running a gemini-2.5-flash model, I created a continuous terminal chat loop that behaves exactly like Tony Stark’s sophisticated assistant. Despite hitting a package namespace conflict and a temporary 503 server capacity spike, the script’s exception handling kept the program alive, ultimately delivering a live, in-character briefing on NASA’s current Mars and Artemis missions.

Replying to @prajithvishnur

0
7
Open comments for this post

53m 3s logged

The Compliance Patch & UI Optimization
After submitting the initial build, I ran into a quick compliance hurdle regarding explicit AI disclosures on the actual platform interface. I jumped straight back into the codebase to make the entire workspace 100% airtight and transparent. I embedded a formal AI Attribution and Usage Declaration directly into the live user interface, placing a clean summary anchor inside the sidebar control console and a comprehensive engineering footer at the very bottom of the main dashboard viewport.
While I was under the hood, I also took the opportunity to optimize the front end and clear out some native terminal warnings. I refactored the data logging layout, swapping out the deprecated use_container_width parameters for the updated width=“stretch” property to ensure full compatibility with the latest Streamlit engine standards. After wrestling with a quick remote branch sync in the terminal, the compliance patch was successfully merged and pushed live to GitHub. The digital twin is now fully transparent, warning-free, and officially certified for the final judging review!

The Compliance Patch & UI Optimization
After submitting the initial build, I ran into a quick compliance hurdle regarding explicit AI disclosures on the actual platform interface. I jumped straight back into the codebase to make the entire workspace 100% airtight and transparent. I embedded a formal AI Attribution and Usage Declaration directly into the live user interface, placing a clean summary anchor inside the sidebar control console and a comprehensive engineering footer at the very bottom of the main dashboard viewport.
While I was under the hood, I also took the opportunity to optimize the front end and clear out some native terminal warnings. I refactored the data logging layout, swapping out the deprecated use_container_width parameters for the updated width=“stretch” property to ensure full compatibility with the latest Streamlit engine standards. After wrestling with a quick remote branch sync in the terminal, the compliance patch was successfully merged and pushed live to GitHub. The digital twin is now fully transparent, warning-free, and officially certified for the final judging review!

Replying to @prajithvishnur

0
1
Ship

What did I make?

I made the Manta Ray CFD Architecture, a bio-inspired fluid dynamics simulation engine that models how manta rays filter microplastics without clogging. Instead of standard physical sieves, it simulates vortical separation to show how fluid currents deflect plastic particles away from a filter. The backend calculates real-time buoyancy and drag forces, while the front end displays the tracking simulation on a custom dark-mode HUD dashboard. I hope to use this for my future projects.

What was challenging?

The hardest part was optimizing the physics loop so the mass-continuity formulas and particle drag forces could render in real time without lagging the web interface. I also struggled with writing custom CSS overrides to achieve the exact glassmorphic dashboard look I wanted, alongside resolving some frustrating Git merge conflicts during the live cloud deployment.

What am I proud of?

I am incredibly proud of creating a highly polished, enterprise-grade interface that seamlessly integrates a live physics loop with a persistent telemetry database. Hitting a peak intake flux of 48.8 liters per minute with a perfect 100% deflection purity index during baseline stress tests proved that the underlying mathematical model I built genuinely works.

What should people know so that they can test my project?

To test it, just visit the live link and adjust the sidebar sliders for raker geometry, flow velocity, and debris count to watch the canvas metrics recalculate in real time. Make sure to toggle the Storm Surge Tensors switch, which injects chaotic velocity noise into the fluid grid to stress-test the system for boundary leakage.

Thank you so much for taking the time to view my project. I really hope this is good, as this is one of my first shipped projects!

  • 9 devlogs
  • 11h
Try project → See source code →
Open comments for this post

1h 42m 26s logged

For this final sprint, I focused entirely on turning this from a basic simulation script into a production-grade web application. I spent a lot of time stripping out the default Streamlit styling and injecting custom CSS overrides to build a bespoke, dark-mode HUD dashboard. Now, the platform features glowing cyan metric highlights and a translucent visualization canvas that gives it an elite, aerospace-grade engineering look.

On the physics side, I ran rigorous baseline stress tests to validate the calculation pathways against real-world microplastic data. Under steady-state parameters, the simulation successfully managed an intake flux stream of 48.8 liters per minute and a filtrate discharge of 21.9 liters per minute, locking in a perfect 100% deflection purity index with zero boundary leaks.

I also fully deployed a persistent data logging system using pandas, meaning every single time you tweak a slider for the raker geometry or debris load, the engine instantly tracks those telemetry changes inside a local session state. With the final documentation complete and the repository looking insanely clean, the digital twin is fully public, responsive, and ready to ship.

For this final sprint, I focused entirely on turning this from a basic simulation script into a production-grade web application. I spent a lot of time stripping out the default Streamlit styling and injecting custom CSS overrides to build a bespoke, dark-mode HUD dashboard. Now, the platform features glowing cyan metric highlights and a translucent visualization canvas that gives it an elite, aerospace-grade engineering look.

On the physics side, I ran rigorous baseline stress tests to validate the calculation pathways against real-world microplastic data. Under steady-state parameters, the simulation successfully managed an intake flux stream of 48.8 liters per minute and a filtrate discharge of 21.9 liters per minute, locking in a perfect 100% deflection purity index with zero boundary leaks.

I also fully deployed a persistent data logging system using pandas, meaning every single time you tweak a slider for the raker geometry or debris load, the engine instantly tracks those telemetry changes inside a local session state. With the final documentation complete and the repository looking insanely clean, the digital twin is fully public, responsive, and ready to ship.

Replying to @prajithvishnur

0
3
Open comments for this post

40m 48s logged

The interactive demo is officially live, and we have finally crossed the finish line. What started out as a quiet local Python script running in a terminal has been completely transformed, polished, and deployed into a public, dark-themed Streamlit web application. This final release brings together all the heavy engineering frameworks, integrating full hydrodynamic continuity tracking to maintain perfect mass balance across the filtration channel alongside a high-frequency Storm Surge Mode designed to stress-test the bio-inspired manta ray gill raker geometry against chaotic fluid vectors in real time.
The entire codebase is public, fully synchronized with its environment handlers, and streaming live right now for the world to see. You can jump straight into the live web workspace at https://manta-ray-filtration-system.streamlit.app to test the parameters yourself or explore the open-source repository at https://github.com/prajith-vishnu/manta-ray-filtration-system to dive into the mathematical physics documentation and see how the final build came together.

The interactive demo is officially live, and we have finally crossed the finish line. What started out as a quiet local Python script running in a terminal has been completely transformed, polished, and deployed into a public, dark-themed Streamlit web application. This final release brings together all the heavy engineering frameworks, integrating full hydrodynamic continuity tracking to maintain perfect mass balance across the filtration channel alongside a high-frequency Storm Surge Mode designed to stress-test the bio-inspired manta ray gill raker geometry against chaotic fluid vectors in real time.
The entire codebase is public, fully synchronized with its environment handlers, and streaming live right now for the world to see. You can jump straight into the live web workspace at https://manta-ray-filtration-system.streamlit.app to test the parameters yourself or explore the open-source repository at https://github.com/prajith-vishnu/manta-ray-filtration-system to dive into the mathematical physics documentation and see how the final build came together.

Replying to @prajithvishnur

0
1
Open comments for this post

50m 52s logged

For this next leg of the build, the simulation officially made the massive leap from a quiet backend script running in the terminal into a full-blown, interactive engineering dashboard. I wanted to turn this into a live, playable workspace where anyone could mess with the variables on the fly, so I integrated real-time sliders for flow velocity and raker height alongside a dynamic polymer selector console. Now, instead of hardcoding numbers and re-running the script, you can instantly tweak the setup and watch how different plastics react to the changing fluid currents right in front of you.
The absolute highlight of this session was shipping what I am calling “Storm Surge Mode.” This is basically a brutal stress-test toggle that injects chaotic vertical acceleration forces and fluid velocity eddies straight into the simulation. It completely disrupts the clean current to mimic critical, real-world storm conditions, letting me see if the bio-inspired raker geometry can actually hold its own when things get rough out in the open ocean.
To back all of this up visually, I also had to do a major physics rewrite under the hood. Previously, there were some annoying visual path-clipping bugs where the particle trails would look jagged or cut off near the boundaries. By moving the coordinate logging logic directly inside the nested sub-stepping loop, I finally cleared out those tracking glitches. The engine now delivers pixel-perfect precision right around the edges of the rakers, making the visual simulation look incredibly sharp and professional.

For this next leg of the build, the simulation officially made the massive leap from a quiet backend script running in the terminal into a full-blown, interactive engineering dashboard. I wanted to turn this into a live, playable workspace where anyone could mess with the variables on the fly, so I integrated real-time sliders for flow velocity and raker height alongside a dynamic polymer selector console. Now, instead of hardcoding numbers and re-running the script, you can instantly tweak the setup and watch how different plastics react to the changing fluid currents right in front of you.
The absolute highlight of this session was shipping what I am calling “Storm Surge Mode.” This is basically a brutal stress-test toggle that injects chaotic vertical acceleration forces and fluid velocity eddies straight into the simulation. It completely disrupts the clean current to mimic critical, real-world storm conditions, letting me see if the bio-inspired raker geometry can actually hold its own when things get rough out in the open ocean.
To back all of this up visually, I also had to do a major physics rewrite under the hood. Previously, there were some annoying visual path-clipping bugs where the particle trails would look jagged or cut off near the boundaries. By moving the coordinate logging logic directly inside the nested sub-stepping loop, I finally cleared out those tracking glitches. The engine now delivers pixel-perfect precision right around the edges of the rakers, making the visual simulation look incredibly sharp and professional.

Replying to @prajithvishnur

0
3
Open comments for this post

1h 30m 53s logged

Once the basic single-particle loop was stable, it was time to scale up the complexity to see how the system handled a more realistic, crowded environment. I upgraded the core engine to process a chaotic intake cloud of 50 distinct microplastic particles, all spawning at completely randomized vertical entry points to simulate a true messy current. Throwing that many objects at a high flow velocity of 250 millimeters per second immediately triggered a classic simulation glitch called tunneling, where particles move so fast between frames that they literally skip straight through solid walls without registering a collision.

To fix this boundary breakdown, I implemented a sub-stepping physics processor that cracks open each standard time frame and divides it into 10 microscopic intervals, dropping the delta time down to a razor-sharp one-thousandth of a second. Alongside the processing fix, I overhauled the raker profiles from flat shapes into true downstream-slanted fins using a two-slope geometric matrix that features a gentle leading edge paired with a steep trailing edge. This combination of tighter time tracking and accurate geometry paid off completely, with the high-fidelity engine locking in a mathematically verified 100% filtration efficiency yield and proving that the bio-inspired boundary layer forces can successfully override downward suction to execute clean ricochet separation.

Honestly, working through these complex physics anomalies and structuring the data loops has made things click in a way they never had before, and I am really starting to feel like I’m getting the hang of programming now. My confidence with Python is hitting a whole new level, especially because I have been leveraging AI as an interactive coding partner throughout this entire sprint. Instead of just staring at errors or trying to guess why a boundary layer isn’t registering, I use the AI to brainstorm script architectures, debug tricky syntax bottlenecks, and deeply understand how to properly execute those micro-stepping intervals. It honestly feels like having a senior developer sitting right next to me, helping me bridge the gap between the fluid dynamics math in my head and the actual code, which has completely accelerated how fast I can learn and ship clean software.

Once the basic single-particle loop was stable, it was time to scale up the complexity to see how the system handled a more realistic, crowded environment. I upgraded the core engine to process a chaotic intake cloud of 50 distinct microplastic particles, all spawning at completely randomized vertical entry points to simulate a true messy current. Throwing that many objects at a high flow velocity of 250 millimeters per second immediately triggered a classic simulation glitch called tunneling, where particles move so fast between frames that they literally skip straight through solid walls without registering a collision.

To fix this boundary breakdown, I implemented a sub-stepping physics processor that cracks open each standard time frame and divides it into 10 microscopic intervals, dropping the delta time down to a razor-sharp one-thousandth of a second. Alongside the processing fix, I overhauled the raker profiles from flat shapes into true downstream-slanted fins using a two-slope geometric matrix that features a gentle leading edge paired with a steep trailing edge. This combination of tighter time tracking and accurate geometry paid off completely, with the high-fidelity engine locking in a mathematically verified 100% filtration efficiency yield and proving that the bio-inspired boundary layer forces can successfully override downward suction to execute clean ricochet separation.

Honestly, working through these complex physics anomalies and structuring the data loops has made things click in a way they never had before, and I am really starting to feel like I’m getting the hang of programming now. My confidence with Python is hitting a whole new level, especially because I have been leveraging AI as an interactive coding partner throughout this entire sprint. Instead of just staring at errors or trying to guess why a boundary layer isn’t registering, I use the AI to brainstorm script architectures, debug tricky syntax bottlenecks, and deeply understand how to properly execute those micro-stepping intervals. It honestly feels like having a senior developer sitting right next to me, helping me bridge the gap between the fluid dynamics math in my head and the actual code, which has completely accelerated how fast I can learn and ship clean software.

Replying to @prajithvishnur

0
1
Open comments for this post

42m 42s logged

This project actually started because of a problem I ran into during a previous experiment. I had recently built a working microplastic filter using a homemade castor oil-based ferrofluid, and while it actually worked, it bothered me how much material was wasted in the process. I knew there had to be a cleaner, more sustainable way to separate these particles without constantly burning through physical resources, which is what led me deep into the research of marine biology. That is when I discovered how manta rays use vortical separation inside their gill rakers to filter food out of the ocean without ever clogging. My ultimate goal is to take this digital research and use it to manufacture a real, physical filter one day, but the first step was proving the math could work in a digital environment.
To kick off development, I officially built and launched the core simulation engine inside a script called flow_model.py. The primary challenge here was establishing proper physical scaling, taking a real-world oceanic flow velocity of 31.3 kilometers per hour and accurately converting it down into localized millimeter-per-second computational forces inside the channel. I integrated a sine-wave mathematical function to simulate the unique, bio-inspired vortical fluid behavior that happens when water hits the geometry of the ray’s rakers. The initial tracking code is running incredibly well, calculating smooth coordinate paths for the particles and resolving a full 100mm transit loop in just 0.40 seconds.

This project actually started because of a problem I ran into during a previous experiment. I had recently built a working microplastic filter using a homemade castor oil-based ferrofluid, and while it actually worked, it bothered me how much material was wasted in the process. I knew there had to be a cleaner, more sustainable way to separate these particles without constantly burning through physical resources, which is what led me deep into the research of marine biology. That is when I discovered how manta rays use vortical separation inside their gill rakers to filter food out of the ocean without ever clogging. My ultimate goal is to take this digital research and use it to manufacture a real, physical filter one day, but the first step was proving the math could work in a digital environment.
To kick off development, I officially built and launched the core simulation engine inside a script called flow_model.py. The primary challenge here was establishing proper physical scaling, taking a real-world oceanic flow velocity of 31.3 kilometers per hour and accurately converting it down into localized millimeter-per-second computational forces inside the channel. I integrated a sine-wave mathematical function to simulate the unique, bio-inspired vortical fluid behavior that happens when water hits the geometry of the ray’s rakers. The initial tracking code is running incredibly well, calculating smooth coordinate paths for the particles and resolving a full 100mm transit loop in just 0.40 seconds.

Replying to @prajithvishnur

0
2

Followers

Loading…