Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"projects": {
"default": "numan-dev"
}
}
20 changes: 20 additions & 0 deletions .github/workflows/firebase-hosting-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on merge
on:
push:
branches:
- firebase-deploy
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: ${{ secrets.GITHUB_TOKEN }}
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_NUMAN_DEV }}
channelId: live
projectId: numan-dev
21 changes: 21 additions & 0 deletions .github/workflows/firebase-hosting-pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on PR
on: pull_request
permissions:
checks: write
contents: read
pull-requests: write
jobs:
build_and_preview:
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: ${{ secrets.GITHUB_TOKEN }}
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_NUMAN_DEV }}
projectId: numan-dev
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,8 @@
/build

# firebase
.github
.firebase
.firebaserc
firebase.json
firebase-debug.log

# misc
.DS_Store
Expand Down
16 changes: 16 additions & 0 deletions firebase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
75 changes: 75 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"@mui/material": "^6.5.0",
"@testing-library/react": "^16.3.2",
"gh-pages": "^3.2.3",
"motion": "^12.38.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-helmet-async": "^3.0.0",
Expand Down
52 changes: 36 additions & 16 deletions src/assets/data/experiencesData.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,29 @@
"end": ""
},
"role": "Sr. Software Engineer",
"description": "DarwinBox a HCM Platform, based in Hyderabad, INDIA.",
"description": "<p>Built and scaled <strong>enterprise HR modules</strong> (Recruitment, Payroll, Onboarding, Talent Intelligence) used by <strong>1000+ organizations</strong>.</p>",
"bulletPoints": [
"Improved performance of <strong>data-heavy admin dashboards</strong> by <strong>~80%</strong> using <strong>lazy loading</strong>, <strong>API debouncing</strong>, <strong>caching</strong> and <strong>chunked data rendering</strong>.",
"Delivered complex features with a focus on <strong>scalability</strong>, <strong>performance</strong>, and <strong>clean architecture</strong>.",
"Led <strong>code reviews</strong> and <strong>mentoring</strong> for junior engineers, improving team code quality and delivery speed.",
"Contributed to <strong>frontend architecture</strong> decisions for large-scale applications."
],
"companyLogo": "../icons/dbox.png",
"companyURL": "https://darwinbox.com/",
"workingTech": [
"ReactJS",
"NodeJS",
"React",
"Angular",
"Typescript",
"Node.js",
"Express.js",
"Redux",
"Zustand",
"RxJS",
"Tailwind CSS",
"SCSS",
"Bootstrap",
"jQuery"
"jQuery",
"MongoDB"
],
"sidePic": {
"url": "../images/num-planning.svg",
Expand All @@ -29,14 +42,18 @@
"end": "2022-01"
},
"role": "Software Engineer",
"description": "Wealth42 a Fin-Tech startup, based in Bengaluru, INDIA.",
"description": "<p><strong>Wealth42</strong> is an investment platform that simplifies wealth management for retail investors through <strong>data-driven insights</strong> and <strong>seamless digital onboarding</strong>.</p>",
"bulletPoints": [
"Developed a <strong>Financial Analytics Dashboard</strong> using <strong>functional programming</strong> principles and interactive charts-based data visualization, transforming complex portfolio and market data into clear, actionable insights for retail investors.",
"Built the <strong>Wealth42.com</strong> platform end-to-end — including a complete <strong>user onboarding</strong> flow and a <strong>reusable component system</strong> — reducing development effort by <strong>~60%</strong> and enforcing <strong>UI consistency</strong> across the entire product."
],
"companyLogo": "../icons/w42.png",
"companyURL": "https://wealth42.com/",
"workingTech": [
"ReactJS",
"React",
"Next.js",
"PWA",
"NextJS",
"Redux-ToolKit",
"Redux Toolkit",
"Tailwind CSS",
"Redux",
"SendBird",
Expand All @@ -55,18 +72,21 @@
"end": "2021-07-01"
},
"role": "Full Stack Developer",
"description": "SrcLogicx is a startup related to Video/Audio Chat solutions, based in San Diego, California, US.",
"description": "<p><strong>SrcLogicx</strong> is a software development company that builds custom <strong>digital products</strong> and <strong>SaaS solutions</strong> for clients across <strong>communication</strong>, <strong>enterprise</strong>, and <strong>productivity</strong> domains.</p>",
"bulletPoints": [
"Developed a scalable, <strong>cloud-based video meeting platform</strong> integrating <strong>AWS Chime</strong> for real-time communication and <strong>AWS S3</strong> for media storage, supporting <strong>100+ concurrent attendees</strong> with stable, <strong>low-latency performance</strong> across sessions.",
"Built a <strong>meeting management dashboard</strong> with a reusable <strong>React</strong> component architecture and <strong>HubSpot</strong> integration, streamlining meeting workflows, improving <strong>UX</strong>, and significantly reducing feature implementation time through <strong>shared component patterns</strong>."
],
"companyLogo": "../icons/srclogicx.png",
"companyURL": "https://srclogix.com/",
"workingTech": [
"ReactJS",
"NodeJS",
"NextJS",
"ExpressJS",
"React",
"Node.js",
"Next.js",
"Express.js",
"Redux",
"AWS-S3",
"MongoDB",
"DynamoDB"
"AWS S3",
"MongoDB"
],
"sidePic": {
"url": "../images/num-with-lappy-flowers.svg",
Expand Down
8 changes: 4 additions & 4 deletions src/assets/data/info.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export const InfoData: Record<number, YearData> = {
minor: {
title: 'Wealth42',
sub1: 'SDE',
sub2: 'Jan-2022 => 7M',
sub2: 'Jan-2022',
inactive: true,
url: 'https://wealth42.com/',
img: 'w42.png',
Expand All @@ -96,7 +96,7 @@ export const InfoData: Record<number, YearData> = {
extra: {
title: 'Wealth42',
sub1: 'SDE',
sub2: 'Jan-2022 => 7M',
sub2: 'Jan-2022',
inactive: true,
url: 'https://wealth42.com/',
img: 'w42.png',
Expand All @@ -122,7 +122,7 @@ export const InfoData: Record<number, YearData> = {
extra: {
title: 'Wealth42',
sub1: 'SDE',
sub2: 'Jan-2022 => 7M',
sub2: 'Jan-2022',
inactive: true,
url: 'https://wealth42.com/',
img: 'w42.png',
Expand All @@ -148,7 +148,7 @@ export const InfoData: Record<number, YearData> = {
minor: {
title: 'Wealth42',
sub1: 'SDE',
sub2: 'Jan-2022 => 7M',
sub2: 'Jan-2022',
inactive: true,
url: 'https://wealth42.com/',
img: 'w42.png',
Expand Down
Loading
Loading