Skip to content
Open
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
2 changes: 1 addition & 1 deletion data/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module.exports = {
shortName: 'Yas',
siteGithubRepo: 'https://github.com/yashints/yashints.dev',
authorDescription:
'A front end lead engineer, international speaker, blogger and a hiker.',
'GenAI guru and Principal Software Engineer at Atlassian, making the dev loop calmer and Jira a little smarter.',
socialLinks: {
twitter: 'http://www.twitter.com/yashints',
github: 'https://github.com/yashints',
Expand Down
16 changes: 15 additions & 1 deletion gatsby-browser.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
export const onServiceWorkerUpdateReady = () => window.location.reload(true);
require('prismjs/themes/prism-solarizedlight.css');
require('prismjs/plugins/line-numbers/prism-line-numbers.css');
const config = require('./data/config');
let isInitialRoute = true;

export const onRouteUpdate = () => {
export const onRouteUpdate = ({ location }) => {
if (typeof window !== `undefined`) {
window.scrollTo(0, 0);

if (isInitialRoute) {
isInitialRoute = false;
return;
}

if (window.gtag && process.env.NODE_ENV === 'production') {
window.gtag('config', config.googleAnalyticsID, {
page_path: location.pathname + location.search + location.hash,
send_page_view: true,
});
}
}
};
12 changes: 4 additions & 8 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -180,17 +180,13 @@ module.exports = {
domain: 'https://www.google-analytics.com',
crossOrigin: true,
},
{
domain: 'https://www.googletagmanager.com',
crossOrigin: true,
},
],
},
},
{
resolve: 'gatsby-plugin-google-tagmanager',
options: {
id: config.googleAnalyticsID,
includeInDevelopment: false,
defaultDataLayer: { platform: 'gatsby' },
},
},
{
resolve: 'gatsby-plugin-nprogress',
options: {
Expand Down
27 changes: 27 additions & 0 deletions gatsby-ssr.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
const React = require('react');
const config = require('./data/config');

exports.onRenderBody = ({ setHeadComponents }) => {
if (process.env.NODE_ENV !== 'production') {
return;
}

setHeadComponents([
React.createElement('script', {
key: 'google-tag-script',
async: true,
src: `https://www.googletagmanager.com/gtag/js?id=${config.googleAnalyticsID}`,
}),
React.createElement('script', {
key: 'google-tag-config',
dangerouslySetInnerHTML: {
__html: `
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${config.googleAnalyticsID}');
`,
},
}),
]);
};
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
"gatsby-plugin-catch-links": "^5.13.1",
"gatsby-plugin-disqus": "^1.2.6",
"gatsby-plugin-feed": "^5.13.1",
"gatsby-plugin-google-tagmanager": "^5.13.1",
"gatsby-plugin-image": "^3.13.1",
"gatsby-plugin-manifest": "^5.13.1",
"gatsby-plugin-netlify": "^5.1.1",
Expand Down
46 changes: 22 additions & 24 deletions src/components/about/Details/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,34 @@ export const Details = () => {
return (
<Wrapper as={Container}>
<Text>
As a seasoned software engineering lead at{' '}
<a target="_blank" href="innovategpt.ai">
{' '}
InnovateGPT Group
By day, I'm a GenAI guru and Principal Software Engineer at{' '}
<a
target="_blank"
rel="noopener noreferrer"
href="https://www.atlassian.com"
>
Atlassian
</a>
, I thrive on the intersection of human ingenuity and technological
innovation. When not crafting elegant solutions powered by GenAI, you can find me exploring the latest
advancements in AI, cloud computing, and software engineering.
, which mostly means teaching AI to be useful before it gets too
confident. I work on bringing calm to the madness of the developer loop
and shipping AI-powered features in Jira. My happy place is where
product engineering, developer experience, and useful AI stop arguing
and start helping people get work done.
</Text>
<Text>
My tech toolkit includes HTML, CSS, JavaScript, TypeScript, C#, and a
range of frameworks and libraries that enable me to tackle complex
problems on both frontend and backend. I've successfully applied my
skills to build scalable, high-performing web solutions using React.js,
Angular.js, Node, Next.js, and DotNet.
</Text>
<Text>
With a passion for problem-solving and a knack for learning, I'm always
on the lookout for new challenges and opportunities to grow. Whether
it's harnessing the power of GenAI, working on (progressive) web apps, optimizing
Client-side APIs for seamless user experiences, or utilising machine
learning algorithms to drive intelligent solutions – I'm all about
pushing the boundaries of what's possible.
I have a suspicious amount of fun translating scary-looking technology
into "oh, I get it now" moments. Sometimes that happens on conference
stages, sometimes in blog posts or mentoring chats, and sometimes while
politely convincing GenAI, browser APIs, and software architecture to
behave like they are all on the same team.
</Text>

<Text>
In my free time, you'll find me staying up-to-date with the latest
developments in web development, AI, and cloud computing. I'm fascinated
by the potential of WebAssembly, Client-side APIs, and other emerging
technologies to transform the way we build and interact with software.
Outside work, I'm usually learning, writing, hiking, or tinkering with a
new idea before it has fully agreed to become a project. I am still
fascinated by WebAssembly, browser APIs, AI-assisted development, and
all the small details that make software feel a little more magical and
a lot less exhausting.
</Text>
</Wrapper>
);
Expand Down
20 changes: 10 additions & 10 deletions src/components/common/Speaking/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -163,25 +163,25 @@ export const Speaking = ({ events }) => {
<h3 id="bio">Bio</h3>
<Box>
<p>
Although it doesn’t look like it, Yaser is an almond croissant addict
cleverly disguised as a successful web developer. Since it was
relatively clear early on that it would be slightly more than
difficult to make a living out of thin air, he’s focused his energy on
the web, which happily has proven itself to be a wonderful decision.
Although it doesn’t look like it, Yas is an almond croissant addict
cleverly disguised as a GenAI guru. He is a Principal Software
Engineer at Atlassian, where he works on bringing calm to the madness
of the developer loop and shipping AI-powered features in Jira.
</p>
<ul>
<li>
<strong>Name:</strong> Yaser Adel Mehraban
<strong>Name:</strong> Yas Adel Mehraban
</li>
<li>
<strong>Tagline:</strong> AKA Yashints, a front-end lead engineer,
international speaker, blogger, and a hiker.
<strong>Tagline:</strong> AKA Yashints, GenAI guru, Principal
Software Engineer at Atlassian, international speaker, blogger, and
hiker.
</li>
<li>
<strong>Designation:</strong> Azure Technical Trainer
<strong>Designation:</strong> Principal Software Engineer
</li>
<li>
<strong>Company:</strong> Microsoft
<strong>Company:</strong> Atlassian
</li>
<li>
<strong>Headshot:</strong>{' '}
Expand Down
18 changes: 8 additions & 10 deletions src/components/landing/Intro/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,16 @@ export const Intro = () => {
<h1>Meet {config.shortName}</h1>
<Box>
<p>
Meet <b>Yas</b> — AKA “{config.siteTitle}”—the software whiz who codes
with heart, travels the globe sprouting tech wisdom, and still finds
time to hike and blog about it all.{' '}
Meet <b>Yas</b>, AKA "{config.siteTitle}", a GenAI guru and Principal
Software Engineer at Atlassian who spends his days bringing calm to
the glorious madness of the developer loop and shipping AI-powered
features in Jira.
</p>
<p>
He’s not just mapping out cutting-edge solutions; he’s ensuring those
solutions actually make people’s lives better. Almond croissants might
be his kryptonite, but demystifying complex code for conference
audiences? That’s where he truly shines. From dreamer in a café to
top-tier tech maestro, Yas is proof that passion, communication, and a
dash of pastry-fuelled creativity can change the world—one line of
code at a time.
He likes sharp architecture, helpful automation, boringly reliable
systems, and the tiny product details that make engineers quietly say
"oh, nice". Almond croissants remain a serious vulnerability, but so
does a messy workflow begging for a clever AI nudge.
</p>
<Flex>
<ButtonLink
Expand Down
13 changes: 0 additions & 13 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6362,14 +6362,6 @@ gatsby-plugin-feed@^5.13.1:
lodash.merge "^4.6.2"
rss "^1.2.2"

gatsby-plugin-google-tagmanager@^5.13.1:
version "5.13.1"
resolved "https://registry.yarnpkg.com/gatsby-plugin-google-tagmanager/-/gatsby-plugin-google-tagmanager-5.13.1.tgz#384cf689be04e320908c63c26e1936b71a7b4898"
integrity sha512-n6I164KvPtl+Nx9bBpXXkb6aw1oA1GuAccswjQ5lpQqB2JG5MtcQU6hwdQlwkIVv9+VCRQSZf3mOn6zU7BDO+A==
dependencies:
"@babel/runtime" "^7.20.13"
web-vitals "^1.1.2"

gatsby-plugin-image@^3.13.1:
version "3.13.1"
resolved "https://registry.yarnpkg.com/gatsby-plugin-image/-/gatsby-plugin-image-3.13.1.tgz#5c6e03b1c21bb0dbc076f589aea9911086b25bde"
Expand Down Expand Up @@ -12453,11 +12445,6 @@ web-namespaces@^1.0.0:
resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec"
integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==

web-vitals@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-1.1.2.tgz#06535308168986096239aa84716e68b4c6ae6d1c"
integrity sha512-PFMKIY+bRSXlMxVAQ+m2aw9c/ioUYfDgrYot0YUa+/xa0sakubWhSDyxAKwzymvXVdF4CZI71g06W+mqhzu6ig==

webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
Expand Down