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

pi

@pi

Joined June 4th, 2026

  • 24Devlogs
  • 7Projects
  • 3Ships
  • 22Votes
Hi, I'm Pi, or anagram_of_pi. I Enjoy software, tech, programming, etc.. My main programming language is Python, although I've used a few others as well.
Ship Changes requested

Search a Rubik’s Cube for short algorithms that solve a scramble or reach a target pattern.

I made this project after I learned to solve a Rubik’s Cube. See, I have this bad habit of taking something I like and automating it. On the bright side, I now have a program that can automatically solve a Rubik’s Cube, much faster than I can!

To run the Python program, follow the steps linked in the Try Project section.

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

2h 13m 48s logged

I haven’t worked on this in a very long time, haha

So I stopped working on my Rubik’s Cube solver a while ago because it was more or less complete. I never actually submitted it though!

I just spent a few hours cleaning up the repo, fixing some stuff, etc.. It is now presentable and shippable!

I’m not sure exactly how to do this but my demo is actually a hosted web page giving instructions on how to install and run it. It’s not one line but actually two (one for cloning and one for pip install-ing) but I hope that’s okay.

Thanks all!

0
0
25
Open comments for this post

50m 3s logged

I sat down and (for fun!) designed a more modern version of Wikipedia. Just thinking about what an updated UI might look like for them. I’m thinking about using this as an excuse to learn Svelte and actually turn this into a real website…

(Also the hours of designing didn’t count lol)

Please let me know what you think about the design!

0
0
4
Open comments for this post

2h 13m 15s logged

I’ve been working on my physics simulation and I had to convert between two coordinate systems (world space and screen space). My brain really struggled with this one for some reason.


After spending some time trying to work it out in code I gave up and had to create a drawing in Freeform and literally draw out and rescale the vectors, moving them to where they needed to be.
So that’s what this screenshot is! I’ll explain what everything means.
Basically, everything in my engine is a 2D vector. I have a point in world space (represented as a vector of course) and need to convert it to screen space, but they have different origins (center vs top left). The idea is to display it as if it was world space but on the screen. The arrows are me physically placing, moving, and scaling the vectors to find the pattern that converts them.


Anyways, that was hard haha. It broke my brain

0
0
2
Open comments for this post

1h 10m 34s logged

Starting to make a Physics Simulation, written in Go.

I just finished setting up the project to use “ebiten,” a UI library for Go. Additionally, I created a type Vector2D struct with an X and Y as well as Add, Subtract, Scale, Dot, and Rotate methods.

Unfortunately, I don’t have any interesting images to put here, so here’s a screenshot of the vector code :)

0
0
4
Ship

Welcome to Pi WebOS!

This is my submission to the WebOS 2 Mission. I’ve created a paper-themed WebOS with many, many features, ranging from a mini browser to tiny micro-interactions like double clicking the title bar, or window positions being persistent. Made with pure HTML, CSS, and JS.

The project has a built in, intuitive walkthrough, but I’ll also provide a feature list here. You can also watch the short demo attached (also visible on the README).

Features

  • Moveable, resizable, closable windows
  • Window positions save on reload
  • Correct Z ordering after opening a page
  • Draggable files/apps on desktop [NEW]
  • Double click menu bar to fullscreen window
  • Window cannot leave desktop
  • Window snaps back into frame
  • Multiple Apps
    • Text Documents (like this one!)
    • (Mostly) Functional Browser
    • Notes App
    • Settings App [NEW]
  • Menu bar
  • Page Selector
  • Fullscreen OS
  • Browser/OS detection
  • Links that open windows in the OS
  • Keyboard shortcuts (Esc, Shift + Esc, Cmd + Z) [NEW]
  • Customizable themes through the Settings app [NEW]
  • 3 devlogs
  • 6h
  • 4.00x multiplier
  • 22 Stardust
  • WebOS 2
Try project → See source code →
Open comments for this post

59m 39s logged

Custom themes!

Sorry, this is a short devlog, but I just finished the tedious task of letting the JS update every color in the CSS via CSS variables.
Luckily, I had thought ahead and made everything in the CSS already use a variable but there’s a lot of hardcoded values I had to manually input.

0
0
6
Open comments for this post

2h 36m 2s logged

Draggable files on the desktop :)
.
I really like how smooth and bouncy the animation is, and I’m really proud of how well I fit the files in with the rest of the theme. Double clicking gives a really satisfying fluid motion.
Also, they open the windows :)
.
Sidenote, I added keyboard shortcuts! Notably, esc to close windows and cmd z to undo the closing.
I really had to balance the command z because I didn’t want it to undo writing text, but I also didn’t want to completely disable command z on my page. text

1
0
3
Open comments for this post

2h 34m 8s logged

Strategy Functions!
.
So I have a UI (CLI) for the player now. I think it’s pretty cool, each player (3 bots, 1 player) has a field for a strategy function which takes in a game state and returns a card. In the bots’ cases, that means doing logic.
.
But, for the player, I just have a player strategy function that gets the card the user wants and returns that. I really love when something fits in like that without having to make exceptions.
.
Right now, I’m trying to figure out why my code has decided to deal every player the same cards. Very fun.

0
0
3
Open comments for this post

9h 19m 19s logged

I’ve started outlining my new project! I’m making the game Hearts as a CLI.
I’m writing this in Go, a new language for me. I’m excited to learn but it’s been difficult, what with all the unique structure.

About the project, I’ve decided to make structs for players that have a field for their strategy, a function that takes in a state and returns a card. This will let me try out different strategies easily just by writing it in code, but it also seamlessly translates to player input. The function just gets input from stdin instead of doing logic to return a card.

My knowledge of Go (or lack of it) has been challenging because I’m used to knowing the correct way of doing something in Python whereas in Go I’m just making things up :)

0
0
4
Open comments for this post

2h 4m 33s logged

As mentioned before, being intrusive on the slack is a major issue for me. I spent a while working on this (some of the time working on this was counted in my last devlog which had 10h on it).

Now you can put the flags /bot [–disable-{here|me|channel} #channelname]
Which lets you disable the bot for the current channel, yourself, or a specified channel. The same options exist for [–enable-{here|me|channel}].

Additionally, I spent some time using blockit (a slack tool) to make this mini UI with a disable button.

The disable works by saving to a json file the channel/user ID and an enabled or disabled string (so there is room for other options as well!)
Interestingly, I didn’t have to differentiate between user IDs or channel IDs. The user just puts @user or #channel and the ID is passed directly as a string to the bot.

0
0
4
Open comments for this post

10h 26m 2s logged

So believe it or not, the hardest part about this project was the social aspect.

I make this slack bot that checks if the first letters of each word in a message spell something, thinking this will maybe happen to one person a day, or even less. Very uncommon. I even made sure the words had to be at least four letters so it didn’t trigger as often.

So I leave this bot going for about 12 hours while I sleep. I wake up and it has replied to 42 different messages.

I’m so sorry if that was you! It has been stopped!

0
0
3
Open comments for this post

1h 59m 22s logged

Learned another basic JavaScript principle again (unpacking multiple value) :)
Meanwhile, I could do this ten times faster in Python without having to look something up every minute or so.

0
0
7
Ship

This is Pi WebOS, a website that mimics the look and feel of a OS with moveable, resizable, and closable windows that are both responsive and smooth. There are multiple apps, including a bare bones web browser! The website has many small quality of life features, such as windows snapping back into the desktop and windows being preserved on reload.
It provides an intuitive walkthrough of almost every part of the OS and a feature list describing both the large things (like windows and apps) and the small QOL things (like links that open windows).
This project was largely to improve my comfortability with JavaScript and CSS
No AI was used to generate any code or text. AI was used to help debug and research.

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

2h 25m 41s logged

Behind the scenes there’s a lot that I’ve done.
Mainly, the window content is actually styled (and a few new windows have been added!), but there a a ton of small things that had to get done first.
There is a working (kind of) web browser that displays the url in an iframe, which is really cool, and actually not too difficult. It can’t display all sites because many popular sites intentionally disable being shown in an iframe, but it can go to hackclub.com.

0
0
4
Open comments for this post

2h 45m 9s logged

I’ve added more windows and some other miscellaneous features. There was a lot of debugging, and coincidentally also a lot of forgotten keywords, like “let”. I’m too used to Python. I haven’t styled the windows yet, though.

0
0
4
Open comments for this post

1h 40m 9s logged

Starting the WebOS basic mission. I have windows displaying, moving, and closable.
Next is adding content to the windows, but also making the nav menu do stuff.
I had a weird bug with the rem unit changing based on the parent height. If you know advanced CSS, you’ll understand why that’s strange :)

0
0
5
Open comments for this post

34m 27s logged

My program found solutions that I’ve never seen before :)
*
I told it to find an algorithm that takes an F2L pair out (e.g., R U R’ U’). If you are not familiar with the Rubik’s cube, I told it to find a sequence of moves that would result in a certain state.
*
I knew about one, very common sequence (R U R’ U’) and it found 17 others that I had never seen before, in about a minute of search time.
*
Now all that’s left is to optimize it so it can find longer algorithms!

0
0
1
Loading more…

Followers

Loading…