why i bothered
building pramit.gg
I’ve spent years writing software of all kinds—computer vision, controls systems, reinforcement learning, convolutions, transformers, muzero and everything in between—but I've all but completely avoided building a personal site. I wondered why that was. turns out, it’s partly laziness and partly because personal sites today feel dead inside. the former is likely a microcosm of other issues, but I'm happy to address the latter
opinion: being authentic is dying
websites used to be a creative exploration, both in existence and in effort. these pillars are constantly being undermined; almost every developer now has a portfolio website, many with projects specially tailored to get them hired, and LLM-generated modern themes and phrasing to help them appear in-clique on their way up the ladder to a FAANG/MAMAA/5th startup position.
iykyk
In large part due to this movement, I feel like personal sites have lost considerable glory. while creating this, I really wanted to capture the feeling of having a glimpse into someone's mind, to recapture the feeling I would have making dumb websites on my elemetary school's library computers.
to clarify, I love LLMs, I love tools, and they have great use in increasing ability of execution. I just hate that it feels that the uptick in these tools have paradoxically lead to a decrease in expression.
i wanted a home for things i genuinely found interesting and hoped not to forget. stuff that I wanted to hold onto that maybe someone else may find useful. something that was me and not my résumé.
what’s under the hood (for now)
stack
right now the site’s built on:
- next.js with the new app router and typescript
- tailwind css for styling, because claude wanted to and I hate frontend
- supabase for storing stuff and logging in
- framer motion for the little animations
- spotify api for the “now playing” thing in the footer
- hosted on vercel
design: clean but a little rogue
my personal projects since middle school have had a history of being black and white
my atrocious personal website from 9th grade. even back then, it was never completed
the process of growing up has brought me some colors, and they all feel rather personal. the orange of a sunset on my grandpa's shoulders, the soft purple of my first crush's favorite flower. If I put my life together on a black background, we end up with what you're seeing now
funny stuff
music
I've always felt that arcs of my life can quite accurately be mapped to the music I'm listening to at the time; through my choice of songs is reflected my joy, my melancholy, my friend, and my enemies. including this felt like a given, and similar to my color palette, my acceptance and enjoyment of other genres has grown over time.
features:
- shows what’s playing (with cover art)
- updates in real time
- music tab with some other cool stuff and it looks hot
animations with some soul
everything moves a little. not too much. just enough that when stuff loads, it feels alive.
glass morphism
the nav bar and some cards have this frosted glass look. i've always been a sucker for this, I grew up downloading sketchy windows vista widgets all day instead of doing my homework.
the process
prototyping fast with cursor
i used cursor to prototype most of this. I have pretty solid prompt setups, and probably made around 3-4 visual mockups before honing in on this one:
I have a standard flow of making the model update its own memory, use MCPs, all the normal hacks. I always like to make sure I'm not going insane, so just to a/b test if all of my optimizations did anything I tried the plain prompt without any of them, and this is what I got:
it looks like my job is safe for now
the dashboard
the most important thing to me was that I would genuinely enjoy making posts on this. I needed to host a pretty ui with a me-facing dashboard so I could upload things on a whim. so the dashboard had to look good, and make me happy, and not be painful on mobile.
I settled on using a markdown editor with image uploads, and made sure to add extensibility for me to post youtube and soundcloud links, in case I ever decided to share media. Math has always been a mistress of mine as well, so I added KaTeX support too. As I type this, I'm pretty satisfied with the experience
handles all kinds of stuff
I wanted to make sure it would be well-equipped for most things I'd feel like dumping at it
- notes about ai papers
- climbing videos
- soundcloud embeds
- photos
- random math notation with katex if i’m feeling nerdy
still fast
even with all the little flourishes, it stays performant:
- server-side rendered pages
- optimized images
- lazy loading
- clean bundles
redesigns, perfectionism
the first version was just a dark theme. then i got tired of that and rebuilt it to be more dynamic. the layout changed like five times. the animations evolved from basic fades to more thoughtful sequences. the spacing got wider. the fonts got lighter. anything to distract me from the process of ending the process.
what’s next
this site’s always gonna be a work in progress. some ideas floating around:
- live demos of rl agents
- climbing logs for when I'm especially proud of a send
- more music stuff (maybe previews of wips)
- learning notes for whatever i’m studying
build your own?
go do it. not a portfolio but a weird little nook with your own little personal touches. it's cathartic and you deserve it
come hang out whenever. it’ll probably look different next time.