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

pranay

@pranay

Joined June 1st, 2026

  • 13Devlogs
  • 4Projects
  • 2Ships
  • 15Votes
Open comments for this post

2h 1m 36s logged

Devlog 06

Unfortunately, I couldn’t get the clipboard history to come up in the M+ panel. Instead, I made a system stats counter (image one). I know, it’s not as useful and it has some pretty lame stats right now. I can’t fix the useful part, but I will try to make the stats more fun/interesting by the next devlog (which hopefully won’t take a week this time).

Anyway, I also started working on the settings app (image two). The “update” buttons don’t do anything right now, but they will soon. Thank you for reading through this devlog and have a great day!!

0
0
10
Open comments for this post

53m 23s logged

Devlog 05

A pretty small devlog today. Just got the M+ button working with the currently open windows. The problem with the clipboard history is that I have to get website permission from the user to do that. I don’t really know how to do that, so I’ll work on that either later today or tomorrow.

0
0
13
Open comments for this post

1h 30m 41s logged

Devlog 01

What is Glide?

Glide is a Mac note-taking/task planner app built for students. You take notes and create tasks by typing things like “9:00 [] Integral rules homework @daily.” The tasks are then parsed live into a clean, structured timeline. In the future, we want to make an iOS app, add sync, and more features that will help students. Also, I’m making this app with @aarnav_sharma and @harieshkarth.

Why Glide?

Every other note-taking app that we’ve tried is either overwhelming or missing features students (like us) would want. Glide is our attempt to fix that.

What I did in these 90 minutes

Now that you guys have some content on the app. So far, I’ve made a basic window so that I can on the line parsing stuff. The images attached show you what the line parsing (as of right now) is doing.

0
0
35
Ship

Hi everyone!

I made a WebOS that is themed around calculators. From naming to what apps do, I tried to take inspiration from how calculators do it.

Features:
- Ability to have multiple windows of the same app (done through IDs and cloning HTML)
- The Operator: a calculator and search bar that controls the operating system (click the mouse-following calculator icon in the top left)
- Live math evaluation in the Operator/calculator (thanks to math.js)
- Ability to search for apps in the Operator
- Window management through the four basic operator icons (+, -, ×, ÷) in the middle of the top bar
- Calculation history storage via localStorage
- The Root app: a file explorer for browsing calculation history and installed apps

For the second ship, I want to add functionality to the M+ button in the top bar, so that it shows clipboard history and current open windows.

Roadblocks:
Module scoping for the JavaScript files was probably the most annoying thing in the project. Functions defined in type="module" scripts were invisible to onclick attributes in HTML, so a ReferenceError would occur every time a button was clicked. It took me so long to figure out that you had to expose functions via window.functionName. Another issue I had was with my window manager system. I had to add ID's to every duplicated window (since apps can have multiple windows open). This got really frustrating because every time I wanted to edit attributes of a certain window using JavaScript, I needed that window ID. The logic for retrieving that ID took me a while to figure out.

Proud Of:
Though that window manager that caused me so many bugs, I am so proud of how it turned out. Figuring out the logic for it took a long time, but it was mostly fun. I'm also proud of how I handle new apps. Instead of having to add all that app's code into index.html or having to change a ton of JavaScript to account for that new app, my project automatically accounts for new apps based on .html files in the "apps" folder.

Thank you for going through my ship and have a great day!!

Try project → See source code →
Open comments for this post

3h 11m 52s logged

Devlog 04 - Browse your FILES

Finished

I wrote instructions on how to use the operating system in the Welcome app. Also, as I said I will last time, I made an app. It’s called Root because “root directory” and the math term “root”. It’s not the best name ever, but it’s good enough. Speaking of names, for the calculator/search thingy, I picked the name Operator cause it controls a lot of the OS.

Next Up

Now, I’m going to ship this OS. Then, I’ll work on the M+ button (the clipboard manager and app switcher for the operating system), the math store idea where you can download apps for different math things, and a settings app for customization.

0
0
18
Open comments for this post

3h 34m 10s logged

Devlog 03 - FINALLY the MATH

Finished

Last time, I said I was going to make more apps before I do the calculator. However, the calculator seemed way more fun than random math-related apps, so that’s exactly what I worked on. As you can see in the images, you can now do math in the calculator searchbar thingy (still need a name for it), and you can search for apps.

Next

This time, for real, I’m going to make more apps. I’m probably going to start with a file explorer that shows previous math calculations as files.
After I’m done making a couple of apps, I’ll work on the clipboard (the M+ button from my previous devlogs).
Once both of those are done, the OS should be ready to ship, and for my second ship of the OS, I want to make the math store and add customization.

0
0
15
Open comments for this post

1h 12m 11s logged

Devlog 02 - All the windows you want

It’s been way too long since my previous devlog.

Finished

You can now create multiple windows of the same app (as you can see in the image) by clicking the × symbol at the top.

I created an “apps” folder in my project to store HTML files, and each file contains a single div that holds an entire app. This setup should simplify developing more apps in the future since all I have to do is create an html file in that folder. This new system of making apps meant that I had to change the loading app logic in script.js, but luckily, it wasn’t that different to the previous logic.

Selected windows now actually look different when compared to unselected windows. It took me a while to figure out how to do that CSS effect, so hopefully that was worth it.

Next

Now, I’m going to work on actually making good looking apps that have more than just text in them.

Then, I will on the calculator search menu that will eventually control the entire operating system. Still not completely sure how that’s going to work though.

0
0
7
Open comments for this post

3h 34m 31s logged

Devlog 01

Finished

  • A top bar (inspired by MacOS)
    • M+ will be the clipboard manager
  • Four operations (+/-/x/÷) at the center of the top bar; these control the selected window
    • +: maximizes the window
    • -: hides the window
    • x: creates a new window for the selected app
    • ÷: quits the selected app
  • Window manager logic that allows multiple windows of the same app (by duplication html and using IDs for each window)

Future Plans

  • The main calculator menu (like a search bar, but a calculator and everything in the operating system will be controlled from here)
  • A file explorer to look back at previous calculations (history files)
  • A math store (app store) to install higher levels of math; I don’t know what the higher levels of math will be used for in the OS, but yeah

Note

divs have to be the best component in html

0
0
38
Ship

Hello everyone!

I built a Raycast extension built for FRC (FIRST Robotics Competition) programmers. It basically has a couple of commands for looking up documentation and converting common FRC-specific units right inside Raycast instead of having a bunch of tabs open to do the same thing.

If you haven’t used it, [Raycast](https://www.raycast.com/) is a super fast keyboard launcher app where you can search, run commands, and build little custom extensions that can be then be used really easily on your computer. FRC is a robotics competition where high school teams build and program robots to compete in a game that changes every year, and [WPILib](https://docs.wpilib.org/en/stable/index.html) is the software library most FRC teams use to write their robot's code.

### What The Extension Does

The extension has the following features: searchable WPILib Java and C++ documentation, a quick link to WPILib's status light reference page for decoding hardware indicator lights, and a unit converter for things like velocity, angular velocity, torque, and force that come up sometimes when writing robot code and just robot stuff in general.

Instead of scraping documentation webpages, the Java and C++ commands pull the same search index files that power each site's own search bar, parse them into something usable, and cache the results so repeat searches are instant rather than re-fetching every time.

### Roadblocks

Adding the Python documentation feature was a huge headache since the url I was pulling the search data from kept randomly blocking requests and instead sent a Cloudflare auth page (which is a good thing, I'm not saying human auth pages are bad), and nothing I tried got around it consistently. I eventually had to just cut the feature from the extension.

Aside from that, there was a lot of annoying bug hunting in the unit converter, you know the kind where you try and hit flies with your hands, but you simply can't move fast enough. Anyway, I also had to figure out how to use markdown (the detail panels in Raycast use markdown) and make it look good. That learning started as an annoying process due to markdown's limitations, but it actually became quite fun trying to work around those limitations.

### What I'm proud of

I'm most proud of the unit converter. Though the Java and C++ documentation search are more useful, I just had a really fun time mapping out the logic for the unit converter and actually coding it when compared to the documentation search features.

This is also the first time I’ve built something intended for other people to use. I’ve always coded random passion projects in my free time, but actually shipping something that's actually useful for other people is a huge first for me.

### Try it Out

The Try it Out button takes you to instructions that tell you how to install the extension. Sorry that the process is a hassle, but until Raycast approves the extension, this is the only way to share the project with people.

  • 5 devlogs
  • 10h
  • 17.25x multiplier
  • 165 Stardust
Try project → See source code →
Open comments for this post

1h 8m 1s logged

Devlog 05

Finished cleaning up the repo and wrote a temporary file explaining how to manually install the extension, then submitted it to Raycast for review.

Raycast’s review bot then caught a handful of bugs I hadn’t noticed. So, I fixed those bugs and pushed those changes. I also swapped the C++ documentation code out for code that safely parsing the data as plain JSON instead of using eval, so it only ever reads data and never executes anything. During that process, I also got a bunch of TypeScript errors due to not properly giving everything an object type.

The extension is now in Raycast’s review queue. Next up is just waiting on that, and addressing anything else reviewers flag. In the meanwhile, anyone that wants to try out the extension can manually install it using the Try it Out link.

0
0
31
Open comments for this post

1h 49m 34s logged

Devlog 04

The Python documentation feature turned out to be very annoying. The search index url I am using to fetch the documentation was being way too inconsistent. Half the time, it gave the data and half the time, it gave back a Cloudflare auth page. So I decided to drop that feature entirely. Here is the search index url I was using in case anyone knows how to get past the auth page: https://robotpy.readthedocs.io/projects/robotpy/en/stable/searchindex.js. The screenshot shows what is supposed to fetched from this url.

I also built a feature to look up status indicator lights for various FRC hardware components, but realized there’s already a single webpage that has all of this information laid out well. So instead of rebuilding that information inside the extension, the feature now just opens that webpage directly.

Next up, I’m going to finish tidying up the repo, write a temporary instructions file explaining how to manually install the extension (since it isn’t live yet), and submit it to Raycast for review so it can be officially published.

0
0
11
Open comments for this post

2h 44m 32s logged

Devlog 03

I improved how the extension fetches the Java documentation. Instead of fetching 600 something URLs (one for each class in the WPILib library), it now only fetches one search index URL.

I also got the C++ documentation lookup feature working. Unfortunately, the C++ documentation’s search data doesn’t include as much detail as the Java one. It doesn’t tell you what functions each class has, so the C++ results are a bit more bare-bones for now. You can see what it looks like in the attached screenshot.

I’m currently working on adding Python documentation support. It’s been a bit annoying since the search index URL for the Python docs sometimes is sending HTML instead of javascript. Once I get that fixed, I can finally get to the motor/sensor lookup feature.

0
0
10
Open comments for this post

3h 13m 43s logged

Devlog 1 (8 hours left)

Game idea: a game where players draw wet ink paths to guide origami pieces from printers to demanding shredders before the shredders destroy the page. To succeed, players must manage traffic to prevent expanding ink lines from cutting the paper and direct origami pieces to break random ink cartridges for more ink resources.

This game is for a game jam that started Wednesday and is due at the end of the day. I only had time to work on it yesterday. Today, I have all of today, but we’ll see if I can finish in time.

So far, the player can draw ink (the blue line below) and printers (the white boxes) spawn in randomly every ten seconds.

0
0
16
Open comments for this post

3h 7m 28s logged

Devlog 02

The extension can now fetch the Java WPILib (the library mainly used in FRC) documentation and display all the classes and methods in the library. Once you fetch the documentation (takes ~one minute), you only have to fetch it again when you want to update what you have cached.

Tomorrow’s plans are to show descriptions of classes, show descriptions of methods, and add either Python or C++ WPILib documentation.

0
0
40
Open comments for this post

45m 39s logged

Devlog 01

As of right now, the unit converter (the command in the video) is the only part of the extension that is completely done. Most of the unit converter was done last week. Today, I added the action menu so that you can copy the answer and quickly put it in the search bar.

In the future, I plan on adding a WPILib (the main library used for First Robotics Competition coding) documentation viewer, a motor/sensor status lookup, and a robot status monitor (that would be in the menu bar).

Posting this early the development in order to get some feedback.

0
0
13

Followers

Loading…