├── .eslintrc.json ├── .github └── workflows │ └── nextjs.yml ├── .gitignore ├── .vscode └── settings.json ├── CNAME ├── README.md ├── next.config.mjs ├── package-lock.json ├── package.json ├── postcss.config.js ├── public ├── favicon.ico ├── networking-1.png ├── networking-10.png ├── networking-11.png ├── networking-12.png ├── networking-13.png ├── networking-14.png ├── networking-2.png ├── networking-3.png ├── networking-4.png ├── networking-5.png ├── networking-6.png ├── networking-7.png ├── networking-8.png ├── networking-9.png ├── next.svg ├── project-1.png ├── project-2.png ├── project-3.png ├── project-4.gif ├── project-5.png ├── project-6.png ├── project-7.png ├── project-8.png ├── sponsor-icon.png └── vercel.svg ├── src ├── app │ ├── globals.css │ ├── layout.tsx │ ├── page.tsx │ └── pages │ │ ├── _document.js │ │ ├── about.tsx │ │ ├── articles.tsx │ │ ├── button.tsx │ │ ├── contact.tsx │ │ ├── experience.tsx │ │ ├── homescreen.tsx │ │ ├── networking.tsx │ │ └── projects.tsx └── components │ ├── Tooltip.tsx │ ├── footer.tsx │ ├── ui │ ├── 3d-card.tsx.tsx │ ├── 3d-pin.tsx │ ├── flip-words.tsx │ ├── floating-dock.tsx │ ├── parallax-scroll.tsx │ ├── sparkles.tsx │ ├── tailwindcss-buttons.tsx │ ├── timeline.tsx │ └── tracing-beam.tsx │ └── utils │ └── cn.ts ├── tailwind.config.ts ├── tsconfig.json └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.github/workflows/nextjs.yml: -------------------------------------------------------------------------------- 1 | # Sample workflow for building and deploying a Next.js site to GitHub Pages 2 | name: Deploy Next.js site to Pages 3 | 4 | on: 5 | # Runs on pushes targeting the default branch 6 | push: 7 | branches: ["master"] 8 | 9 | # Allows you to run this workflow manually from the Actions tab 10 | workflow_dispatch: 11 | 12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13 | permissions: 14 | contents: read 15 | pages: write 16 | id-token: write 17 | 18 | concurrency: 19 | group: "pages" 20 | cancel-in-progress: false 21 | 22 | jobs: 23 | build: 24 | runs-on: ubuntu-latest 25 | steps: 26 | - name: Checkout 27 | uses: actions/checkout@v4 28 | 29 | - name: Detect package manager 30 | id: detect-package-manager 31 | run: | 32 | if [ -f "${{ github.workspace }}/yarn.lock" ]; then 33 | echo "manager=yarn" >> $GITHUB_OUTPUT 34 | echo "command=install" >> $GITHUB_OUTPUT 35 | echo "runner=yarn" >> $GITHUB_OUTPUT 36 | exit 0 37 | elif [ -f "${{ github.workspace }}/package.json" ]; then 38 | echo "manager=npm" >> $GITHUB_OUTPUT 39 | echo "command=ci" >> $GITHUB_OUTPUT 40 | echo "runner=npx --no-install" >> $GITHUB_OUTPUT 41 | exit 0 42 | else 43 | echo "Unable to determine package manager" 44 | exit 1 45 | fi 46 | 47 | - name: Setup Node 48 | uses: actions/setup-node@v4 49 | with: 50 | node-version: "20" 51 | cache: ${{ steps.detect-package-manager.outputs.manager }} 52 | 53 | - name: Install dependencies 54 | run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} 55 | 56 | - name: Build with Next.js 57 | run: ${{ steps.detect-package-manager.outputs.runner }} next build 58 | 59 | - name: Upload artifact 60 | uses: actions/upload-pages-artifact@v3 61 | with: 62 | path: ./out 63 | 64 | deploy: 65 | environment: 66 | name: github-pages 67 | url: ${{ steps.deployment.outputs.page_url }} 68 | runs-on: ubuntu-latest 69 | needs: build 70 | steps: 71 | - name: Deploy to GitHub Pages 72 | id: deployment 73 | uses: actions/deploy-pages@v4 74 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | firebase-cred.js 9 | .env 10 | 11 | # testing 12 | /coverage 13 | 14 | # next.js 15 | /.next/ 16 | /out/ 17 | 18 | # production 19 | /build 20 | 21 | # misc 22 | .DS_Store 23 | *.pem 24 | 25 | # debug 26 | npm-debug.log* 27 | yarn-debug.log* 28 | yarn-error.log* 29 | 30 | # local env files 31 | .env*.local 32 | 33 | # vercel 34 | .vercel 35 | 36 | # typescript 37 | *.tsbuildinfo 38 | next-env.d.ts 39 | .qodo 40 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "tsparticles" 4 | ] 5 | } -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | lassiecoder.com -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Portfolio 2 | 3 | Hi there, I'm **lassiecoder**! 👋 4 | This is my personal portfolio template built using Next.js and Tailwind CSS with smooth animations powered by Framer Motion. 5 | 6 | ## Author 7 | 8 | **Priyanka Sharma** 9 | 10 | - Email: sharmapriyanka84510@gmail.com 11 | 12 | ## License 13 | 14 | This project is licensed under the MIT License. 15 | 16 | ## Installation 17 | 18 | 1. Clone the repository: 19 | 20 | ```bash 21 | git clone https://github.com/yourusername/portfolio.git 22 | cd portfolio 23 | ``` 24 | 25 | 2. Install the dependencies: 26 | 27 | ```bash 28 | npm install 29 | ``` 30 | 31 | ## Usage 32 | 33 | ### Development 34 | 35 | To start the development server: 36 | 37 | ```bash 38 | npm run dev 39 | ``` 40 | 41 | ## Scripts 42 | 43 | - `dev`: Starts the development server. 44 | - `build`: Builds the project for production. 45 | - `start`: Starts the production server. 46 | - `lint`: Runs ESLint. 47 | - `predeploy`: Prepares the project for deployment. 48 | - `deploy`: Builds and deploys the project. 49 | 50 | ## Dependencies 51 | 52 | - **@tabler/icons-react**: ^3.1.0 53 | - **@tsparticles/engine**: ^3.3.0 54 | - **@tsparticles/react**: ^3.0.0 55 | - **@tsparticles/slim**: ^3.3.0 56 | - **clsx**: ^2.1.0 57 | - **framer-motion**: ^11.0.25 58 | - **gh-pages**: ^6.1.1 59 | - **next**: ^14.1.4 60 | - **react**: ^18 61 | - **react-dom**: ^18 62 | - **react-element-to-jsx-string**: ^15.0.0 63 | - **react-ga4**: ^2.1.0 64 | - **react-icons**: ^5.0.1 65 | - **sonner**: ^1.4.41 66 | - **tailwind-merge**: ^2.2.2 67 | - **typewriter-effect**: ^2.21.0 68 | 69 | ## Dev Dependencies 70 | 71 | - **@types/node**: ^20 72 | - **@types/react**: ^18 73 | - **@types/react-dom**: ^18 74 | - **autoprefixer**: ^10.0.1 75 | - **eslint**: ^8 76 | - **eslint-config-next**: 14.1.4 77 | - **postcss**: ^8 78 | - **tailwindcss**: ^3.3.0 79 | - **typescript**: ^5 80 | 81 | ## Deployment 82 | 83 | 1. Open your terminal in the project directory. 84 | 85 | 2. Run the following command to build the project: 86 | 87 | ```bash 88 | npm run build 89 | ``` 90 | 91 | 3. Stage the Changes 92 | 93 | ```bash 94 | git add . 95 | ``` 96 | 97 | 4. Commit the changes 98 | 99 | ```bash 100 | git commit -m "COMMIT_MESSAGE" 101 | ``` 102 | 103 | 5. Push the changes to your GitHub repository 104 | 105 | ```bash 106 | git push origin master 107 | ``` 108 | 109 | ### NOTE: Monitor GitHub Actions 110 | 111 | 1. Navigate to the Actions tab of your GitHub repository. 112 | 2. Check for any running or completed workflows. 113 | 3. Ensure the deployment workflow runs successfully. 114 | 115 | ## Contributing 116 | 117 | Feel free to submit issues or pull requests. 118 | 119 | ## Preview 120 | 121 | ![portfolio-preview](https://github.com/lassiecoder/portfolio/assets/17312616/0d9c65b3-d9c4-4ead-9458-c9ab85f006d0) 122 | 123 | ## Contact 124 | 125 | For any inquiries, please contact me at lassiecoder@gmail.com. 126 | -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | output: "export", 4 | images: { 5 | unoptimized: true, 6 | domains: [ 7 | "github.com", 8 | "user-images.githubusercontent.com", 9 | "assets.aceternity.com" 10 | ], 11 | remotePatterns: [ 12 | { 13 | protocol: "https", 14 | hostname: "github.com", 15 | pathname: "/lassiecoder/**" 16 | } 17 | ] 18 | } 19 | }; 20 | 21 | export default nextConfig; 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "portfolio", 3 | "version": "0.1.0", 4 | "description": "Personal portfolio template built using NextJS and Tailwind", 5 | "author": { 6 | "name": "priyanka sharma", 7 | "email": "sharmapriyanka84510@gmail.com" 8 | }, 9 | "license": "MIT", 10 | "private": true, 11 | "scripts": { 12 | "dev": "next dev", 13 | "build": "next build", 14 | "start": "next start", 15 | "lint": "next lint", 16 | "predeploy": "npm run build", 17 | "deploy": "npm run build && gh-pages -d build" 18 | }, 19 | "dependencies": { 20 | "@tabler/icons-react": "^3.24.0", 21 | "@tsparticles/engine": "^3.3.0", 22 | "@tsparticles/react": "^3.0.0", 23 | "@tsparticles/slim": "^3.3.0", 24 | "clsx": "^2.1.1", 25 | "framer-motion": "^11.13.1", 26 | "gh-pages": "^6.1.1", 27 | "next": "^15.0.0", 28 | "react": "^18.3.1", 29 | "react-dom": "^18.3.1", 30 | "react-element-to-jsx-string": "^15.0.0", 31 | "react-ga4": "^2.1.0", 32 | "react-icons": "^5.0.1", 33 | "react-social-media-embed": "^2.5.17", 34 | "sonner": "^1.4.41", 35 | "tailwind-merge": "^2.5.5", 36 | "typewriter-effect": "^2.21.0" 37 | }, 38 | "devDependencies": { 39 | "@types/node": "22.13.10", 40 | "@types/react": "19.0.10", 41 | "@types/react-dom": "^18", 42 | "autoprefixer": "^10.0.1", 43 | "eslint": "^8", 44 | "eslint-config-next": "14.1.4", 45 | "postcss": "^8", 46 | "tailwindcss": "^3.3.0", 47 | "typescript": "5.8.2" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/favicon.ico -------------------------------------------------------------------------------- /public/networking-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-1.png -------------------------------------------------------------------------------- /public/networking-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-10.png -------------------------------------------------------------------------------- /public/networking-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-11.png -------------------------------------------------------------------------------- /public/networking-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-12.png -------------------------------------------------------------------------------- /public/networking-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-13.png -------------------------------------------------------------------------------- /public/networking-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-14.png -------------------------------------------------------------------------------- /public/networking-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-2.png -------------------------------------------------------------------------------- /public/networking-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-3.png -------------------------------------------------------------------------------- /public/networking-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-4.png -------------------------------------------------------------------------------- /public/networking-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-5.png -------------------------------------------------------------------------------- /public/networking-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-6.png -------------------------------------------------------------------------------- /public/networking-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-7.png -------------------------------------------------------------------------------- /public/networking-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-8.png -------------------------------------------------------------------------------- /public/networking-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/networking-9.png -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/project-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-1.png -------------------------------------------------------------------------------- /public/project-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-2.png -------------------------------------------------------------------------------- /public/project-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-3.png -------------------------------------------------------------------------------- /public/project-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-4.gif -------------------------------------------------------------------------------- /public/project-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-5.png -------------------------------------------------------------------------------- /public/project-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-6.png -------------------------------------------------------------------------------- /public/project-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-7.png -------------------------------------------------------------------------------- /public/project-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/project-8.png -------------------------------------------------------------------------------- /public/sponsor-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lassiecoder/portfolio/e229a6a2fa4665f8569e9439af514cc1c2e5aec1/public/sponsor-icon.png -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | :root { 6 | --foreground-rgb: 0, 0, 0; 7 | --background-start-rgb: 214, 219, 220; 8 | --background-end-rgb: 255, 255, 255; 9 | } 10 | 11 | @media (prefers-color-scheme: dark) { 12 | :root { 13 | --foreground-rgb: 255, 255, 255; 14 | --background-start-rgb: 0, 0, 0; 15 | --background-end-rgb: 0, 0, 0; 16 | } 17 | } 18 | 19 | body { 20 | color: rgb(var(--foreground-rgb)); 21 | background: linear-gradient( 22 | to bottom, 23 | transparent, 24 | rgb(var(--background-end-rgb)) 25 | ) 26 | rgb(var(--background-start-rgb)); 27 | } 28 | 29 | @layer utilities { 30 | .text-balance { 31 | text-wrap: balance; 32 | } 33 | } 34 | 35 | @keyframes spin-slow { 36 | 0% { 37 | transform: rotate(0deg); 38 | } 39 | 100% { 40 | transform: rotate(360deg); 41 | } 42 | } 43 | .animate-spin-slow { 44 | animation: spin-slow 10s linear infinite; 45 | } 46 | -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import type { Metadata } from "next"; 2 | import { Montserrat } from "next/font/google"; 3 | import "./globals.css"; 4 | import {} from "next/font/google"; 5 | 6 | export const metadata: Metadata = { 7 | title: 8 | "Portfolio | Priyanka Sharma (lassiecoder) | Mobile & Web app developer", 9 | description: 10 | "Crafting compelling narratives through design, merging creativity with functionality seamlessly." 11 | }; 12 | 13 | const montserrat = Montserrat({ 14 | subsets: ["latin"], 15 | display: "swap", 16 | variable: "--font-montserrat" 17 | }); 18 | 19 | export default function RootLayout({ 20 | children 21 | }: Readonly<{ 22 | children: React.ReactNode; 23 | }>) { 24 | return ( 25 | 26 | {children} 27 | 28 | ); 29 | } 30 | -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import HomeScreen from "@/app/pages/homescreen"; 4 | import { Article } from "@/app/pages/articles"; 5 | import ThreeDCard from "@/app/pages/projects"; 6 | import About from "@/app/pages/about"; 7 | import ContactForm from "./pages/contact"; 8 | // import Navbar from "@/components/navbar"; 9 | 10 | import ReactGA from "react-ga4"; 11 | import { useEffect } from "react"; 12 | import { Experience } from "./pages/experience"; 13 | import Networking from "./pages/networking"; 14 | 15 | export default function Home() { 16 | useEffect(() => { 17 | ReactGA.initialize("G-PYQ50G2GWN"); 18 | }, []); 19 | 20 | return ( 21 |
22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 |
30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /src/app/pages/_document.js: -------------------------------------------------------------------------------- 1 | import Head from "next/document"; 2 | 3 | const Page = (props) => ( 4 |
5 | 6 | 7 | 8 |
9 | ); 10 | -------------------------------------------------------------------------------- /src/app/pages/about.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import Tooltip from "@/components/Tooltip"; 4 | import Link from "next/link"; 5 | import React from "react"; 6 | import { HiMiniBellAlert } from "react-icons/hi2"; 7 | 8 | const About = () => { 9 | return ( 10 |
11 |
12 |

13 | About me 14 |

15 |
16 |

17 |

18 | Hello, I'm Priyanka Sharma, also known as{" "} 19 | lassiecoder in the tech community. 20 |

21 |

22 | With 4 years 23 | of experience as a 24 | Software Developer, I specialize 25 | in mobile and web app development. 26 |

27 |

28 | My technical expertise includes –{" "} 29 | JavaScript,{" "} 30 | TypeScript, and{" "} 31 | {/* React ecosystems */} 32 | 37 | , along with{" "} 38 | {/* backend technologies */} 39 | 44 | ,{/* cloud deployment */}{" "} 45 | 50 | ,{/* state management */}{" "} 51 | 56 | ,{/* real-time communication */}{" "} 57 | 62 | , and {/* UI development */} 63 | {" "} 68 | and {/* testing */} 69 | . 70 |

71 |

72 | Currently, I'm contributing my skills to{" "} 73 | The Adecco Group, a leading{" "} 74 | Swiss company known for innovative 75 | solutions. 76 |

77 |

78 | I'm passionate about pushing technological boundaries and 79 | delivering impactful solutions that drive success. My commitment to 80 | innovation and excellence defines every project I undertake. 81 |

82 |

83 |
84 | 88 | 95 | 96 |
97 |
98 | ); 99 | }; 100 | 101 | export default About; 102 | -------------------------------------------------------------------------------- /src/app/pages/articles.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import React from "react"; 3 | import Link from "next/link"; 4 | import ReactGA from "react-ga4"; 5 | import { SiReaddotcv } from "react-icons/si"; 6 | import { PinContainer } from "@/components/ui/3d-pin"; 7 | 8 | export function Article() { 9 | const trackReadMoreClick = () => { 10 | ReactGA.event("article_read_more", { 11 | category: "Articles", 12 | label: "Read more - Tech Scoop" 13 | }); 14 | }; 15 | 16 | return ( 17 |
18 |
19 |

20 | Articles 21 |

22 |
23 |
24 | {pinData.map((item, index) => ( 25 |
26 | 27 | 28 |
29 |

30 | {item.heading} 31 |

32 |
33 | {item.description} 34 |
35 |
36 |
37 | 38 |
39 | ))} 40 |
41 | 47 | 48 | Read more 49 | 50 | 51 | 52 |
53 | ); 54 | } 55 | 56 | const pinData = [ 57 | { 58 | techstack: "@techscoop/lassiecoder", 59 | href: "https://techscoop.hashnode.dev/gemini-ai-in-chrome-devtools", 60 | heading: "Gemini AI in Chrome DevTools", 61 | description: 62 | "Google integrates Gemini AI into Chrome DevTools, offering AI-powered debugging, code optimization, security insights, and accessibility improvements for developers." 63 | }, 64 | { 65 | techstack: "@techscoop/lassiecoder", 66 | href: "https://techscoop.hashnode.dev/using-deepseek-r1-for-free-in-visual-studio-code", 67 | heading: "Using DeepSeek R1 for Free in VSCode", 68 | description: 69 | "DeepSeek R1 - an open-source AI tool for code generation, seamlessly integrating with VSCode to enhance developer productivity and workflow efficiency." 70 | }, 71 | { 72 | techstack: "@medium.com/lassiecoder", 73 | href: "https://medium.com/nerd-for-tech/how-to-become-an-open-source-contributor-c07acbc8e9ca", 74 | heading: "How to Become an Open-Source Contributor", 75 | description: 76 | "If you’re looking to become an open-source contributor, this guide will walk you through everything you need to know to get started, from finding projects to making your first contribution." 77 | }, 78 | { 79 | techstack: "@medium.com/lassiecoder", 80 | href: "https://medium.com/@sharmapriyanka84510/commit-guidelines-f41b23f0bf4a", 81 | heading: "Git Commit Guidelines", 82 | description: 83 | "A comprehensive guide to crafting clear and meaningful Git commit messages, enhancing collaboration, maintainability, and understanding throughout the development process for future contributors." 84 | }, 85 | { 86 | techstack: "@medium.com/lassiecoder", 87 | href: "https://sharmapriyanka84510.medium.com/navigating-the-upgrade-odyssey-a-journey-through-react-native-project-upgrades-and-helpful-tools-1b4384dc7f6d", 88 | heading: "Navigating React Native Project Upgrades: A Journey & Tools.", 89 | description: 90 | "Upgrade React Native projects effortlessly using tools like Renovate, React Native CLI, npm-check-updates, Dependabot, and react-native-template-upgrade." 91 | }, 92 | { 93 | techstack: "@medium.com/lassiecoder", 94 | href: "https://medium.com/nerd-for-tech/fastlane-with-react-native-part-2-a1adea3321aa", 95 | heading: "Fastlane with React Native — Part-2", 96 | description: 97 | "Discover Fastlane's efficiency in Android app deployment, transitioning from manual to automated processes, enhancing workflow with its robust automation features." 98 | }, 99 | { 100 | techstack: "@medium.com/lassiecoder", 101 | href: "https://sharmapriyanka84510.medium.com/fastlane-with-react-native-part-1-ac916d99cb83", 102 | heading: "Fastlane with React Native — Part-1", 103 | description: 104 | "Fastlane optimizes iOS app development, automating build increments and metadata uploads, enhancing deployment efficiency with streamlined processes." 105 | }, 106 | { 107 | techstack: "@medium.com/lassiecoder", 108 | href: "https://medium.com/swlh/javascript-array-mutability-immutability-93d366c90751", 109 | heading: "JavaScript: Array, mutability & immutability", 110 | description: 111 | "JavaScript array methods explained briefly: length, map, immutable code, push/pop, delete/splice, filter, shift/unshift, reduce, and reduceRight." 112 | } 113 | ]; 114 | -------------------------------------------------------------------------------- /src/app/pages/button.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { ButtonsCard } from "@/components/ui/tailwindcss-buttons"; 3 | import React from "react"; 4 | import reactElementToJSXString from "react-element-to-jsx-string"; 5 | import { toast, Toaster } from "sonner"; 6 | 7 | export function TailwindcssButtons() { 8 | 9 | return ( 10 |
11 | 12 | 18 | 19 |
20 | ); 21 | } -------------------------------------------------------------------------------- /src/app/pages/contact.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | 3 | import React from "react"; 4 | import Link from "next/link"; 5 | import Image from "next/image"; 6 | import ReactGA from "react-ga4"; 7 | import { FlipWords } from "../../components/ui/flip-words"; 8 | 9 | const ContactForm = () => { 10 | const words = ["Networking", "Collaboration", "Suggestions"]; 11 | 12 | const trackSponsorClick = () => { 13 | ReactGA.event("sponsorship_click_contact", { 14 | category: "Sponsorship", 15 | label: "GitHub Sponsor Button" 16 | }); 17 | }; 18 | 19 | return ( 20 |
21 |
22 |

23 | {/*
*/} 24 |
25 |
26 |

30 | I'm open for 31 |

32 |
33 |
34 | 35 |
36 |
37 |

38 |
39 |

40 |

41 | I appreciate your interest in connecting with me. I'm excited to 42 | explore new opportunities,{" "} 43 | receive feedback,{" "} 44 | collaborate on projects, and 45 | broaden my network. 46 |

47 |

48 | For any specific questions or comments, please don't hesitate to 49 | contact me directly at 50 | 55 | lassiecoder@gmail.com 56 | 57 | . I strive to respond to all messages within{" "} 58 | 24 hours, although it may take a 59 | bit longer during busy periods.{" "} 60 |

61 | If you prefer social media, you can also find me on{" "} 62 | Instagram at 63 | 68 | @lassiecoder 69 | 70 | . 71 |

72 | 77 | Sponsor lassiecoder on GitHub 85 | 86 |
87 | Always be caffeinated! | © Priyanka Sharma (lassiecoder) 88 |
89 |
90 | ); 91 | }; 92 | 93 | export default ContactForm; 94 | -------------------------------------------------------------------------------- /src/app/pages/experience.tsx: -------------------------------------------------------------------------------- 1 | import Image from "next/image"; 2 | import React, { useEffect, useState } from "react"; 3 | import { Timeline } from "@/components/ui/timeline"; 4 | 5 | export function Experience() { 6 | const [isSmallScreen, setIsSmallScreen] = useState(false); 7 | 8 | useEffect(() => { 9 | const handleResize = () => { 10 | setIsSmallScreen(window.innerWidth <= 770); 11 | }; 12 | 13 | // Check screen size on initial render 14 | handleResize(); 15 | 16 | // Add event listener for window resize 17 | window.addEventListener("resize", handleResize); 18 | 19 | // Cleanup the event listener on component unmount 20 | return () => window.removeEventListener("resize", handleResize); 21 | }, []); 22 | const data = [ 23 | { 24 | title: ( 25 | adecco-logo 31 | ), 32 | duration: "2023 – Present", 33 | smallScreenLogo: ( 34 | adecco-logo 40 | ), 41 | content: ( 42 |
43 |
44 |

45 |

46 | Software Developer 47 |

48 | 49 | {/* Show only if screen size is <= 770px */} 50 | {isSmallScreen && ( 51 |

52 | The Adecco Group 53 | (May 2023 – Present) 54 |

55 | )} 56 | 57 | {/* Show only if screen size is > 770px */} 58 | {!isSmallScreen && ( 59 |

60 | (May 2023 – Present) 61 |

62 | )} 63 |

64 | 65 |
66 | The Adecco Group is a global{" "} 67 | HR solutions company that 68 | provides workforce solutions, 69 | including recruitment,{" "} 70 | temporary staffing,{" "} 71 | career transition,{" "} 72 | talent development, and{" "} 73 | outsourcing services to 74 | businesses across various industries. 75 |
76 |
77 |

78 | At Adecco Group, I 79 | contribute to the development of the{" "} 80 | Adecco India app, which is 81 | utilized by top companies for staffing solutions. 82 | 83 | I also work on the{" "} 84 | global web app, ensuring 85 | it meets diverse needs across various regions. My expertise 86 | includes using{" "} 87 | React Native and{" "} 88 | React.js to build 89 | efficient, user-friendly applications. 90 | 91 |

92 |

93 | Additionally, I have developed a{" "} 94 | white-label solution{" "} 95 | designed to streamline the candidate onboarding process, 96 | enhancing user experience and operational efficiency. This 97 | experience has honed my skills in creating scalable applications 98 | that facilitate better hiring and onboarding practices globally. 99 |

100 |
101 |
102 |
103 | ) 104 | }, 105 | { 106 | title: ( 107 | torum-logo 113 | ), 114 | duration: "2023 – Present", 115 | smallScreenLogo: ( 116 | torum-logo 122 | ), 123 | content: ( 124 |
125 |
126 |

127 |

128 | Mobile Application Developer 129 |

130 | {/*

131 | (May 2022 – May 2023) 132 |

*/} 133 | {isSmallScreen && ( 134 |

135 | Torum 136 | (May 2022 – May 2023) 137 |

138 | )} 139 | 140 | {/* Show only if screen size is > 770px */} 141 | {!isSmallScreen && ( 142 |

143 | (May 2022 – May 2023) 144 |

145 | )} 146 |

147 | 148 |
149 | Torum is a 150 | cryptocurrency-focused{" "} 151 | social media platform that 152 | connects enthusiasts,{" "} 153 | investors, and{" "} 154 | developers, allowing them to 155 | share insights, build{" "} 156 | communities, and earn{" "} 157 | rewards through content 158 | creation. It also includes features like a{" "} 159 | marketplace for buying and 160 | selling crypto and{" "} 161 | educational resources. 162 |
163 |
164 |

165 | At Torum, I significantly 166 | enhanced user engagement by implementing effective 167 | in-app and{" "} 168 | push notifications, 169 | utilizing deep linking {" "} 170 | for smooth user redirection. I designed robust and user-friendly 171 | components, rigorously testing them to ensure scalability for 172 | future feature expansions. 173 |

174 |

175 | I also established streamlined{" "} 176 | deployment processes 177 | through the{" "} 178 | Google Play Console, 179 | facilitating seamless alpha and beta app distribution. 180 |

{" "} 181 |

182 | To further{" "} 183 | 184 | optimize mobile app performance 185 | {" "} 186 | and address slowness issues, I implemented several strategies. I 187 | improved the app's responsiveness by utilizing{" "} 188 | lazy loading techniques to 189 | load components only when needed, reducing initial load time. I 190 | also optimized images and other assets for{" "} 191 | faster rendering, ensuring 192 | that they are appropriately compressed and sized for mobile 193 | devices. 194 |

195 |

196 | Additionally, I created 197 | comprehensive guidelines for mobile app{" "} 198 | version control,{" "} 199 | commits, and{" "} 200 | pull request procedures, 201 | providing essential support to my fellow developers. This 202 | approach not only{" "} 203 | 204 | improved operational efficiency 205 | {" "} 206 | but also fostered a collaborative development environment. 207 |

208 |
209 |
210 |
211 | ) 212 | }, 213 | { 214 | title: ( 215 | edufund-logo 221 | ), 222 | smallScreenLogo: ( 223 | edufund-logo 229 | ), 230 | content: ( 231 |
232 |
233 |

234 |

235 | Product Engineer 236 |

237 | {/*

238 | (Aug 2020 - May 2022) 239 |

*/} 240 | {isSmallScreen && ( 241 |

242 | EduFund 243 | (Aug 2020 - May 2022) 244 |

245 | )} 246 | 247 | {/* Show only if screen size is > 770px */} 248 | {!isSmallScreen && ( 249 |

250 | (Aug 2020 - May 2022) 251 |

252 | )} 253 |

254 | 255 |
256 | EduFund is India's first 257 | dedicated{" "} 258 | education savings platform, 259 | helping parents plan financially for their children's higher 260 | education through investment,{" "} 261 | cost discovery, and{" "} 262 | academic counseling. 263 |

264 | The app offers tools to estimate future college expenses, invest 265 | in various asset classes, secure education loans, and access 266 | academic guidance. 267 |

268 |
269 | 270 |
271 | At EduFund, I led the 272 | implementation of{" "} 273 | KYC verification processes{" "} 274 | for investment account creation in{" "} 275 | India and the{" "} 276 | United States, streamlining 277 | the onboarding experience for non-KYC users. By leveraging 278 | third-party tools, I ensured secure data access through advanced 279 | biometric features such as{" "} 280 | facial recognition and{" "} 281 | fingerprint scanning. 282 |

283 | To optimize user tracking and enhance marketing strategies, I 284 | integrated Firebase for 285 | comprehensive monitoring of user activities, allowing us to 286 | refine targeted marketing efforts based on demographic data. 287 | This integration of{" "} 288 | push notifications resulted 289 | in a remarkable 47%{" "} 290 | increase in new user engagement. 291 |

292 |

293 | I also streamlined app building and deployment workflows by 294 | seamlessly integrating{" "} 295 | Fastlane, a third-party 296 | tool that automated our deployment processes. Additionally, I 297 | played a pivotal role in developing a{" "} 298 | white-label solution for{" "} 299 | ICICI Bank, leveraging{" "} 300 | Next.js technology to 301 | enhance our offerings. This multifaceted approach not only 302 | improved operational efficiency but also contributed to the 303 | overall growth of the platform. 304 |

305 |
306 |
307 |
308 | ) 309 | } 310 | ]; 311 | return ( 312 |
313 |
314 |

315 | Experience 316 |

317 |
318 | 319 |
320 | ); 321 | } 322 | -------------------------------------------------------------------------------- /src/app/pages/homescreen.tsx: -------------------------------------------------------------------------------- 1 | import Footer from "@/components/footer"; 2 | import { 3 | IconBrandGithub, 4 | IconBrandX, 5 | IconExchange, 6 | IconHome, 7 | IconNewSection, 8 | IconTerminal2 9 | } from "@tabler/icons-react"; 10 | import Image from "next/image"; 11 | import { FlipWords } from "@/components/ui/flip-words"; 12 | import { SparklesCore } from "@/components/ui/sparkles"; 13 | 14 | export default function HomeScreen() { 15 | const words = ["Hi! I'm Priyanka Sharma"]; 16 | return ( 17 |
18 | {/* home screen */} 19 |