🔨: You can run it by simply cloning, running pnpm i
followed by pnpm dev
and visiting localhost:3000
. You will also need to create a .env
and fill in the environment variables listed in .env.example
for all functionality to work as expected. Additionally you will need to create a public/fonts
directory and fill that in with the fonts of your choosing, which may require replacing imports across many pages and editing utils/fonts.ts
. Built with Next, Tailwind & Typescript.
akshith.io
is my personal website. Much of the work on the website was spent primarily on the writing section of the website which relies on the .mdx
files available in the content
folder. If necessary, this system alongside the set of custom components can be succesfully adapted for alternative projects. Other aspects of the website remain primarily visual, with little external utility outside of this project.
This website implicitly relies on my CLI tool adot
for the <LocationStatus>
component to work as expected alongside the microblogging section on the /writing
route. Additionally, fonts are loaded using Google Cloud Storage before build time to protect font licensing requirements. The project structure is as follows:
src/
├── app/ # Next.js app directory
│ ├── writing/ # Writing section routes
│ └── page.tsx # Home page
├── components/ # React components
│ ├── layout/ # Layout components (Navbar, Tooltip, etc.)
│ └── pages/ # Page-specific components
├── content/ # MDX content for blog posts
├── icons/ # SVG icons
└── utils/ # Utility functions and fonts
Feel free to submit issues and enhancement requests! If you want to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License.
All blog content is licensed under the Creative Commons Attribution 4.0 International License.
You are free to share and adapt the content, provided proper attribution is given.
that's where the username comes from! - akshithio - may 2025