This is my personal website built with Next.js, React, and Tailwind CSS, hosted at kaic.me.
The source code is on the main branch, and the production build is automatically deployed to the production branch via GitHub Actions.
.github/workflows: Contains GitHub Actions deployment configurationlocales: Internationalization files (en.json, pt-br.json)pages: Next.js Pages Router structurepublic: Static assetssrc/app: Main application components organized by sectionAbout,Articles,Contact, etc: Section-specific componentsComponents: Reusable UI components
docs: Documentation and project assetstech-debts.md: List of identified technical debts and future improvements
- Configuration files: next.config.js, eslint.config.mjs, .prettierrc.json
- Node.js 18+
- npm
-
Clone the repository:
git clone https://github.com/kaic/kaic.github.io.git cd kaic.github.io -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to see the result.
To create a production build locally:
npm run buildThis will generate static files in the out directory.
Deployment happens automatically when changes are pushed to the main branch. The GitHub Action workflow:
- Builds the Next.js application
- Creates a CNAME file with domain kaic.me
- Deploys the built files to the
productionbranch - GitHub Pages serves the content from the
productionbranch
- 🌐 Multi-language support (English and Portuguese)
- 📱 Fully responsive design for all device sizes
- 📄 Article showcase with platform-specific links (Substack, Dev.to)
- 📊 Clean, minimalist UI focused on content
- 🔄 Automatic deployment via GitHub Actions
- React - JS Library
- Next.js - React framework
- Tailwind CSS - CSS framework
- next-intl - Internationalization
- GitHub Actions - CI/CD
- GitHub Pages - Hosting
To add a new article, edit the articlesList array in src/app/Articles/Articles.tsx:
{
title: "Your Article Title",
date: "YYYY-MM-DD",
description: "Brief description of your article",
sources: [
{
url: "https://example.com/article",
language: "en", // or "pt-br"
platform: "substack" // or "dev.to" or other platform
}
]
}This project is open source and available under the MIT License.
