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

vik

@vik

Joined June 1st, 2026

  • 6Devlogs
  • 2Projects
  • 1Ships
  • 15Votes
Open comments for this post

44m logged

Devlog #2 - Making a Cuboid


I started working on designing. After choosing the dimensions of the chessboard, I moved onto the pieces. I incorporated each piece’s traditional symbol, like the queen’s crown and bishop’s mitre, with a King-of-the-Hill-inspired theme. For example, the king is modelled after a flagpole, because people put flags on hills. The knight design has horns like a mountain goat. The rook… is still a castle. Boring, I know, sorry! (see the actual sketches below)
.
Next thing I did was some basic research about CAD. I decided to work in Onshape as I heard it was beginner friendly, and I made my first design: a 5x5x2.5 cuboid - one square on the chessboard. My plan is to print out 64 of these in two different colors, then glue them together. I also designed an outside frame for the board, and split it into four pieces for printing. (see the screenshots below)
.
Hopefully soon, I’ll head to my local library and see if I can print out the board.

0

Loading discussion…

0
1
Open comments for this post

16m 31s logged

Devlog #1 - Conception


Today I thought of my project idea. As an avid chess player, King of the Hill has always been one of my favorite variants. In KotH, you can win the game by bringing your king to one of the four central squares. I thought of designing a chessboard where the central squares are physically elevated, making the board itself like a hill, to spatially represent the variant’s objective.
.
I did some research on typical chessboard specifications, because I want it to be compatible with regular chess pieces too. I settled on a 5cm square width, which gives ~40cm for the whole board’s width. This is on the lower end of tournament regulation size.
.
For the squares’ height, I went with 2.5cm, which is definitely on the thicker side for a regular chessboard, but I thought it fitting considering the hill theme and it being exactly half the width. The lower level of elevation will be 5cm high, the upper level 7.5cm high.
.
To outline the project’s scope: I want to 3D model a KotH chessboard and also thematic pieces (maybe the king is a climber of some sort?). I’d like the central squares to be expandable/retractable to support regular chess-play alongside KotH. At the end, I want to 3D print and maybe decorate the chess set I design.

See my crude sketching below ⌄ and thank you all for reading!

0

Loading discussion…

0
1
Ship

I just finished making a Streamlit-based workout tracking app. My initial goal was to include more in-depth metrics than the average tracker. I did this, first brainstorming 20-30 things that lifters would like to track, and including them all as inputs; for example, RIR, RPE, tempo, drop sets, assisted reps, etc.

This was my first time ever touching Python or Streamlit! I ran into so many walls and sunk so much time debugging due to beginner mistakes like writing bad syntax, messing up indentations. I had no idea how to track variables after page refreshes, or how to make pages interact with each other. I didn't understand the point of list operations: appending and checking length I didn't know about creating unique keys to store variables with. (Honestly, I still largely don't...)

Still, this is much farther than I thought I could've gone for a first project, I'm grateful to have grasped the basics of Python: variables, inputs, loops. In hindsight, the whole experience was fun, especially writing out a bank of wise quotes to be randomly displayed on startup. "Pain is an illusion, but PRs are real."; "I lift, therefore I am." etc.

Thanks for reading, please check out my demo!

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

1h 41m 21s logged

got the app pretty much done!! my first change was adding an additional reps feature where people could add in drop sets, myoreps, rest-pause reps, etc. this goes into more detail than most simple weight/reps loggers. I left that section intentionally more open-ended because there’s such a wide range of intensifiers people use.
.
I ran into a lotttt of problems trying to optionally allow certain features to be disabled. it should’ve been a simple feature - a checkbox that if true hid certain form fields. but my checkboxes kept resetting their state when the page refreshed :(
using a combination session state and keys, i got the feature to work at last. it didn’t help that I got stuck due to some rookie coding mistakes: I initially put all the form inputs in an if loop, but I had to change it when I realized the variables were only defined inside that loop.
.
even deploying the streamlit app was an interesting new experience for me. I learned about Git and Github, and how to organise the files in a repo. this helped me learn how projects go from code files to real applications with a domain and frontend.

0

Loading discussion…

0
3
Open comments for this post

2h 5m 42s logged

I added forms for users to input exercises and sets into my logger, the key function. I included all the different set metrics that I brainstormed yesterday. My original idea to differentiate my app from all others was including all the bells and whistles, a lot of workout trackers don’t let you input minor details like rest times, ROM, etc. Right now it’s a sprawling mess; I’m planning a settings page where users can choose which to include.
.
I also learned a lot about debugging. As a complete beginner to Python, it was a massive pain working with all the nested forms. I got so many errors and tweaked so much stuff only to realize I indented one thing wrong and that was causing all of it :(
.
Next up, all the different set types, like dropsets and supersets. I’m not fully sure yet how I’m going to include that. Also, I need to let people add in additional reps, ie partial reps, assisted reps, etc. and include the types of stuff loggers would care about - how many partials, how much ROM?

0

Loading discussion…

0
2
Open comments for this post

1h 33m 36s logged

I started making the form screen for inputting a workout. First I wrote out a huge list of all the workout details, exercise details, and set metrics I wanted to include. It took a while to research and copy down all the different types of nonsense lifters do and record… I don’t think my list is comprehensive yet. Also, I think I’m overly sad because all that work counted as 0min of time logged :/
.
Seeing this huge dump, I think I should allow users to check off which selections to include while logging workouts, for simplicity and because everyone lifts differently.
.
I created the add workout form today and learned about different input boxes that generated different variable types. One cool feature was the inbuilt slider, which I used to allow users to input their overall energy level, but I anticipate could also be used to input RPE, etc.
.
I also added a text section that generates a random cheesy gym-related quote whenever the user adds a new workout, and I wrote out 25 of them.

0

Loading discussion…

0
2
Open comments for this post

44m 32s logged

Devlog 0: 27.06.25
.
Started my project today, I want to make a gym logger because Google Sheets is really uninspiring to work with. I thought of differentiating myself from other loggers by including options for very specific inputs. Most loggers I’ve seen only let you input weight and reps, and don’t let you log RIR, RPE, rest times, etc. and/or don’t support stuff like dropsets, supersets, cluster sets, etc.
.
I’m a complete beginner to coding so I spent some time watching a Python tutorial on YT and learned about print statements and variable types.
.
The UI looks beautiful doesn’t it ⌄ (I only set up the environment today)

0

Loading discussion…

0
8

Followers

Loading…