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

vik

@vik

Joined June 1st, 2026

  • 9Devlogs
  • 8Projects
  • 3Ships
  • 15Votes
Open comments for this post

3h 19m 47s logged

making a personal portfolio site using desmos art for fun.

i spent much time working on the desmos part. i had envisioned a simple beach scene, with the classic sun in the corner, simple waves, one lonely cloud. the waves were pretty easy to make as sine waves. the cloud was difficult to figure out at first but i got there by putting some circles together.

with some effort i both made the objects move and the colors brighten with time. personally i feel the end result looks pretty cool, which is the end goal for a personal website, right?

in terms of actual web design, not much there lol. just some buttons i made and very weak mobile optimization.

i also got the secret page done, which you can enter by clicking the little piece of paper in the corner. there i have a silly minigame that’s overly difficult and a secret cheat code to go to the real secret link. (nobodys ever going to actually access either lol)

try @ vikh.pages.dev (only works on desktop. barely works on desktop)

0
0
16
Ship Changes requested

Made an Arduino motion sensor connected to an LCD display. Every time it senses motion, the LCD will light up, “MOTION DETECTED”.

It was overall a super instructive experience, I learned how to cut and strip wires well, make a stable-ish connection with janky wires, read some confusing electrical diagrams, and write (technically modify) Arduino code (because online sample code was awful). I figured out how to troubleshoot problems on my own (eg wiring V0 to ground with a resistor because the display was too bright) and made sure to include the issue and fix in my documentation.

Note that in the video, the sensor was triggered a bunch of times by my moving the camera. It works decent, I promise (╥﹏╥)

  • 1 devlog
  • 2h build
Video of Project → See source code →
Open comments for this post

1h 39m 3s logged

Small afternoon project that I’ve been putting off for a long time: wiring a PIR motion sensor and LCD to my Arduino Uno, mostly just to finally try both the components at the same time.

The PIR sensor was pretty straightforward, three wires, but really janky because I don’t have a sensor shield or spare jumper wires (!). If the Neutral (white) wire isn’t connected well (it wasn’t) the digital pin will seesaw back and forth between Low and High with no rhyme or reason.

The LCD was a complete pain, again because I don’t have anything but some cheap wires and had to turn my breadboard into a rat’s nest. Also put one wire one spot to the right of where it should’ve been. “This little maneuver’s gonna cost us 51 years” type situation.

Anyway after that, wiring them both together was surprisingly painless, and with the help of some copy-pasted code I got it up and running quickly. Yippee, I have a little box that says MOTION DETECTED every time I walk by.

0
0
12
Ship

hey, i made a personal site, as i learned html and css for the first time. i spend a lot of time writing in physical notebooks, so i wanted my personal site to be something of a digital notebook for me. i went with that theme when i styled the site using css. certain simple-seeming features were weirdly challenging, like styling the nav bar and placing images right beside the text, but i learned online and got the hang of it. overall, i’m happy with how it turned out. this site was a fun intro to html and css, and i can’t wait to keep updating it as i keep doing more stuff.

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

2h 32m 43s logged

yo! i finished making my personal site. i started out by learning the basics of html, like the metadata, head and body tags, and the div tag. i made a basic html layout with titles, headings, and a paragraph. then i went into css and had fun adding a background image, custom font, stylized nav bar, etc. finally i added the site’s content, and i learned about flexboxes to put images beside my exposition blurbs.

0
0
3
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
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
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
  • 3.80x multiplier
  • 23 Stardust
Try project → See source code →
Open comments for this post

1h 42m 44s 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
0
3
Open comments for this post

2h 6m 5s 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
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
0
2
Open comments for this post

44m 56s 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
0
8

Followers

Loading…