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

personal website v4

  • 14 Devlogs
  • 23 Total hours

my new personal website! what framework? i made my own. build system? i made my own. new: there's now a cute custom cursor!! dark mode has been added. messaging now has a captcha and ratelimits to prevent spam.

Ship #2

i made my website! it looks soo cute aaa,,
in this ship i did the following:

  • added captcha to messaging
  • added ratelimiting to messaging
  • put the cute custom cursors :3
  • commented the code a bit
  • added dark mode
  • 7 devlogs
  • 6h
Try project → See source code →
Open comments for this post

42m 34s logged

made the custom cursor logic better

it used to sometimes show the text cursor when it was not supposed to and it did not show the hand cursor on the projects link buttons

commits since last devlog

0
0
19
Open comments for this post

2h 14m 16s logged

add a custom pink scrollbar and cursor!!

they look so cuteeeee :3c:

commits since last devlog

0
0
4
Open comments for this post

27m 35s logged

add a readme and fix it in india

i added the README and then a friend from india told me that apparently the website doesnt work in india so i actually travelled all the way to the border and managed to connect to an indian cell tower and verified that it did not work then i fixed it, i proxied the messages API through nest and added pages.tanjim.org which doesnt go through VPS now its all good.

0
0
31
Open comments for this post

37m 14s logged

completed the message feature by implementing email

now its done! i used agentmail for this (“coolton” is what i named the agentmail inbox, i reused an inbox i used for an older project), it works now! now when someone sends a message, all of these happen:

  • i recieve an email (immediately)
  • i recieve a notification on my macbook with a sound(if its locked/sleeping then i recieve the notification when i come back and unlock),
  • i recieve an alert on my terminal when i open it

commits since the last devlog

0
0
10
Open comments for this post

42m 31s logged

made the notifier

now it will also notify me with a sound when any message comes! if my mac is locked/i am away then it will wait until it unlocks then notify me for my messages automatically, it will also show the priority.
one limitation, it uses a flag on the server to store if it has already notified for a given message so it will not notify me twice, but because nothing is stored in the client (my macbook) it will cause problems if i make it notify on multiple devices. if i do that i have to either make the notified flag be an array for each client or i can make each client store its own flag

but regardless it works now, all that’s left is email

commits since the last devlog

0
0
6
Open comments for this post

1h 51m 57s logged

made the terminal integration!

it notifies me on my terminal when i have messages and implements a lily cli command that i can use to manage the messages. it supports these commands

  • lily messages [filter]: [filter] is optional, it can be one of read unread notified unnotified or something like .id==5 or .id>=2. shows the messages matching the filter.
  • lily mark <type> <value> <start> [end]: <type> is read or notified, <value> is a boolean, it changes the read or notified value of a message. when [end] isn’t given it defaults to <start>.
  • lily read <start> [end]: aliases to lily mark read true <start> [end]
  • lily readall: marks everything as read
  • lily delete <start> [end] deletes messages based on IDs.

commits since the last devlog

0
0
11
Open comments for this post

34m 5s logged

integrated the website to the API!

now it works! go to tanjim.org and send me a message!
i still need to set up the notifier and terminal stuff and email etc etc but it now works and is deployed!

commits since the last devlog

i made these commits in the last 3 devlogs but i wasnt able to put it then because it hadn’t been pushed (if i pushed then the site would be in a nonfunctional intermediary state)

0
0
10
Open comments for this post

3h 3m 16s logged

made the rest API for this and a web UI for me to manage the messages

this API will be called when someone sends a message.

remaining:

  • use js magic to integrate this into the website so message sending works
  • the rest of the stuff, mail,terminal integration,and notifier
0
0
4
Open comments for this post

2h 14m 16s logged

made the ui for the new message button

i made a message button and added some smoooooooth transitions for it like the email button and made the ui stuff for it, next things left to do in this

  • api: make a rest API for this that will be called and will store all the messages
  • mail: use the gmail/agentmail/smth else api to email the msg to me
  • terminal integration: something to source in my bashrc that alerts me when i open the terminal
  • notif service: notifies me in my macbook when a message comes
  • maybe a captcha?
0
0
3
Open comments for this post

7h 21m 12s logged

Made the basic parts of the site

i made the frontend part of the site, here is what i did

  • first i made the template indext.html(see 2nd screenshot) , the template has blocks like this
                    <!--!BEGIN AWARD-->
                    <div class="award">
                        <h3>[[result]]</h3>
                        <p>[[event]]</p>
                        <p class="faded">[[details]]</p>
                    </div>
                    <!--!END AWARD-->
...
...
                    <!--!BEGIN PROJECT-->
                    <div class="project">
                        <h3>[[title]]</h3>
                        <p>[[description]]</h3>
                        <div class="links">
                            <!--!BEGIN LINKS-->
                            <a href="[[url]]" target="_blank">[[label]]</a>
                            <!--!END LINKS-->
                        </div>
                    </div>
                    <!--!END PROJECT-->
  • then i made a script run.py that takes in indext.html awards.json projects.json then repeats and substitutes the AWARD, PROJECT, LINKS blocks and removes the content of the TEMPLATE NOTICE block to generate index.html (its a custom handrolled script no frameworks)
  • then i made a fastapi script serve.py to preview any template changes live, it hosts a webserver on port 8000 and generates index.html on the fly using run.py whenever i request it so i don’t have to type the command 1000 times.
  • i added some logic to run.py that inlines all CSS, JS and fonts to reduce everything to one request, then minifies it into an optimized bundle, so it’s now larping vite/webpack
  • i made a GH action that automatically deploys the GitHub Pages site by running run.py on GitHub servers
  • FINALLY now its deployed yippee!!!!
0
0
28

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…