Loading repository data…
Loading repository data…
geraldbahati / repository
I made a portfolio with Next.js 16 React 19 and Convex. This portfolio is like a showcase for the work I do as a Product Software Engineer. It has some cool features like edge-first rendering and scroll-driven animations. My main goal with this portfolio is to show that I can build e-commerce and real-time systems
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A modern, high-performance portfolio showcasing my software engineering experience, projects, and services. Built with Next.js 16, React 19, and Convex, featuring edge-first rendering and scroll-driven animations.
Live Site: geraldbahati.dev
| Category | Technologies |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript |
| Styling | Tailwind CSS v4, Framer Motion, shadcn/ui, Lenis |
| Backend | Convex, Clerk (Auth) |
| Analytics | Vercel Analytics, Vercel Speed Insights |
app/ Next.js App Router pages and layouts
components/ Reusable UI components (shadcn/ui, custom)
sections/ Core page sections (Hero, Info, Projects, Contact)
convex/ Convex backend functions and schema
hooks/ Custom React hooks
lib/ Utility functions and analytics setup
content/ MDX files for rich content
public/ Static assets (images, fonts)
Clone the repository:
git clone https://github.com/geraldbahati/my-portfolio.git
cd my-portfolio
Install dependencies:
npm install
Set up environment variables:
Create a .env.local file in the root directory. You can reference .env.local.example for the required keys:
CONVEX_DEPLOYMENT and NEXT_PUBLIC_CONVEX_URL (Convex)NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY (Clerk, optional)Run the development server:
npm run dev
Open http://localhost:3000 in your browser.
See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License — see the LICENSE file for details.