~/portfolio

Frontend Developer
I build fast, scalable and thoughtful web experiences with modern technologies — from pixel-accurate interfaces to the APIs and data behind them. Currently open to new frontend and full-stack roles.
about.tsx
I'm a frontend developer who cares as much about interaction detail as the code underneath it. I specialize in the React ecosystem and I'm comfortable owning the layer beneath the UI — Node.js APIs, MongoDB, and Prisma. Most of what I've shipped has been product work: interfaces that need to hold up under real usage, not just look good in a mockup.
experience.ts
experience/
2026
Jun 2026 — Jul 2026 · Siliguri, West Bengal
Contributed to the development of web applications using modern JavaScript frameworks — implementing new features, fixing bugs, and improving application performance.
2025
skills.ts
The full toolkit — from interface down to the data layer, plus the tooling that keeps it all fast to work with.
projects/fundamental-eureka.tsx

Live
Problem
Students and job seekers rely on static, one-size-fits-all prep material. This platform generates practice content tailored to what they're actually studying — built end-to-end as a solo project.
Key features
My role
Solo — design & engineering
Stack
projects/ai-career-copilot.tsx

Live
Problem
Job hunting requires tailoring resumes for every application, which is tedious. This extension automatically analyzes resumes against job postings, identifies gaps, and generates custom-tailored applications using a Bring-Your-Own-Key (BYOK) architecture for maximum privacy.
Key features
My role
Solo — design & engineering
Stack
contact.ts
Or send a message directly
README.md
#
Frontend developer focused on building modern web applications — the kind that are fast, well-structured, and pleasant to actually use.
##
##
Building better products with modern frontend tooling, and getting faster at going from idea to something shipped and real.
layout.tsx
1import type { Metadata } from "next";2import "./globals.css";3import { Inter, JetBrains_Mono } from "next/font/google";4import { Toaster } from "@/components/ui/sonner";5import { ThemeProvider } from "@/components/theme-provider";6 7const inter = Inter({8 subsets: ["latin"],9 display: "swap",10 variable: "--font-inter",11});12 13export const metadata: Metadata = {14 title: "Prahlad Biswas | Software Engineer & Full Stack Developer",15 description:16 "Portfolio of Prahlad Biswas — building exceptional digital " +17 "experiences with clean code and thoughtful design.",18};19 20export default function RootLayout({21 children,22}: {23 children: React.ReactNode;24}) {25 return (26 <html lang="en" className={inter.variable} suppressHydrationWarning>27 <body className="font-sans antialiased">28 <ThemeProvider attribute="class" defaultTheme="dark">29 <Toaster position="top-center" />30 {children}31 </ThemeProvider>32 </body>33 </html>34 );35}globals.css
1@tailwind base;2@tailwind components;3@tailwind utilities;4 5/*6 Editor-inspired design tokens. Deep charcoal ground with a slightly7 lighter panel surface (sidebar/tabs/terminal), muted borders, one8 controlled accent, and a small desaturated syntax palette.9*/10@layer base {11 :root {12 --background: 40 15% 96%;13 --foreground: 20 15% 9%;14 --panel: 40 15% 93%;15 --panel-border: 20 10% 84%;16 --primary: 20 88% 50%;17 --muted-foreground: 20 8% 40%;18 }19 20 .dark {21 --background: 20 14% 8%;22 --foreground: 40 20% 96%;23 --panel: 20 13% 11%;24 --panel-border: 20 10% 18%;25 --primary: 20 90% 58%;26 }27}page.tsx
1import { EditorShell } from "@/components/editor/EditorShell";2 3const jsonLd = {4 "@context": "https://schema.org",5 "@type": "Person",6 name: "Prahlad Biswas",7 jobTitle: "Frontend Developer",8 url: "https://prahladbiswas.co.in",9};10 11export default function Main() {12 return (13 <>14 <script15 type="application/ld+json"16 dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}17 />18 <EditorShell />19 </>20 );21}favicon.ico
vercel.svg
1<svg width="76" height="65" viewBox="0 0 76 65" fill="none" xmlns="http://www.w3.org/2000/svg">2 <path d="M37.5274 0L75.0548 65H0L37.5274 0Z" fill="currentColor" />3</svg>next.config.mjs
1/** @type {import('next').NextConfig} */2const nextConfig = {3 images: {4 remotePatterns: [5 {6 protocol: "https",7 hostname: "firebasestorage.googleapis.com",8 pathname: "**",9 },10 ],11 },12};13 14module.exports = nextConfig;package.json
1{2 "name": "portfolio",3 "version": "1.1.0",4 "private": true,5 "scripts": {6 "dev": "next dev",7 "build": "next build",8 "start": "next start",9 "lint": "next lint"10 },11 "dependencies": {12 "framer-motion": "^10.18.0",13 "next": "^14.2.33",14 "next-themes": "^0.2.1",15 "react": "^18",16 "react-dom": "^18",17 "react-icons": "^4.12.0",18 "tailwind-merge": "^2.2.0"19 },20 "devDependencies": {21 "@types/node": "^20",22 "@types/react": "^18",23 "eslint": "^8",24 "eslint-config-next": "^14.2.33",25 "tailwindcss": "^3.3.0",26 "typescript": "^5"27 }28}tsconfig.json
1{2 "compilerOptions": {3 "target": "es5",4 "lib": ["dom", "dom.iterable", "esnext"],5 "allowJs": true,6 "skipLibCheck": true,7 "strict": true,8 "noEmit": true,9 "esModuleInterop": true,10 "module": "esnext",11 "moduleResolution": "bundler",12 "jsx": "preserve",13 "incremental": true,14 "paths": {15 "@/*": ["./*"]16 }17 },18 "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],19 "exclude": ["node_modules"]20}