├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── custom.md
│ └── feature_request.md
└── workflows
│ └── codeql-analysis.yml
├── .gitignore
├── .prettierrc.json
├── README.md
├── components
├── buttonlist.js
├── cover-image.js
├── date.js
├── footer.js
├── layout.js
├── markdown-styles.module.css
├── meta.js
├── more-stories.js
├── navbar.js
├── navbutton.js
├── othersection.js
├── page-layout.js
├── post-body.js
├── post-header.js
├── post-preview.js
├── project-preview.js
├── projectlist.js
├── read-time.js
├── social-icons.js
├── writing-preview.js
└── writinglist.js
├── jsconfig.json
├── lib
├── api.js
├── constants.js
└── markdownToHtml.js
├── next.config.js
├── package-lock.json
├── package.json
├── pages
├── _app.js
├── _document.js
├── about.js
├── api
│ ├── exit-preview.js
│ └── preview.js
├── freelance.js
├── index.js
├── playground.js
├── thoughtboard.js
├── work
│ └── [slug].js
├── writings.js
└── writings
│ └── [slug].js
├── postcss.config.js
├── public
├── Shreyas_Gupta_Design_Resume-compressed.pdf
├── android-icon-144x144.png
├── android-icon-192x192.png
├── android-icon-36x36.png
├── android-icon-48x48.png
├── android-icon-72x72.png
├── android-icon-96x96.png
├── apple-icon-114x114.png
├── apple-icon-120x120.png
├── apple-icon-144x144.png
├── apple-icon-152x152.png
├── apple-icon-180x180.png
├── apple-icon-57x57.png
├── apple-icon-60x60.png
├── apple-icon-72x72.png
├── apple-icon-76x76.png
├── apple-icon-precomposed.png
├── apple-icon.png
├── browserconfig.xml
├── dark-logo.svg
├── favicon-16x16.png
├── favicon-32x32.png
├── favicon-96x96.png
├── favicon.ico
├── fonts
│ ├── Inter-Black.woff2
│ ├── Inter-Bold.woff2
│ ├── Inter-Light.woff2
│ ├── Inter-Medium.woff2
│ ├── Inter-Regular.woff2
│ ├── Inter-SemiBold.woff2
│ ├── Inter-Thin.woff2
│ ├── Rubik-Black.woff2
│ ├── Rubik-Bold.woff2
│ ├── Rubik-Light.woff2
│ ├── Rubik-Medium.woff2
│ ├── Rubik-Regular.woff2
│ └── Rubik-SemiBold.woff2
├── images
│ ├── Instagram-nu.png
│ ├── atlan.png
│ ├── donut.png
│ ├── figma-file-search.png
│ ├── icons.png
│ ├── includepeople.jpeg
│ ├── install_button@2x.png
│ ├── logorender1.png
│ ├── lowpolyearth.png
│ ├── notion.png
│ ├── pie-long.png
│ ├── pie-long.svg
│ ├── pie.png
│ ├── pie.svg
│ ├── playground.png
│ ├── sustain-long.svg
│ ├── sustain.svg
│ ├── technology-together.png
│ ├── tedx.png
│ ├── tools-long.png
│ ├── tools.png
│ ├── whistle.png
│ └── zomato.png
├── letterboxd.svg
├── logo.svg
├── ms-icon-144x144.png
├── ms-icon-150x150.png
├── ms-icon-310x310.png
├── ms-icon-70x70.png
├── robots.txt
└── safari-pinned-tab.svg
├── stylelint.config.js
├── styles
└── index.css
└── tailwind.config.js
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/custom.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Custom issue template
3 | about: Describe this issue template's purpose here.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | # For most projects, this workflow file will not need changing; you simply need
2 | # to commit it to your repository.
3 | #
4 | # You may wish to alter this file to override the set of languages analyzed,
5 | # or to provide custom queries or build logic.
6 | #
7 | # ******** NOTE ********
8 | # We have attempted to detect the languages in your repository. Please check
9 | # the `language` matrix defined below to confirm you have the correct set of
10 | # supported CodeQL languages.
11 | #
12 | name: "CodeQL"
13 |
14 | on:
15 | push:
16 | branches: [ master ]
17 | pull_request:
18 | # The branches below must be a subset of the branches above
19 | branches: [ master ]
20 | schedule:
21 | - cron: '35 1 * * 4'
22 |
23 | jobs:
24 | analyze:
25 | name: Analyze
26 | runs-on: ubuntu-latest
27 | permissions:
28 | actions: read
29 | contents: read
30 | security-events: write
31 |
32 | strategy:
33 | fail-fast: false
34 | matrix:
35 | language: [ 'javascript' ]
36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
37 | # Learn more:
38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
39 |
40 | steps:
41 | - name: Checkout repository
42 | uses: actions/checkout@v2
43 |
44 | # Initializes the CodeQL tools for scanning.
45 | - name: Initialize CodeQL
46 | uses: github/codeql-action/init@v1
47 | with:
48 | languages: ${{ matrix.language }}
49 | # If you wish to specify custom queries, you can do so here or in a config file.
50 | # By default, queries listed here will override any specified in a config file.
51 | # Prefix the list here with "+" to use these queries and those in the config file.
52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main
53 |
54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
55 | # If this step fails, then you should remove it and run the build manually (see below)
56 | - name: Autobuild
57 | uses: github/codeql-action/autobuild@v1
58 |
59 | # ℹ️ Command-line programs to run using the OS shell.
60 | # 📚 https://git.io/JvXDl
61 |
62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
63 | # and modify them (or add more) to build your code if your project
64 | # uses a compiled language
65 |
66 | #- run: |
67 | # make bootstrap
68 | # make release
69 |
70 | - name: Perform CodeQL Analysis
71 | uses: github/codeql-action/analyze@v1
72 |
--------------------------------------------------------------------------------
/.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 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 |
27 | # local env files
28 | .env.local
29 | .env.development.local
30 | .env.test.local
31 | .env.production.local
32 |
33 | # vercel
34 | .vercel
35 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "all",
3 | "tabWidth": 2,
4 | "semi": false,
5 | "singleQuote": true,
6 | "quoteProps": "preserve",
7 | "htmlWhitespaceSensitivity": "ignore"
8 | }
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Source Code for Personal Blog and Portfolio
2 |
3 | This is my playground for testing new features and learning the best web dev practices out there. It contains my portfolio projects, writings and experiments. Designers, feel free to reach out to me for help with building your online portfolios. I will be moving away from this soon and adopting a Framer website for ease of use.
4 |
5 | * Built using [Next.js](https://nextjs.org)
6 | * Deployed on [Vercel](https://vercel.com)
7 | * Styled using [Tailwind CSS v3.2](https://tailwindcss.com)
8 | * Content managed using [Cosmic.js CMS](https://www.cosmicjs.com)
9 |
10 | TODO
11 | * Use `next/font` with self-hosted Inter from Google Fonts
12 | * Become markdown native and move away from Cosmic CMS
13 |
14 | As I am using a CMS, without setting up a mock cosmicJS account, you won't be able to deploy and run the code. I will create a mock cosmic account when I get time.
15 |
16 |
17 |
--------------------------------------------------------------------------------
/components/buttonlist.js:
--------------------------------------------------------------------------------
1 | const navButtons = [
2 | {
3 | label: 'Portfolio',
4 | path: '/',
5 | },
6 | {
7 | label: 'Writings',
8 | path: '/writings',
9 | },
10 | ]
11 |
12 | export default navButtons
13 |
--------------------------------------------------------------------------------
/components/cover-image.js:
--------------------------------------------------------------------------------
1 | import Link from 'next/link'
2 | import Image from "next/image"
3 |
4 | export default function CoverImage({ title, url, slug }) {
5 | const image = (
6 |
31 | {excerpt} 32 |
33 |18 | {excerpt} 19 |
20 |25 | {excerpt} 26 |
27 |{excerpt}
12 |{udate}
13 |18 | I am a Product Designer and Researcher with a knack 19 | for building things. Currently finishing up my Master's Thesis with 20 | the HCI Division of Gothenburg University and IIIT Bangalore. I’m 21 | currently studying at{' '} 22 | 28 | IIIT Bangalore 29 | {' '} 30 | , India and doing my master's thesis under the supervision of{' '} 31 | 37 | Dr. Mattias Rost 38 | {' '} 39 | from the{' '} 40 | 46 | HCI Division 47 | {' '} 48 | of Gothenburg University and{' '} 49 | 55 | Dr. Bidisha Chaudhuri 56 | 57 | . Previously I interned with GE Healthcare as a Data Scientist in 58 | their services department to optimise the recovery and refurbishment 59 | of CT and MRI machines. I was also the Organiser for 60 | TEDxIIITBangalore’s very first TEDx event, along with my colleague 61 | Tejas Kotha. 62 |
63 |65 | When I’m not working, I tinker around and make art, click photos or 66 | write about things at the intersection of Psychology, Design, Tech 67 | and Business. You will usually find me in the kitchen trying out all 68 | those youtube recipes. I occasionally take up freelance work as a 69 | side hustle. 70 |
71 |73 | Feel free to get in touch with me for freelance work, questions or a 74 | quick chat. I’m active on Twitter and strive to maintain inbox zero 75 | :) 76 |
77 |
14 | Hi, I'm Shrey, a design engineer who loves building tools for
15 | productivity. Currently helping sales teams with conversational
16 | intelligence at {darkModeLinkStyleTag('Clari', 'https://clari.com/')},
17 | also experimenting with LLMs on the side.
18 |
19 |
20 | In the past, I helped build the SQL Editor and establish design processes
21 | at {darkModeLinkStyleTag('Atlan', 'https://atlan.com/')}. I've also built
22 | tools to study technology use in families. I have two cats, love talking
23 | about sustainable lifestyles, a huge fan of{' '}
24 | {darkModeLinkStyleTag(
25 | 'Khruangbin',
26 | 'https://www.youtube.com/watch?v=q4xKvHANqjk',
27 | )}{' '}
28 | and a lifelong stan of the{' '}
29 | {darkModeLinkStyleTag(
30 | 'Mass Effect universe',
31 | 'https://en.wikipedia.org/wiki/Mass_Effect',
32 | )}
33 | .
34 |
40 | Hi, I'm Shrey, a design engineer who loves building tools for
41 | productivity. Currently building design systems and helping sales teams
42 | with conversational intelligence at{' '}
43 | {darkModeLinkStyleTag('Clari', 'https://clari.com/')}.
44 |
45 |
46 | At my alma mater{' '}
47 | {darkModeLinkStyleTag('IIIT Bangalore', 'https://www.iiitb.ac.in/')}, I
48 | studied electronics, then explored to data science for a while which
49 | landed me an internship at{' '}
50 | {darkModeLinkStyleTag('GE Healthcare', 'https://www.gehealthcare.in/')}
51 | 's data team in the services department. The work was great, we were
52 | building a process for the services team to optimise the sales of
53 | refurbished equipment, which has high demand in third world countries.
54 | But I wanted to study human behaviour and learn design.
55 |
56 |
57 | During this time, I also took courses like Human-computer interaction,
58 | qualitative research methods and the Web and the Mind. These courses
59 | made me gravitate towards HCI and product design, and I started working
60 | with the HCI department at the{' '}
61 | {darkModeLinkStyleTag(
62 | 'University of Gothenburg',
63 | 'https://www.gu.se/en',
64 | )}
65 | . There, I built methodologies and tools to better study technology use
66 | in families as part of my masters thesis under{' '}
67 | {darkModeLinkStyleTag(
68 | 'Prof. Mattias Rost',
69 | 'https://www.gu.se/en/about/find-staff/mattiasrost',
70 | )}
71 | .
72 |
73 |
74 | Before Clari, I helped build processes and the SQL Editor at{' '}
75 | {darkModeLinkStyleTag('Atlan', 'https://atlan.com/')}. I have two cats,
76 | Ginger and Loki. I also advocate leading a sustainable lifestyle, love
77 | composting and mushroom cultivation. I'm a huge fan of{' '}
78 | {darkModeLinkStyleTag(
79 | 'Khruangbin',
80 | 'https://www.youtube.com/watch?v=q4xKvHANqjk',
81 | )}{' '}
82 | and a lifelong stan of the{' '}
83 | {darkModeLinkStyleTag(
84 | 'Mass Effect universe',
85 | 'https://en.wikipedia.org/wiki/Mass_Effect',
86 | )}
87 | .
88 |