Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A responsive portfolio template built with Next.js 15, TypeScript, Tailwind CSS, and Shadcn UI, with blog, projects, and Telegram contact.
Sleek Portfolio is a free, MIT-licensed portfolio website template for developers, built with Next.js 15, TypeScript, Tailwind CSS, and Shadcn UI, that outputs a fully responsive site with a blog, project showcase, and Telegram-powered contact form.
Sleek Portfolio is a modern, responsive portfolio template created by ramxcodes. It takes a developer's content (about, experience, projects, blog posts) and produces a fully functional Next.js website with type-safe TypeScript and reusable Shadcn UI components. The template runs on any Node.js environment (v18 or higher) and can be deployed with one click to Vercel.
src/data/blog and src/data/projects, allowing embedded JSX in markdown.NEXT_PUBLIC_UMAMI_SRC and NEXT_PUBLIC_UMAMI_ID.src/config/Meta.tsx for search engine visibility.src/config.src/data/blog/, add a thumbnail in public/blog/, and they appear on the site.src/data/projects/ with metadata and thumbnail images to display your work.About.tsx, Experience.tsx, and Gears.tsx in src/config to update text without touching component code.Sleek Portfolio is set up by cloning the repository, installing dependencies with Bun or npm, and running bun dev (or npm run dev) for local development. To connect Telegram, you create a bot with BotFather, get a chat ID via the included test-telegram script, and set the environment variables. Content is edited in MDX files and config files, then deployed to production with Vercel.
Yes, Sleek Portfolio is open source under the MIT License, and the repository is tagged as a free portfolio template. You can clone, modify, and deploy it without paying a license fee.
It uses Next.js 15 with the App Router, along with TypeScript for type safety, Tailwind CSS for styling, and Shadcn UI for components.
You create a Telegram bot with BotFather, copy the bot token, send a message to the bot, and run bun run test-telegram to retrieve your chat ID. Then set both values as environment variables TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID.
Yes, blog posts are written as MDX files in src/data/blog/ and use a thumbnail stored in public/blog/. The template renders them with MDX, allowing embedded components in markdown.
