stardance has been extended another month! the new deadline is october 31 :)

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

Ash-ioL

@Ash-ioL

Joined June 3rd, 2026

  • 26Devlogs
  • 8Projects
  • 6Ships
  • 85Votes
I like machine learning, competitive programming style problems, robotics, and just making stuff ig.
Open comments for this post

1h 55m 32s logged

Devlog 2

I added better overlap prevention by making it so that the page is still interactable when running, but this still has some flaws with reloading, and inconsistencies with cache and actual values which need to be fixed.

I also added the html structure that replicates the attached design (generated by figma ai). Currently there’s no styling, only the code stucture.

Future plans:

  • Improve overlap prevention
  • Add classes to make design styling easier
  • Complete number slider
  • Figure out why the speed seems to be capped
  • Code logic for the results

Struggles:

Not much but it feels kind of tedious to write each thing line by line even though I’m using autocomplete. I’m also struggling to figure out why there’s a max speed cap.

0
0
16
Open comments for this post

4h 12m 1s logged

Devlog 1

I made a quick prototype, and added several sorting algorithms. It is at a usable state but has many bugs. It displays the result as an alert like this. Biggest challenge was working with all the small variables like the time and stuff and working with asynchronization.

0
0
17
Ship

Important information below!
I present to you my Handwritten Digit Predictor! It uses a CNN made with TensorFlow. I’m proud that it’s a polished project I can put on my portfolio :D

The biggest challenge was the preprocessing part of the image to make it know what part of the image is a number and what is the background. It can still be a little stubborn though so go easy on it by keeping the number clear and isolated when testing it out.

You can either draw it on a piece of paper and upload the picture of the number or you can simply just use the paint app or something like excalidraw.com and upload the screenshot (or drag and drop it). For that reason I didn’t include a canvas feature in the website so I don’t have to reinvent the wheel.

It’s important that the background and number have a clear contrast and make sure you have the inversion toggle set properly. (I wouldn’t mess with the threshold scale unless you know what your doing).

  • 2 devlogs
  • 5h
  • 9.71x multiplier
  • 50 Stardust
Try project → See source code →
Open comments for this post

3h 9m 21s logged

SETTINGS PANEL!

When using this project there can be a lot of issues such as bad lighting, no accessible black on white resources, etc. And I was actually inspired to add this when I was walking around school and I saw that most of the numbers in places were white numbers on a dark background. So I thought why not make this program be able to read those?

This took me surprising not as long as I thought it would take. I spend a quick 20-30 minutes making a rough draft, then I did the typescript, and in the end I styled it and tested it out and 3 hours is great honestly by my standards.

Signing off,
Ash-ioL

0
0
13
Open comments for this post

2h 2m 20s logged

Switched to a better deployment

My ship had changes requested to it to not deploy the project on services like render that go to sleep and take a minute to wake up.

I switched to vercel’s serverless function which doesn’t have that issue. I had to swap out my requirements for packages to more lightweight versions of them in order to make it compatible for this deployment. It took a couple of tinkering.

Signing off,
Ashwath Arasuraj Sankar

1
0
16
Ship ✨ Blessed

SHIPWRIGHTS: Please read the instructions below 🙏❤️. And please take the time to try this out fully; I promise you’ll like it :D

I made a web app with a frontend and backend that demonstrates an AI model that predicts numbers.

The most challenging part was preprocessing the image, there were so many conditions like shadows, blur, center, size, and properties of the input image that needed to be nullified as much as possible.

I am proud of everything honestly… not much to say. But I am especially proud of how usable it is. I had a couple friends test it out and they said it was really friendly with all the guides and facts inside the webpage, and it worked like a charm.

Shipwrights please read below:

Instructions to try:

  1. Grab a quick white sheet of paper and with a black marker or pen, write a random digit from 0 to 9. Make sure the digit is relatively thick.

  2. Now here’s the tricky part. It’s a bit easier on phone. If your trying it out on a PC, you might have to take a picture on your phone and transfer the image to your PC and upload it in the website. But on phone, you can take a picture directly on the website.

  3. When taking a picture, make sure you have distanced the number from the camera so there aren’t any shadows, try to zoom in and keep it centered, focused, and clear.

  4. Once you’ve uploaded the image or have taken the picture in the website, It will load for a bit. You might run into an issue here and it’s not in my control. The backend service I’m using, Render, falls asleep every 15 minutes and will take up to 1 minute to wake. So if you’re confused and its loading for over a minute, refresh the page and retake/reupload the image. Sorry for this inconvienience.

  5. After it’s done loading, it will show you the prediction and the confidence and as well as a couple of facts on how the project works.

Thank you for reading till the end!

  • 5 devlogs
  • 17h
  • 14.70x multiplier
  • 299 Stardust
Try project → See source code →
Open comments for this post

4h 35m 5s logged

lots of tuning & mobile support

I spend the majority of my time in the preprocessing code trying to get it to work. I tried things like finding contours, adaptive threshold, and other things but I ended up just using thresh otsu and multiplying that threshold value by something near 2 and it ended up working out.

After that I was setting up cors allowed origins with the production domain, and I went through all my css and made sure its responsive and supports mobile devices.

My biggest challenge was honestly finding time to do this. I’m taking a heavy classload this year and with other commitments I could only squeeze out like an hour of my afternoon on this every day and I worked on it mostly in class and during lunch. But however it bugged me so much (and still does) of how fragile this model is to shadows and such, although I made it less impactful.

Signing off,
Ash-ioL

0
0
64
Open comments for this post

2h 35m 37s logged

Loading Screen Complete and Results Screen Layout Complete

I created a simple loading screen to transition into the final result after the image is uploaded. For the loading screen I just put the image they uploaded and underneath it the name of the image they uploaded. For the animated ray, I used a parent container to remove overflow and a pseudo-element to have the moving ray. The biggest challenge was messing around with the perfect amounts of blur, opacity, ray width, and direction to make it look put together.

I also started working on the results UI. It displays the preprocessed image, prediction, confidence score, and some information about the pipeline behind this project. Since I am done with the UI, now I just need to use the fetch api in Javascript to get the response and feed it into the results. And some other polishing.

In the backend, I still need to fix the preprocessing bug but I figured it would be easier to debug if I finish the frontend first since I can use it as a tool to take a picture and see what it gives.

0
0
12
Open comments for this post

1h 12m 5s logged

Added a Footer and Some Logos

So I added a footer in the bottom with social links and in the top I added a logo, along with a big transparent one in the background. I also made the file input button a html file input tag so it utilizes the file inputting and camera use. I’ve really just been adding stuff and not worrying too much about organization. I’m hoping I’ll be done with the project before that impacts me.

Signing off,
Ash-ioL

0
0
7
Open comments for this post

2h 8m 51s logged

Webpage diagrams and icons added

I generated the svgs for the icons and the diagrams with AI. I manually did the colors and layout. Next I am going to make it responsive and compatible with phones. After that, I need to fix an issue with the preprocessing of the image in the backend.

Testing it out was kind of a hassle with taking a picture, uploading it to drive, using my laptop to send it to the model. But since I tested it out, I was able to know that something was wrong.

0
0
5
Open comments for this post

6h 25m 24s logged

Backend Complete

I completed the API part of the project. It allows users send a post request with the image and gives the prediction as the response.

I also have it deployed publicly.

I spent a huge amount of time in the preprocessing step for the image since there were a lot of steps involved and lots of places for things to go wrong.

Started testing with a frontend to make sure it works but I haven’t added any elements to it yet.

Signing off,
Ash-ioL

0
0
14
Open comments for this post

2h 52m 47s logged

Organization and change of plans

Completed:

  • I learned ES Modules a little bit and I organized my 600 line javascript file into 4 different files, increasing the scalability and just making it easier to work with.
  • I also scrapped the section on the page that was reserved for settings, and I decided to add a separate panel that pops in and out to save space and put more focus on the central grid.

Challenges:

  • I spent like an hour or 2 finding small things that were out of scope or dealing with named and default exports.
  • Some css shenanigans figuring out why this does that or if I need this etc.

Context:

So I’ve been busy for a while and I’m just getting back to working on this project after like 4 months or maybe more. I’ve probably spend like 30 unlogged hours on this project before stardance which mostly involved designing assets, working with grid scaling, learning canvas, and fixing the robot logic and input, that kind of base stuff. After that I need to like make it user interactive with styled buttons and layout and stuff so people can build their own obstacles, resize the grid, and maybe even use some pathfinding algorithms.

So yea, that’s why instead of doing something that involves actually using my previously coded code, I decided to do organization today to ease in to it.

Signing off,
Ash-ioL

0
0
8
Open comments for this post

5h 24m 59s logged

Ready for ACTION!

The robot is now at a functional state with lots of new automation and is ready to compete in an offseason competition.

It certainly took a lot of time, especially with the abundant testing, and fixing some confusing bugs.

Completed:

  • Added manual aim adjustment
  • Created and saved elastic dashboard

Challenges:

  • There was a bug caused by autonomous path filtering that I helped my team fix. It was hard to find what was causing it and even now I still don’t know why that line was causing a problem.
  • Fixed a bug where the automatic shooting was actually not shooting when everything is ready, but was shooting instantly.

Moving forward:

I’m gonna keep working on this and improving it for our next offseason competition instead of shipping it already. So the plans are:

  • Automatically detect when we’re intaking, shooting, or a certain spot is facing resistance with stator current thresholds.
  • Improve moving while shooting accuracy.
  • Try some object detection, 3d simulation, and vision sim.

Signing off,
Ash-ioL

0
0
5
Ship Changes requested

This project is my contributions to my frc team’s code. For people who are not familiar with frc, it’s a robotics program and the coding here is a lot about systems integration and less about low level functionalities. Since this is a shared project, I cannot make this as a expected stardance project. And since frc projects aren’t really simple to package adn run, I have included a demo video of the simulation instead, where i demonstrate the robot staying inside the bounds, admin control disabling features, and a custom path generation utility.

My biggest challenges were just navigating through the way yagsl (swerve library) works and sometimes i had to work around it even.

I’m proud mainly of the things I was able to learn and familiarize myself with like custom path generation and stuff.

  • 4 devlogs
  • 23h
Try project → See source code →
Open comments for this post

8h 52m 34s logged

Shipping!

With this robot’s demo purpose out of the way and a bunch of working features developed in it, I think it’s a good closing point for this project, for now.

Changes / features added:

  • Collision disabling
  • Robot voltage and other useful loggin
  • Added a boundaries system to kepe the robot in a rectangle boundary
  • Added a precise 2 point angle command to make the robot alignment easy to reset the boundary
  • Boundary override
  • Kid mode to disable admin buttons

Challenges:

  • Pigeon problems with the real robot. I checked everything on my side with yagsl and stuff, and I cna read values from the imu. Its just that yagsl isnt able to get it somehow so ive created like some tests to see if i can manually put in the value. But it would’ve been nice if it worked in a straightforward way.
  • Honestly to be super real, shipping this is gonna be a bit hard. since this isnt like a simple project you can try in your browser, and this isnt entirely my creation, I’m gonna try my best to only share what ive implemented. I’ll try to make a good demo video without boring yall out or confusing yall.

Signing off,
Ash-ioL

0
0
30
Ship ✨ Blessed

This update focuses on the critiques and recommendations I got from my previous ship’s reviews. It completes every request and makes the project USABLE, and more readable. The biggest challenge was deciding how to prevent the time form swiping too quickly, in the end I was able to figure out that a pause button was the best solution.

At first, I was able to use this to show my parents how long they’ve been married. Now YOU also have that opportunity. Feel free to also use this as a stopwatch, or just a general time tracker since any event in history.

Please see the demo video here: https://youtu.be/d_lGbp6TXaE

  • 3 devlogs
  • 6h
  • 4.91x multiplier
  • 35 Stardust
Try project → See source code →
Open comments for this post

1h 49m 39s logged

Completed!

Wow… I got carried away. I know in my previous devlog I said I would finish this project the day after it, but as you can see its been like over a month now. But I guess things just got in the way like robotics, summer classes, and can’t forget about watching tv. Anyways… lets start the devlog.

Features added:

  • Time Selection Option: So now instead of just picking the date which you want the time from, you can be extra precise and pick to the last minute.
  • Pause Button: If you want to see the time in a specific metric, you no longer have ot wait for the animation to cycle back. You can just hit the pause button to freeze what metric it shows (like seconds, minutes, years, etc).

And considering my 1 month gap in web dev, I’m incredibly surprised that I managed to get this done in under 2 hours. I guess it was mainly the simplicity of the pause button. And the whole thing went pretty smoothly but I guess that’s just luck.

Message

The whole point of this update, is to prove that I value your reviews. I thank you Stardance shipwrights for the nice detailed reviews which helped elevate my project to whole ’nother level.

Signing off,
Ash-ioL

0
0
54
Open comments for this post

10h 42m 50s logged

Entering the last week before offseason comp

Trying to make the robot as sophisticated and automated as possible on the controls side here before the offseason event. I’ve haven’t really been working on any other coding project other than this.

Changes/Improvements:

  • Replaced the robot’s default position to x-lock instead of idle. X-lock is a wheel position for swerves that makes the robot hard to move.
  • Changed the polar magnitude limiter to a acceleration limiter which lets us tune things more directly and easily.
  • Developed a list of things the robot should do (like actions to bind to the controller) and implemented them in the code. Many are automated and simple to use, reducing operator error.
  • Fixed some improper commands that were causing issues by not being interrupted properly.
  • Predictive targetting: picks target based on where teh robot WILL be rather than where it is.
  • Experimented with a jerk limit, hoping it’ll cause an s curve but it ended up causing some weird oscillations since it was reactive and not predictive.
  • Logged the state for each subsystem.

To do:

  • Improving our autonomous routines.
  • Add a manual adjustment for targets.

Signing off,
Ash-ioL

0
0
9
Open comments for this post

5h 45m 39s logged

Smoother Tracking, Quicker Maneuvers, Automated Sequences

It’s been a week or two since my last devlog. I’ve been working on this and helping getting it ready with my team for our next offseason competition, which is probably when I’ll do my first ship for my contributions to this project.

Features:

  • Improved aiming while shooting by using the interpolated mean to average the robot’s velocity to make it less impacted by randomness.
  • Smart controller detectoin to see how many controllers your using and binds the functions appropriately.
  • More efficient bump crossing with the robot now snapping to the nearest 45 degrees rather than just a fixed one.
  • Improved compatibility in my customjoystick for simulation.
  • Reduced the logging overhead by removing unecessary stuff that’s only needed in simulation.
  • Made it classify aiming as not idle so that it aims when standing still.

I also spent time adding logging for these features and making sure the code is neat and readable as possible, while double checking and testing in simulation a lot. I also fixed a couple small bugs here and there.

Tha challenges were mainly not that like confusing as it is sometimes. The big thing was like testing and navigating the code which took up the most time. But really this is all worth it because its so nice to see your code just come to life on a real robot.

Signing off,
Ash-ioL

0
0
17
Ship Changes requested

I made a cardboard fan out of scraps I found in my house. My most notable challenge was fixing the switch and making sure it makes contact when locked. To really get my experience with this project I recommend looking through my devlog and github README. I’m most proud of how I consistently worked on this without stopping and I was able to get it done relatively quickly.

  • 1 devlog
  • 5h build
Video of Project → See source code →
Loading more…

Followers

Loading…