Thanks for checking out my personal website and blog! Here's the source code for it :)
- React + TanStack Start (TanStack Router)
- Vite
- TypeScript
- Tailwind CSS
- Content: MDX processed via Content Collections
- Plausible
- React Icons
For a while, I had trouble following up on my side-projects so I rebuilt my website: I could now play around with pretty much everything.
The website is pretty minimal, and should hopefully provide a seamless experience. If you notice anything that you'd like to improve, feel free to create an issue and/or send a pull request!
If you don't know what I am referring to, that's great! You haven't discovered the mini-game yet. If you'd like to check it out, please open up the browser console on sreetamdas.com. 😉
You can check out some more details below ⬇️
❗❗ HERE BE SPOILERS ❗❗
Well, the cat's out of the bag: there's a mini-game on sreetamdas.com! If you're forking this repository for yourself, be aware that you will be forking that as well. 😅 It isn't a "module" as such that you can just remove from the website — though the game lies in the /foobar subdirectory.
Pretty much wherever the mini-game is present in the repo, it's placed under a foobar subfolder (eg. in components) so you'll know when you're about to come across mini-game related code. 😄
Please check out the Contributing guide
pnpm install
pnpm devNotes:
pnpm devruns the Vite dev server with Content Collections integration.pnpm buildrunspnpm build:content-collectionsautomatically viaprebuild.pnpm deployrunspnpm buildand deploys production to Cloudflare via Wrangler.pnpm deploy:stagingalso builds first, then deploys the staging Worker.
Commonly used values:
VITE_SITE_URL(e.g.https://sreetamdas.com)- Buttondown newsletter:
BUTTONDOWN_API_KEY(optional; falls back to mocks) - Keebs page data (Notion + Imgur):
NOTION_TOKENNOTION_KEEBS_PAGE_IDIMGUR_API_CLIENT_IDIMGUR_KEEBS_ALBUM_HASH
- RWC page gist:
GITHUB_RWC_GIST_ID(VITE_GITHUB_RWC_GIST_IDis also supported if you intentionally want the gist id to be public build-time config) - RWC private GitHub API token:
GITHUB_TOKEN(optional; server-only)
Only client-safe values should use the VITE_ prefix. API keys and tokens should stay
server-only and be provided as Cloudflare secrets or server env vars.
TanStack Start prerendering runs at build time, so missing build-time env vars can fail data loading.
- Set
CLOUDFLARE_INCLUDE_PROCESS_ENV=truein CI/Workers Builds. - Provide the required env vars in your CI environment.
- Optionally commit a reference-style
.envfile (not secrets) so build-time resolution works:
BUTTONDOWN_API_KEY=${BUTTONDOWN_API_KEY}
NOTION_TOKEN=${NOTION_TOKEN}
NOTION_KEEBS_PAGE_ID=${NOTION_KEEBS_PAGE_ID}
IMGUR_API_CLIENT_ID=${IMGUR_API_CLIENT_ID}
IMGUR_KEEBS_ALBUM_HASH=${IMGUR_KEEBS_ALBUM_HASH}
GITHUB_RWC_GIST_ID=${GITHUB_RWC_GIST_ID}
GITHUB_TOKEN=${GITHUB_TOKEN}I also run a very awesome newsletter! It's got curated links keeping up with the JavaScript, React and webdev world. And mechanical keyboards! Check it out at sreetamdas.com/newsletter :)
You can also view previous issues, and subscribe via RSS!
Licensed under the MIT License. Feel free to use in your own projects, with attribution please. A 🌟star on the repository would be super cool too! 😄