PageSourceSearch

https://andrejgajdos.com/

html andrejgajdos.com collected 2026-09-25 21:06:54 UTC 138,532 bytes, 1,849 lines download raw bytes

1
2
3<!DOCTYPE html>
4<html lang="en-US">
5<head>
6	<meta charset="UTF-8">
7	<meta name="viewport" content="width=device-width, initial-scale=1">
8	<link rel="profile" href="https://gmpg.org/xfn/11">
9	<link rel="pingback" href="https://andrejgajdos.com/xmlrpc.php">
10
11	<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
12
13	<!-- This site is optimized with the Yoast SEO plugin v28.2 - https://yoast.com/product/yoast-seo-wordpress/ -->
14	<title>Freelance Full-Stack Developer for Hire | Andrej Gajdos</title>
15	<meta name="description" content="Freelance full-stack developer for hire. 10+ years and 20+ projects building custom web apps and websites for startups and businesses." />
16	<link rel="canonical" href="https://andrejgajdos.com/" />
17	<meta property="og:locale" content="en_US" />
18	<meta property="og:type" content="website" />
19	<meta property="og:title" content="Freelance Full-Stack Developer for Hire | Andrej Gajdos" />
20	<meta property="og:description" content="Freelance full-stack developer for hire. 10+ years and 20+ projects building custom web apps and websites for startups and businesses." />
21	<meta property="og:url" content="https://andrejgajdos.com/" />
22	<meta property="og:site_name" content="Andrej Gajdos" />
23	<meta property="article:modified_time" content="2026-08-06T17:16:03+00:00" />
24	<meta property="og:image" content="https://andrejgajdos.com/wp-content/uploads/2021/05/andrej-gajdos-1.jpg" />
25	<meta property="og:image:width" content="1200" />
26	<meta property="og:image:height" content="1200" />
27	<meta property="og:image:type" content="image/jpeg" />
28	<meta name="twitter:card" content="summary_large_image" />
29	<meta name="twitter:site" content="@Andrej_Gajdos" />
30	
30<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/andrejgajdos.com\/","url":"https:\/\/andrejgajdos.com\/","name":"Freelance Full-Stack Developer for Hire | Andrej Gajdos","isPartOf":{"@id":"https:\/\/andrejgajdos.com\/#website"},"datePublished":"2015-08-19T20:17:28+00:00","dateModified":"2026-08-06T17:16:03+00:00","description":"Freelance full-stack developer for hire. 10+ years and 20+ projects building custom web apps and websites for startups and businesses.","breadcrumb":{"@id":"https:\/\/andrejgajdos.com\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/andrejgajdos.com\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/andrejgajdos.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https:\/\/andrejgajdos.com\/#website","url":"https:\/\/andrejgajdos.com\/","name":"Andrej Gajdos","description":"Andrej&#039;s Personal Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/andrejgajdos.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
30
31	<!-- / Yoast SEO plugin. -->
32
33
34<link rel='dns-prefetch' href='//secure.gravatar.com' />
35<link rel='dns-prefetch' href='//www.google.com' />
36<link rel='dns-prefetch' href='//cdnjs.cloudflare.com' />
37<link rel='dns-prefetch' href='//fonts.googleapis.com' />
38<link rel='dns-prefetch' href='//v0.wordpress.com' />
39<link rel='dns-prefetch' href='//widgets.wp.com' />
40<link rel='dns-prefetch' href='//s0.wp.com' />
41<link rel='dns-prefetch' href='//0.gravatar.com' />
42<link rel='dns-prefetch' href='//1.gravatar.com' />
43<link rel='dns-prefetch' href='//2.gravatar.com' />
44<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' />
45<link rel="alternate" type="application/rss+xml" title="Andrej Gajdos &raquo; Feed" href="https://andrejgajdos.com/feed/" />
46<link rel="alternate" type="application/rss+xml" title="Andrej Gajdos &raquo; Comments Feed" href="https://andrejgajdos.com/comments/feed/" />
47<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://andrejgajdos.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fandrejgajdos.com%2F" />
48<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://andrejgajdos.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fandrejgajdos.com%2F&#038;format=xml" />
49<style id="wp-img-auto-sizes-contain-inline-css">
50img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
51/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
52</style>
53<link rel='stylesheet' id='bootstrap-css' href='https://andrejgajdos.com/wp-content/plugins/easy-bootstrap-shortcodes/styles/bootstrap.min.css?ver=7.0.2' media='all' />
54<link rel='stylesheet' id='bootstrap-fa-icon-css' href='https://andrejgajdos.com/wp-content/plugins/easy-bootstrap-shortcodes/styles/font-awesome.min.css?ver=7.0.2' media='all' />
55<style id="wp-block-library-inline-css">
56:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
56--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-color]){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
57
58/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
59</style>
60<style id="wp-block-library-inline-css-extra">
61.has-text-align-justify{text-align:justify;}
62/*# sourceURL=wp-block-library-inline-css */
63</style>
64
65<style id="classic-theme-styles-inline-css">
66/*! This file is auto-generated */
67.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
68/*# sourceURL=/wp-includes/css/classic-themes.min.css */
69</style>
70
71<style id="global-styles-inline-css">
72:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
72--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
72.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
73/*# sourceURL=global-styles-inline-css */
74</style>
75
76<link rel='stylesheet' id='contact-form-7-css' href='https://andrejgajdos.com/wp-content/cache/asset-cleanup/css/item/contact-form-7-ve683513eb7515ff7a25e01cefc721d593bad4907.css' media='all' />
77<link rel='stylesheet' id='cookie-law-info-css' href='https://andrejgajdos.com/wp-content/cache/asset-cleanup/css/item/cookie-law-info-v8b8133c9915dacc312bb42596b697dae6e183169.css' media='all' />
78<link rel='stylesheet' id='cookie-law-info-gdpr-css' href='https://andrejgajdos.com/wp-content/cache/asset-cleanup/css/item/cookie-law-info-gdpr-v8befca4c743632900b60099b7777a7d0db63a9e4.css' media='all' />
79<link rel='stylesheet' id='font-awesome-css' href='https://andrejgajdos.com/wp-content/themes/shapely/assets/css/fontawesome/all.min.css?ver=7.0.2' media='all' />
80<link rel='stylesheet' id='shapely-style-css' href='https://andrejgajdos.com/wp-content/cache/asset-cleanup/css/item/shapely-style-v771317dff55215c4b04732c8b05a02f0a09c5214.css' media='all' />
81<link rel='stylesheet' id='ebs_dynamic_css-css' href='https://andrejgajdos.com/wp-content/plugins/easy-bootstrap-shortcodes/styles/ebs_dynamic_css.php?ver=7.0.2' media='all' />
82<link rel='stylesheet' id='olympus-google-fonts-css' href='https://fonts.googleapis.com/css?display=swap&family=Nunito:200,300,400,500,600,700,800,900,200i,300i,400i,500i,600i,700i,800i,900i|Fjalla+One:400,400i&#038;subset=all&#038;ver=3.0.19' media='all' />
83<script   id="jquery-core-js" src="https://andrejgajdos.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 83
83
84<script   id="jquery-migrate-js" async='async' src="https://andrejgajdos.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 84
84
85<script id="cookie-law-info-js-extra">
86var Cli_Data = {"nn_cookie_ids":[],"cookielist":[],"non_necessary_cookies":[],"ccpaEnabled":"","ccpaRegionBased":"","ccpaBarEnabled":"","strictlyEnabled":["necessary","obligatoire"],"ccpaType":"gdpr","js_blocking":"","custom_integration":"","triggerDomRefresh":"","secure_cookies":""};
87var cli_cookiebar_settings = {"animate_speed_hide":"500","animate_speed_show":"500","background":"#FFF","border":"#b1a6a6c2","border_on":"","button_1_button_colour":"#000","button_1_button_hover":"#000000","button_1_link_colour":"#fff","button_1_as_button":"1","button_1_new_win":"","button_2_button_colour":"#333","button_2_button_hover":"#292929","button_2_link_colour":"#444","button_2_as_button":"","button_2_hidebar":"","button_3_button_colour":"#000","button_3_button_hover":"#000000","button_3_link_colour":"#fff","button_3_as_button":"1","button_3_new_win":"","button_4_button_colour":"#f5f5f5","button_4_button_hover":"#c4c4c4","button_4_link_colour":"#212529","button_4_as_button":"1","button_7_button_colour":"#212529","button_7_button_hover":"#1a1e21","button_7_link_colour":"#fff","button_7_as_button":"1","button_7_new_win":"","font_family":"inherit","header_fix":"","notify_animate_hide":"1","notify_animate_show":"","notify_div_id":"#cookie-law-info-bar","notify_position_horizontal":"right","notify_position_vertical":"bottom","scroll_close":"","scroll_close_reload":"","accept_close_reload":"","reject_close_reload":"","showagain_tab":"","showagain_background":"#fff","showagain_border":"#000","showagain_div_id":"#cookie-law-info-again","showagain_x_position":"100px","text":"#000","show_once_yn":"","show_once":"10000","logging_on":"","as_popup":"","popup_overlay":"1","bar_heading_text":"","cookie_bar_as":"banner","popup_showagain_position":"bottom-right","widget_position":"left"};
88var log_object = {"ajax_url":"https://andrejgajdos.com/wp-admin/admin-ajax.php"};
89//# sourceURL=cookie-law-info-js-extra
90</script>
vendor: 1 bytes, line 90
90
91<script   id="cookie-law-info-js" defer='defer' src="https://andrejgajdos.com/wp-content/cache/asset-cleanup/js/item/cookie-law-info-v515b486035533da9d96189a084a1e1ab0630db3f.js"></script>
vendor: 1 bytes, line 91
91
92<script   id="jquery-easing-js" async='async' src="//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js?ver=7.0.2"></script>
92
93<link rel="https://api.w.org/" href="https://andrejgajdos.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://andrejgajdos.com/wp-json/wp/v2/pages/5" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://andrejgajdos.com/xmlrpc.php?rsd" />
94<!-- HFCM by 99 Robots - Snippet # 25: homepage - header -->
95<meta property="og:image" content="https://andrejgajdos.com/wp-content/uploads/2021/05/andrej-gajdos-1.jpg">
96<link rel="stylesheet" href="https://andrejgajdos.com/wp-content/cache/asset-cleanup/css/item/a9c7d460118dd74a0a5483dbfc88e5af-v28e7367c4d51977616db84f7fe98b8c13886e6d8.css" />
97	<link rel="preload" href="https://andrejgajdos.com/wp-content/cache/asset-cleanup/css/item/1a64bc7ccb561b852e220de6d82f19bc-v2a970dea66bdd16a8192aeff0f13e3caa687d41c.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
98<noscript>
99	<link
100    rel="stylesheet"
101    href="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/skills_25.css"
102  />
103</noscript>
104
105<!-- /end HFCM by 99 Robots -->
106<script>
vendor: 339 bytes, lines 106-112
106
107  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
108  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
109  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
110  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
111
112  ga('create', '
112UA-72485492-1
vendor: 39 bytes, lines 112-114
112', 'auto');
113  ga('send', 'pageview');
114
115</script>
115
116<style type='text/css'>img#wpstats{display:none}</style>
117		<style type="text/css">a, .image-bg a, .contact-section .social-icons li a, a:visited, .footer .footer-credits a, .post-content .post-meta li a, .post-content .shapely-category a, .module.widget-handle i {color:#305c91 }a:hover,
118				a:active,
119				a:focus,
120				.post-title a:hover,
121				.post-title a:focus,
122				.image-bg a:hover,
123				.image-bg a:focus,
124				.contact-section .social-icons li a:hover,
125				.contact-section .social-icons li a:focus,
126				.footer .footer-credits a:hover,
127				.footer .footer-credits a:focus,
128				.post-content .post-meta li a:hover,
129				.post-content .post-meta li a:focus,
130				.widget.widget_recent_entries ul li a:focus,
131				.widget.widget_recent_entries ul li a:hover,
132				.widget.widget_recent_comments ul li .comment-author-link a:focus,
133				.widget.widget_recent_comments ul li .comment-author-link a:hover,
134				.widget.widget_archive > div ul li a:focus,
135				.widget.widget_archive > div ul li a:hover,
136				.widget.widget_archive ul li a:focus,
137				.widget.widget_archive ul li a:hover,
138				.widget.widget_categories > div ul li a:focus,
139				.widget.widget_categories > div ul li a:hover,
140				.widget.widget_categories ul li a:focus,
141				.widget.widget_categories ul li a:hover,
142				.widget.widget_meta > div ul li a:focus,
143				.widget.widget_meta > div ul li a:hover,
144				.widget.widget_meta ul li a:focus,
145				.widget.widget_meta ul li a:hover,
146				.widget.widget_pages > div ul li a:focus,
147				.widget.widget_pages > div ul li a:hover,
148				.widget.widget_pages ul li a:focus,
149				.widget.widget_pages ul li a:hover,
150				.widget.widget_nav_menu > div ul li a:focus,
151				.widget.widget_nav_menu > div ul li a:hover,
152				.widget.widget_nav_menu ul li a:focus,
153				.widget.widget_nav_menu ul li a:hover,
154				.widget.widget_nav_menu .menu > li a:focus,
155				.widget.widget_nav_menu .menu > li a:hover,
156				.widget.widget_tag_cloud a:focus,
157				.widget.widget_tag_cloud a:hover,
158				.widget_product_categories ul.product-categories li a:hover,
159				.widget_product_categories ul.product-categories li a:focus,
160				.widget_product_tag_cloud .tagcloud a:hover,
161				.widget_product_tag_cloud .tagcloud a:focus,
162				.widget_products .product_list_widget a:hover,
163				.widget_products .product_list_widget a:focus,
164				.woocommerce.widget ul.cart_list li a:hover,
165				.woocommerce.widget ul.cart_list li a:focus,
166				.woocommerce.widget ul.product_list_widget li a:hover,
167				.woocommerce.widget ul.product_list_widget li a:focus,
168				.woocommerce .widget_layered_nav_filters ul li a:hover,
169				.woocommerce .widget_layered_nav_filters ul li a:focus,
170				.woocommerce .widget_layered_nav ul li a:hover,
171				.woocommerce .widget_layered_nav ul li a:focus,
172				.main-navigation .menu > li > ul li:hover > a,
173				.main-navigation .menu > li > ul li:focus > a,
174				.main-navigation .menu > li > ul .dropdown:hover:after,
175				.main-navigation .menu > li > ul .dropdown:focus:after,
176				.main-navigation .menu li a:focus,
177				.main-navigation .menu li:focus > a,
178				.main-navigation .menu > li > ul li a:focus,
179				.post-content .shapely-category a:hover,
180				.post-content .shapely-category a:focus,
181				.main-navigation .menu li:hover > a,
182				.main-navigation .menu li:focus > a,
183				.main-navigation .menu > li:hover:after,
184				.main-navigation .menu > li:focus-within:after,
185				.bg-dark .social-list a:hover,
186				.bg-dark .social-list a:focus,
187				.shapely-social .shapely-social-icon:hover,
188				.shapely-social .shapely-social-icon:focus { color: #305c91;}.btn-filled, .btn-filled:visited, .woocommerce #respond input#submit.alt,
189          .woocommerce a.button.alt, .woocommerce button.button.alt,
190          .woocommerce input.button.alt, .woocommerce #respond input#submit,
191          .woocommerce a.button, .woocommerce button.button,
192          .woocommerce input.button,
193          .video-widget .video-controls button,
194          input[type="submit"],
195          button[type="submit"],
196          .post-content .more-link { background:#305c91 !important; border: 2px solid #305c91 !important;}.shapely_home_parallax > section:not(.image-bg) .btn-white { color:#305c91 !important; border: 2px solid#305c91 !important; }.btn-filled:hover,
197				.btn-filled:focus,
198				.woocommerce #respond input#submit.alt:hover,
199				.woocommerce #respond input#submit.alt:focus,
200				.woocommerce a.button.alt:hover,
201				.woocommerce a.button.alt:focus,
202				.woocommerce button.button.alt:hover,
203				.woocommerce button.button.alt:focus,
204				.woocommerce input.button.alt:hover,
205				.woocommerce input.button.alt:focus,
206				.woocommerce #respond input#submit:hover,
207				.woocommerce #respond input#submit:focus,
208				.woocommerce a.button:hover,
209				.woocommerce a.button:focus,
210				.woocommerce button.button:hover,
211				.woocommerce button.button:focus,
212				.woocommerce input.button:hover,
213				.woocommerce input.button:focus,
214				.video-widget .video-controls button:hover,
215				.video-widget .video-controls button:focus,
216				input[type="submit"]:hover,
217				input[type="submit"]:focus,
218				button[type="submit"]:hover,
219				button[type="submit"]:focus,
220				.post-content .more-link:hover,
221				.post-content .more-link:focus,
222				.btn:not(.btn-white):hover,
223				.btn:not(.btn-white):focus,
224				.button:not(.btn-white):hover,
225				.button:not(.btn-white):focus
226				{ background: #305c91 !important; border: 2px solid#305c91 !important;}.shapely_home_parallax > section:not(.image-bg) .btn-white:hover,
227				.shapely_home_parallax > section:not(.image-bg) .btn-white:focus,
228				.pagination span:not( .dots ),
229				.pagination a:hover,
230				.pagination a:focus,
231				.woocommerce-pagination ul.page-numbers span.page-numbers,
232				.woocommerce nav.woocommerce-pagination ul li a:focus,
233				.woocommerce nav.woocommerce-pagination ul li a:hover,
234				.woocommerce nav.woocommerce-pagination ul li span.current { background-color: #305c91 !important; border-color: #305c91 !important;color: #fff !important; }.widget.widget_search .search-form > input#s:hover,
235				.widget.widget_search .search-form > input#s:focus,
236				.widget.widget_calendar #wp-calendar td:not(.pad):not(#next):not(#prev)#today,
237				.widget_product_search .woocommerce-product-search > input.search-field:hover,
238				.widget_product_search .woocommerce-product-search > input.search-field:focus,
239				.widget.widget_search input[type="text"]:focus + button[type="submit"].searchsubmit,
240				.widget.widget_search input[type="text"]:hover + button[type="submit"].searchsubmit,
241				textarea:hover,
242				textarea:focus,
243				input[type="text"]:hover,
244				input[type="search"]:hover,
245				input[type="email"]:hover,
246				input[type="tel"]:hover,
247				input[type="text"]:focus,
248				input[type="search"]:focus,
249				input[type="email"]:focus,
250				input[type="tel"]:focus,
251				.widget.widget_product_search input[type="text"]:focus + button[type="submit"].searchsubmit,
252				.widget.widget_product_search input[type="text"]:hover + button[type="submit"].searchsubmit
253				{ border-color: #305c91 !important }.widget.widget_calendar #wp-calendar > caption:after,
254				.widget.widget_calendar #wp-calendar td:not(.pad):not(#next):not(#prev)#today:hover,
255				.widget.widget_calendar #wp-calendar td:not(.pad):not(#next):not(#prev)#today:focus
256				{ background-color: #305c91 }.widget.widget_search input[type="text"]:focus + button[type="submit"].searchsubmit,
257				.widget.widget_search input[type="text"]:hover + button[type="submit"].searchsubmit,
258				.widget.widget_product_search input[type="text"]:focus + button[type="submit"].searchsubmit,
259				.widget.widget_product_search input[type="text"]:hover + button[type="submit"].searchsubmit,
260				.image-bg .text-slider .flex-direction-nav li a:focus:before
261				{ color: #305c91 }</style><style type="text/css">.broken_link, a.broken_link {
262	text-decoration: line-through;
263}</style><link rel="icon" href="https://andrejgajdos.com/wp-content/uploads/2019/05/cropped-andrejgajdos.com_-32x32.jpg" sizes="32x32" />
264<link rel="icon" href="https://andrejgajdos.com/wp-content/uploads/2019/05/cropped-andrejgajdos.com_-192x192.jpg" sizes="192x192" />
265<link rel="apple-touch-icon" href="https://andrejgajdos.com/wp-content/uploads/2019/05/cropped-andrejgajdos.com_-180x180.jpg" />
266<meta name="msapplication-TileImage" content="https://andrejgajdos.com/wp-content/uploads/2019/05/cropped-andrejgajdos.com_-270x270.jpg" />
267<link rel="stylesheet" type="text/css" id="wp-custom-css" href="https://andrejgajdos.com/?custom-css=9de6024d18" />	<!-- Fonts Plugin CSS - https://fontsplugin.com/ -->
268	<style>
269		:root {
270--font-base: Nunito;
271--font-headings: Fjalla One;
272--font-input: Nunito;
273}
274body, #content, .entry-content, .post-content, .page-content, .post-excerpt, .entry-summary, .entry-excerpt, .widget-area, .widget, .sidebar, #sidebar, footer, .footer, #footer, .site-footer {
275font-family: "Nunito";
276 }
277#site-title, .site-title, #site-title a, .site-title a, .entry-title, .entry-title a, h1, h2, h3, h4, h5, h6, .widget-title {
278font-family: "Fjalla One";
279 }
280button, .button, input, select, textarea, .wp-block-button, .wp-block-button__link, .btn, .header-button-one, .header-button-two, .latest-news-button, .readmore, .submit, #submit, .more-link, .blog-post-button {
281font-family: "Nunito";
282 }
283	</style>
284	<!-- Fonts Plugin CSS -->
285	</head>
286
287<body class="home wp-singular page-template page-template-page-templates page-template-template-home page-template-page-templatestemplate-home-php page page-id-5 wp-theme-shapely has-sidebar-right">
288	<div id="page" class="site">
289	<a class="skip-link screen-reader-text" href="#content">Skip to content</a>
290
291	<header id="masthead" class="site-header" role="banner">
292		<div class="nav-container">
293			<nav  id="site-navigation" class="main-navigation" role="navigation">
294				<div class="container nav-bar">
295					<div class="flex-row">
296						<div class="module left site-title-container">
297							<a href="https://andrejgajdos.com/" class="custom-logo-link"><span class="site-title">Andrej Gajdos</span></a>						</div>
298						<button class="module widget-handle mobile-toggle right visible-sm visible-xs">
299							<i class="fa fa-bars"></i>
300						</button>
301						<div class="module-group right">
302							<div class="module left">
303								<div class="collapse navbar-collapse navbar-ex1-collapse"><ul id="menu" class="menu"><li id="menu-item-1072" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-1072 active"><a title="About" href="https://andrejgajdos.com/#about">About</a></li>
304<li id="menu-item-2773" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2773 dropdown"><a title="Work" href="https://andrejgajdos.com/projects/">Work </a><span class="dropdown-toggle shapely-dropdown" data-toggle="dropdown"><i class="fa fa-angle-down" aria-hidden="true"></i></span>
305<ul role="menu" class=" dropdown-menu">
306	<li id="menu-item-3593" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3593"><a title="Software Architect" href="https://andrejgajdos.com/freelance-software-architect-portfolio/">Software Architect</a></li>
307	<li id="menu-item-3612" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3612"><a title="Node.js Developer" href="https://andrejgajdos.com/freelance-nodejs-developer-portfolio/">Node.js Developer</a></li>
308	<li id="menu-item-3624" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3624"><a title="Chrome Extensions Developer" href="https://andrejgajdos.com/freelance-chrome-extensions-developer-portfolio/">Chrome Extensions Developer</a></li>
309	<li id="menu-item-3630" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3630"><a title="Leaflet Developer" href="https://andrejgajdos.com/freelance-leaflet-developer-portfolio/">Leaflet Developer</a></li>
310</ul>
311</li>
312<li id="menu-item-3270" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-3270 dropdown"><a title="Services" href="https://andrejgajdos.com/software-development-services/">Services </a><span class="dropdown-toggle shapely-dropdown" data-toggle="dropdown"><i class="fa fa-angle-down" aria-hidden="true"></i></span>
313<ul role="menu" class=" dropdown-menu">
314	<li id="menu-item-3271" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3271"><a title="Fractional CTO" href="https://andrejgajdos.com/hire-fractional-cto/">Fractional CTO</a></li>
315	<li id="menu-item-3544" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3544"><a title="Software Architect" href="https://andrejgajdos.com/hire-software-architect/">Software Architect</a></li>
316	<li id="menu-item-3272" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3272"><a title="Front-end Consultant" href="https://andrejgajdos.com/front-end-consultant-for-hire/">Front-end Consultant</a></li>
317	<li id="menu-item-3273" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3273"><a title="React.js Consultant" href="https://andrejgajdos.com/react-js-consultant-for-hire/">React.js Consultant</a></li>
318	<li id="menu-item-3657" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3657"><a title="JavaScript Consultant" href="https://andrejgajdos.com/javascript-consultant-for-hire/">JavaScript Consultant</a></li>
319	<li id="menu-item-3661" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3661"><a title="MVP Development" href="https://andrejgajdos.com/custom-mvp-development-solutions/">MVP Development</a></li>
320</ul>
321</li>
322<li id="menu-item-1075" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-1075 active"><a title="Testimonials" href="https://andrejgajdos.com/#testimonials">Testimonials</a></li>
323<li id="menu-item-1073" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-1073 active"><a title="Experience" href="https://andrejgajdos.com/#experience">Experience</a></li>
324<li id="menu-item-17" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17"><a title="Blog" href="https://andrejgajdos.com/blog">Blog</a></li>
325<li id="menu-item-2686" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-2686 active"><a title="Contact" href="https://andrejgajdos.com/#contact">Contact</a></li>
326</ul></div>							</div>
327							<!--end of menu module-->
328							<div class="module widget-handle search-widget-handle hidden-xs hidden-sm">
329								<button class="search">
330									<i class="fa fa-search"></i>
331									<span class="title">Site Search</span>
332								</button>
333								<div class="function">
334									<form role="search" method="get" id="searchform" class="search-form" action="https://andrejgajdos.com/" >
335    <label class="screen-reader-text" for="s">Search for:</label>
336    <input type="text" placeholder="Type Here" value="" name="s" id="s" />
337    <button type="submit" class="searchsubmit"><i class="fa fa-search" aria-hidden="true"></i><span class="screen-reader-text">Search</span></button>
338    </form>								</div>
339							</div>
340						</div>
341						<!--end of module group-->
342					</div>
343				</div>
344			</nav><!-- #site-navigation -->
345		</div>
346	</header><!-- #masthead -->
347	<div id="content" class="main-container">
348		
349		<section class="content-area ">
350			<div id="main" class="" role="main">
351<div id="custom_html-2" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container"><div class="hero-section"><div class="hero"><div class="content">
352	<span class="pre-header">Hi, my name is Andrej Gajdos</span>
353	<h1 class="main-header">I'm a full stack developer building custom web applications in JavaScript, React and Node.js</h1><button class="find-btn">FIND OUT MORE</button>
354</div>
355	<picture>
356<source media="(min-width:992px)" srcset="./wp-content/uploads/2021/05/andrej-gajdos-1.webp" type="image/webp">
357<source media="(min-width:992px)" srcset="./wp-content/uploads/2021/05/andrej-gajdos-1.jpg" type="image/jpeg">
358<img src="./wp-content/uploads/2021/05/andrej-gajdos-1.jpg"
359        alt="Freelance Full Stack Web App Developer | Andrej Gajdos"
360        title="Freelance Full Stack Web App Developer | Andrej Gajdos" class="profile-picture">
361</picture>
362	<div class="img-container">
363		<picture>
364<source media="(max-width:992px)" srcset="./wp-content/uploads/2021/05/andrej-gajdos-mobile-1.webp" type="image/webp">
365<source media="(max-width:992px)" srcset="./wp-content/uploads/2021/05/andrej-gajdos-mobile-1.jpg" type="image/jpeg">
366<img src="./wp-content/uploads/2021/05/andrej-gajdos-mobile-1.jpg" class="profile-picture--mobile"
367        alt="Freelance Full Stack Web App Developer | Andrej Gajdos"
368        title="Freelance Full Stack Web App Developer | Andrej Gajdos" />
369</picture></div></div></div></div></div></div><div id="custom_html-14" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container bcg-grey">
370<div class="section logos">
371   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/apple.svg" alt="apple logo" title="apple"/>
372   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/binance.svg" alt="binance logo" title="binance"/>
373	 <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/logos/ouro-3.svg" alt="ouro logo" title="Ouro"/>
374   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/bankrate.svg" alt="bankrate logo" title="bankrate"/>
375   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/kettle.svg" alt="kettle logo" title="kettle"/>
376   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/adapt.svg" alt="adaptwordwide logo" title="adaptwordwide"/>
377<img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/ateams.svg" alt="a.teams logo" title="a.teams"/>
378   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/toptal.svg" alt="toptal logo" title="toptal"/>
379   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/nash.svg" alt="nash logo" title="nash"/>
380   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/shipserv.svg" alt="shipserv logo" title="shipserv"/>
381   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/shipbuilder.svg" alt="shipbuilder logo" title="shipbuilder"/>
382   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/stackbit.svg" alt="stackbit logo" title="stackbit"/>
383   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/ataccama.svg" alt="ataccama logo" title="ataccama"/>
384	 <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/3icap.svg" alt="3icap logo" title="3icap"/>
385   <img src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/log/ctrl.svg" alt="ctrl logo" title="ctrl"/>
386</div>
387	</div></div></div><div id="custom_html-20" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container"><div class="section" id="about">
388	<div class="about">
389	<h2>ABOUT</h2>
390	<div class="about__content">
391		<p>I'm a freelance full-stack developer who thinks like the technical leader your project needs. Over the past 10 years I've <a href="https://andrejgajdos.com/freelance-software-architect-portfolio/" target="_blank">architected systems</a>, led engineering teams as a <a href="https://andrejgajdos.com/hire-fractional-cto/" target="_blank">fractional CTO</a>
391, and shipped 20+ products for everyone from solo founders and startups to Apple and Binance.</p>
392<p>
393	So you're not just hiring a pair of hands. You get someone who can own your product end to end: designing the architecture, writing clean, maintainable code, and building web applications that stay fast whether you have ten users or a hundred thousand. And as products get smarter, I integrate LLM APIs and build AI agents.</p>
394<p>
395	Whether you need a custom web application, an AI agent or LLM integration, a business website, or a technical partner to pressure-test your roadmap, I can help. I work with startups and established companies alike and I'm available during the week to talk through what you're building.</p>
396		<p><i class="far fa-paper-plane"></i><a href="/cdn-cgi/l/email-protection#a3cec2cacfe3c2cdc7d1c6c9c4c2c9c7ccd08dc0ccce"><span class="__cf_email__" data-cfemail="a5c8c4ccc9e5c4cbc1d7c0cfc2c4cfc1cad68bc6cac8">[email&#160;protected]</span></a></p>
397		<iframe title="vimeo-player" src="https://player.vimeo.com/video/757367138?h=714af2e132" width="640" height="360" frameborder="0" allowfullscreen></iframe>
398	</div>
399	<h3>
400		What is a full stack developer ?
401	</h3>
402	<div class="about__content">
403		A full stack developer has the functional knowledge and ability to take a concept and turn it into a finished product. A full stack developer should have knowledge in front end and back end development. Front end developers build the visible parts of applications that users see and interact with. Back end developers on the other hand, are responsible for building the parts the user does not see, which include core computational logic, server and database.
404	</div>
405	</div>
406</div>
407</div></div></div><div id="custom_html-4" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container bcg-grey">
408    <div class="section" id="experience">
409    <div class="skills-experience">
410        <div class="skills-experience__nav">
411            <div class="tab--underline"></div>
412            <select class="skills-experience__select custom-select">
413    <option value="skills-tab" selected class="skills-tab">SKILLS</option>
414    <option value="experience-tab" class="experience-tab">EXPERIENCE</option>
415    <option value="code-samples-tab" class="code-samples-tab">CODE SAMPLES</option>
416    </select>
417            <ul class="skills-experience__tabs">
418                <li class="nav-item">
419                    <span class="nav-item__text  active" data-value="skills-tab">SKILLS</span>
420                </li>
421                <li class="nav-item">
422                    <span class="nav-item__text" data-value="experience-tab">EXPERIENCE</span>
423                </li>
424                <li class="nav-item">
425                    <span class="nav-item__text" data-value="code-samples-tab">CODE SAMPLES</span>
426                </li>
427            </ul>
428        </div>
429        <div class="skills-experience__content">
430            <div class="skills skills-tab active-content">
431                <div class="front">
432                    <div class="front__rib"><span>Front-end</span></div>
433                    <div class="front__content">
434                        <div class="front-grp">
435                            <h3 class="grp-heading">JavaScript</h3>
436                            <ul class="grp-list">
437                                <li>Single-page Applications (SPA)</li>
438                                <li>
439                                    <a href="https://reactjs.org/" target="_blank">React
440                                    </a>
441                                </li>
442                                <li><a href="https://www.typescriptlang.org/" target="_blank">TypeScript</a></li>
443    
444                                <li><a href="https://nextjs.org/" target="_blank">Next.js</a></li>
445                                <li><a href="https://www.gatsbyjs.org/" target="_blank">Gatsby</a></li>
446                                    <li><a href="https://www.apollographql.com/" target="_blank">Apollo</a></li>
447                                <li>
448                                    <a href="https://webpack.js.org/" target="_blank">Webpack</a></li>
449                                <li><a href="https://graphql.org/" target="_blank">GraphQL</a></li>
450                                <li><a href="https://d3js.org/" target="_blank">D3.js</a></li>
451                                <li><a href="https://leafletjs.com/" target="_blank">Leaflet</a></li>
452                                <li><a href="https://www.mapbox.com/" target="_blank">Mapbox</a></li>
453    <li><a href="https://redux.js.org/" target="_blank">Redux</a></li>
454                                <li><a href="https://mobx.js.org/" target="_blank">MobX</a></li>
455                                <li>Web3 (ethers.js)</li>
456                            </ul>
457                        </div>
458                        <div class="front-grp">
459                            <h3 class="grp-heading">HTML & CSS</h3>
460                            <ul class="grp-list">
461                                <li>Responsive websites</li>
462                                <li>Tailwind</li>
463                                <li>CSS-in-JS (<a href="https://emotion.sh/"
464                                    target="_blank">Emotion</a>, <a href="https://github.com/styled-components/styled-components"
465                                    target="_blank">styled-components</a>, <a href="https://material-ui.com/styles/advanced/"
466                                    target="_blank">Material UI</a>)</li>
467                                <li><a href="https://sass-lang.com/" target="_blank">SASS</a></li>
468                                <li><a href="https://material-ui.com/" target="_blank">Material UI</a></li>
469                                <li><a href="https://getbootstrap.com/" target="_blank">Bootstrap</a></li>
470                            </ul>
471                        </div>
472                    </div>
473                </div>
474                <div class="back">
475                    <div class="back__rib"><span>Back-end</span></div>
476                    <div class="back__content">
477                        <ul class="grp-list">
478                            <li><a href="https://nodejs.org/en/" target="_blank">Node.js</a></li>
479															<li><a href="https://www.postgresql.org/" target="_blank">PostgreSQL</a></li>
480                            <li><a href="https://www.mysql.com/" target="_blank">MySQL</a></li>
481	<li><a href="https://www.mongodb.com/" target="_blank">MongoDB</a></li><li><a href="https://expressjs.com/" target="_blank">Express.js</a></li>
482                            <li><a href="https://koajs.com/" target="_blank">Koa.js</a></li>
483                            <li><a href="https://knexjs.org/" target="_blank">Knex</a></li>
484                            <li><a href="https://aws.amazon.com/" target="_blank">Amazon Web Services (AWS)</a></li>
485													<li>DataDog</li>
486                            <li><a href="https://www.heroku.com/" target="_blank">Heroku</a></li>
487                            <li><a href="https://firebase.google.com/" target="_blank">Firebase</a></li>
488                            <li>third-party APIs (Facebook, Twitter, YouTube, GitHub, etc.)</li>
489                        </ul>
490                    </div>
491                </div>
492                <div class="others">
493                    <div class="others__rib"><span>Others</span></div>
494                    <div class="others__content">
495                        <ul class="grp-list">
496<li>AI Agent Development</li>
497													<li>LLM API Integration</li>
498													<li>Chrome Extensions</li>
499                            <li>DevOps</li>
500                            <li>Headless CMS (<a href="https://www.contentful.com/" target="_blank">Contentful</a>, <a href="https://prismic.io/" target="_blank">Prismic</a>, <a href="https://strapi.io/" target="_blank">Strapi</a>)</li>
501                            <li>Search engine optimization (SEO)</li>
502                            <li>UI Prototyping</li>
503                            <li>Designing RESTful APIs</li>
504                        </ul>
505                    </div>
506                </div>
507            </div>
508            <div class="experience experience-tab">
509                <div class="row">
510                    <div class="experience__rib">
511                        <ul class="companies__list">
512                            <li class="toptal-position company active-company"><img src="./wp-content/themes/shapely/assets/custom/toptal-logo.svg"
513                                height="25px" class="company-log" alt="Toptal – network of the best freelance softw
513are engineers" title="Toptal – network of the best freelance software engineers">
514                            </li>
515                            <li class="na-position company"><img src="./wp-content/themes/shapely/assets/custom/na-logo.svg" height="25px" class="company-log" alt="NA logo – custom Gatsby website" title="NA logo – custom Gatsby website">
516                            </li>
517                            <li class="fa-position company"><img src="./wp-content/themes/shapely/assets/custom/fa-logo.png" height="25px"
518                                class="company-log" alt="FA logo – React prototype" title="FA logo – React prototype">
519                            </li>
520                            <li class="glo-position company"><img src="./wp-content/themes/shapely/assets/custom/glo-logo.svg" height="25px"
521                                class="company-log" alt="GLO logo – React Native project" title="GLO logo – React Native project">
522                            </li>
523                            <li class="say-position company"><img src="./wp-content/themes/shapely/assets/custom/say-logo.svg" height="25px"
524                                class="company-log" alt="SAY logo – full-stack platform" title="SAY logo – full-stack platform">
525                            </li>
526                            <li class="zt-position company"><img src="./wp-content/themes/shapely/assets/custom/zt-logo.png" alt="ZT logo – pre-sales engineer position" title="ZT logo – pre-sales engineer position" height="25px" class="company-log">
527                            </li>
528                            <li class="ata-position company"><img src="./wp-content/themes/shapely/assets/custom/ata-logo.svg" height="25px"
529                                class="company-log" alt="ATA logo – software engineer position" title="ATA logo – software engineer position">
530                            </li>
531                        </ul>
532                    </div>
533                    <div class="positions">
534                        <div class="toptal-position">
535                            <div class="accordion-item open">
536                                <img src="./wp-content/themes/shapely/assets/custom/toptal-logo.svg" height="25px"
537                                    class="company-log" alt="Toptal – network of the best freelance software engineers" title="Toptal – network of the best freelance software engineers"/>
538                                <div class="accordion-arrow"></div>
539                            </div>
540                            <div class="position active-position">
541                                <h3 class="position__heading">Fractional CTO | Software Architect | Full-Stack Developer</h3>
542                                <i>September 2016 - Present</i>
543                                <div class="position-text">I am a full-stack developer with focus on PERN/MERN stack and 10+ years of experience delivering software. My Toptal profile is available <a href="https://www.toptal.com/resume/andrej-gajdos" target="_blank">here</a>.
544                                </div>
545                                <ul class="position-tags">
546                                    <li>Development tools:</li>
547                                    <li>AWS</li>
548                                    <li>React</li>
549                                    <li>Node.js</li>
550                                    <li>PostgreSQL</li>
551                                </ul>
552                            </div>
553                        </div>
554                        <div class="na-position">
555                            <div class="accordion-item collapsed">
556                                <img src="./wp-content/themes/shapely/assets/custom/na-logo.svg" height="25px"
557                                    class="company-log" alt="NA logo – custom Gatsby website" title="NA logo – custom Gatsby website" />
558                                <div class="accordion-arrow"></div>
559                            </div>
560                            <div class="position">
561                                <h3 class="position__heading">React Developer</h3>
562                                <i>July 2018 - May 2019</i>
563                                <ul class="position-res-list">
564                                    <li class="position-res">Built company's fully responsive website.</li>
565                                    <li class="position-res">Built customizable UI components used across multiple projects.
566                                    </li>
567                                    <li class="position-res">Built functional prototype of funds management and payments system in exchange platform.
568                                    </li>
569                                </ul>
570                                <ul class="position-tags">
571                                    <li>Development tools:</li>
572                                    <li>Javascript</li>
573                                    <li>React</li>
574                                    <li>Gatsby</li>
575                                    <li>GraphQL</li>
576                                    <li>Styled-Components</li>
577                                    <li>Typescript</li>
578                                </ul>
579                            </div>
580                        </div>
581                        <div class="fa-position">
582                            <div class="accordion-item collapsed">
583                                <img src="./wp-content/themes/shapely/assets/custom/fa-logo.png" alt="FA logo – React prototype" title="FA logo – React prototype" height="25px"
584                                    class="company-log" />
585                                <div class="accordion-arrow"></div>
586                            </div>
587                            <div class="position">
588                                <h3 class="position__heading">React Developer</h3>
589                                <i>May 2018 - July 2018</i>
590                                <ul class="position-res-list">
591                                    <li class="position-res">Designed and built a functional prototype of event management platform for managing swimming teams and swimming competitions.
592                                    </li>
593                                    <li class="position-res">Designed a new user interface based on customer’s prototypes.
594                                    </li>
595                                    <li class="position-res">Built a functional prototype from scratch as a single page application.
596                                    </li>
597                                </ul>
598                                <ul class="position-tags">
599                                    <li>Development tools:</li>
600                                    <li>Javascript</li>
601                                    <li>React</li>
602                                    <li>Redux-Saga</li>
603                                </ul>
604                            </div>
605                        </div>
606                        <div class="glo-position">
607                            <div class="accordion-item collapsed">
608                                <img src="./wp-content/themes/shapely/assets/custom/glo-logo.svg" alt="GLO logo – React Native project" title="GLO logo – React Native project" height="25px"
609                                    class="company-log" />
610                                <div class="accordion-arrow"></div>
611                            </div>
612                            <div class="position">
613                                <h3 class="position__heading">React Developer</h3>
614                                <i>March 2018 - May 2018</i>
615                                <ul class="position-res-list">
616                                    <li class="position-res">Helped deliver a React Native project used for managing
617                                        fitness
618                                        studios.
619                                    </li>
620                                    <li class="position-res">Fixed various bugs and issues in the project.</li>
621                                    <li class="position-res">Optimized the project for the Android platform.</li>
622                                </ul>
623                                <ul class="position-tags">
624                                    <li>Development tools:</li>
625                                    <li>Javascript</li>
626                                    <li>React Native</li>
627                                    <li>Redux</li>
628                                </ul>
629                            </div>
630                        </div>
631                        <div class="say-position">
632                            <div class="accordion-item collapsed">
633                                <img src="./wp-content/themes/shapely/assets/custom/say-logo.svg" height="25px"
634                                    class="company-log" alt="SAY logo – full-stack platform" title="SAY logo – full-stack platform"/>
635                                <div class="accordion-arrow"></div>
636                            </div>
637                            <div class="position">
638                                <h3 class="position__heading">Full-Stack Developer</h3>
639                                <i>August 2017 - May 2018</i>
640                                <ul class="position-res-list">
641                                    <li class="position-res">Designed and built an interactive podcast platform.</li>
642                                    <li class="position-res">Built a single-page app from scratch with a complex user
643                                        interface,
644                                        including user interactions and animations using React.js, Redux, D3.js,
645                                        Webpack,
646                                        SVG,
647                                        and
648                                        HTML5 Audio.
649                                    </li>
650                                    <li class="position-res">Designed and developed a RESTful API server using Heroku,
651                                        Amazon
652                                        S3,
653                                        Node.js, Koa, PostgreSQL, and integration with Twitter API.
654                                    </li>
655                                    <li class="position-res">Podcasters can upload audio files and add 'spots' to
656                                        specific
657                                        moments
658                                        in their podcasts, which can be anything from links, to social media posts, to
659                                        other
660                                        videos
661                                        or images.
662                                    </li>
663                                    <li class="position-res">Listeners are engaged with content, such as social media
664                                        posts
665                                        or
666                                        preview of external web pages.
667                                    </li>
668                                </ul>
669                                <ul class="position-tags">
670                                    <li>Development tools:</li>
671                                    <li>Javascript</li>
672                                    <li>Node.js</li>
673                                    <li>Koa</li>
674                                    <li>Objection.js</li>
675                                    <li>Knex.js</li>
676                                    <li>React</li>
677                                    <li>Redux</li>
678                                    <li>D3.js</li>
679                                    <li>Heroku</li>
680                                    <li>Amazon S3</li>
681                                    <li>PostgreSQL</li>
682                                    <li>SVG</li>
683                                    <li>Webpack</li>
684                                    <li>Babel</li>
685                                    <li>Twitter API</li>
686                                </ul>
687                            </div>
688                        </div>
689                        <div class="zt-position">
690                            <div class="accordion-item collapsed">
691                                <img src="./wp-content/themes/shapely/assets/custom/zt-logo.png" height="25px"
692                                    class="company-log" alt="ZT logo – pre-sales engineer position" title="ZT logo – pre-sales engineer position"/>
693                                <div class="accordion-arrow"></div>
694                            </div>
695                            <div class="position">
696                                <h3 class="position__heading">Pre-sales Engineer</h3>
697                                <i>June 2016 - June 2017</i>
698                                <ul class="position-res-list">
699                                    <li class="position-res">Presented and demonstrated products to potential customers
700                                        from
701                                        all
702                                        over the world.
703                                    </li>
704                                    <li class="position-res">Demonstrated product features to developer teams and showed
705                                        how
706                                        to
707                                        use
708                                        them in the development process with a specific workflow, environment, and
709                                        toolset.
710                                    </li>
711                                    <li class="position-res">Helped sales associates close deals by presenting our
712                                        products
713                                        in
714                                        specific use-cases.
715                                    </li>
716                                    <li class="position-res">Trained sales associates in how to effectively present and
717                                        sell
718                                        our
719                                        tools to developer teams and managers.
720                                    </li>
721                                    <li class="position-res">Assisted customers with installation, troubleshooting, and
722                                        other
723                                        customer service for configuration issues.
724                                    </li>
725                                </ul>
726                                <ul class="position-tags">
727                                    <li>Development tools:</li>
728                                    <li>Java</li>
729                                </ul>
730                            </div>
731                        </div>
732                        <div class="ata-position">
733                            <div class="accordion-item collapsed">
734                                <img src="./wp-content/themes/shapely/assets/custom/ata-logo.svg" height="25px"
735                                    class="company-log" alt="ATA logo – software engineer position" title="ATA logo – software engineer position"/>
736                                <div class="accordion-arrow"></div>
737                            </div>
738                            <div class="position">
739                                <h3 class="position__heading">Software Engineer</h3>
740                                <i>April 2015 - June 2016</i>
741                                <ul class="position-res-list">
742                                    <li class="position-res">Implemented new features and fixed bugs in enterprise
743                                        applications
744                                        used
745                                        for data quality management and rewrote UI components to use modern
746        
746                                technologies.
747                                    </li>
748                                    <li class="position-res">Designed and implemented the front-end of an interactive
749                                        web
750                                        application for customer data management.
751                                    </li>
752                                    <li class="position-res">Designed and implemented server-to-sever communication and
753                                        server
754                                        pushes in a GWT application.
755                                    </li>
756                                </ul>
757                                <ul class="position-tags">
758                                    <li>Development tools:</li>
759                                    <li>Javascript</li>
760                                    <li>Java</li>
761                                    <li>ES6</li>
762                                    <li>React</li>
763                                    <li>Flux</li>
764                                    <li>Immutable.js</li>
765                                    <li>Backbone.js</li>
766                                    <li>jQuery</li>
767                                    <li>Bootstrap</li>
768                                    <li>SCSS</li>
769                                    <li>Webpack</li>
770                                    <li>Gulp</li>
771                                    <li>Babel</li>
772                                    <li>D3.js</li>
773                                    <li>JSP</li>
774                                    <li>JSTL</li>
775                                    <li>JMS</li>
776                                    <li>ActiveMQ</li>
777                                    <li>Errai</li>
778                                </ul>
779                            </div>
780                        </div>
781                    </div>
782                </div>
783                <a href="https://www.linkedin.com/in/andrejgajdos" class="linkedin-btn profile-btn" target="_blank"><i class="fab fa-linkedin"></i><span>LinkedIn
784                Profile</span></a>
785            </div>
786            <div class="code-samples code-samples-tab">
787                <div class="row">
788                    <div class="code-samples__rib">
789                        <ul class="code-samples__list">
790                            <li class="scraping-sample project-item active-project"><span>link-preview-generator</span></li>
791                            <li class="node-sample project-item"><span>auth-flow-spa-node-react</span></li>
792                            <li class="neo-sample project-item">
793                                <span>neo-transfer</span>
794                            </li>
795                            <li class="crypto-sample project-item">
796                                <span>newsfeed-cryptogoods</span>
797                            </li>
798                            <li class="webpack-sample project-item">
799                                <span>webpack-react</span>
800                            </li>
801                            <li class="jquery-sample project-item">
802                                <span>nested-datatables</span>
803                            </li>
804                            <li class="gulp-sample project-item">
805                                <span>svg-sprite-to-png</span>
806                            </li>
807                        </ul>
808                    </div>
809                    <div class="code-samples__content">
810                        <div class="scraping-sample">
811    <div class="accordion-item open">
812    <span class="sample-header">link-preview-generator</span>
813    <div class="accordion-arrow"></div>
814    </div>
815    <div class="sample active-sample">
816    <div class="sample-desc">Get preview data (a title, description, image, domain name) from a url. Library uses puppeteer headless browser to scrape the web site.
817    </div>
818    <ul class="sample-tags">
819    <li>Development tools:</li>
820    <li>Javascript</li>
821    <li>Node.js</li>
822    <li>Puppeteer</li>
823    </ul>
824    <div class="sample-more"><a
825                                            href="https://github.com/AndrejGajdos/link-preview-generator"
826                                            class="source-code" target="_blank">source code</a>
827    </div>
828    </div>
829    </div>
830                        <div class="node-sample">
831                            <div class="accordion-item">
832                                <span class="sample-header">auth-flow-spa-node-react</span>
833                                <div class="accordion-arrow"></div>
834                            </div>
835                            <div class="sample">
836                                <div class="sample-desc">User authentication in a single page application (SPA), built with
837                                    Node.js
838                                    and React. Local
839                                    authentication – users can log in using username, passport and authentication
840                                    through
841                                    Facebook.
842                                </div>
843                                <ul class="sample-tags">
844                                    <li>Development tools:</li>
845                                    <li>Javascript</li>
846                                    <li>Node.js</li>
847                                    <li>React</li>
848                                    <li>Redux</li>
849                                    <li>Redux-Saga</li>
850                                    <li>Passport.js</li>
851                                    <li>Koa.js</li>
852                                    <li>Oath</li>
853                                </ul>
854                                <div class="sample-more"><a href="https://github.com/AndrejGajdos/auth-flow-spa-node-react" class="source-code" target="_blank">source code</a></div>
855                            </div>
856                        </div>
857                        <div class="neo-sample">
858                            <div class="accordion-item collapsed">
859                                <span class="sample-header">neo-transfer</span>
860                                <div class="accordion-arrow"></div>
861                            </div>
862                            <div class="sample">
863                                <div class="sample-desc">Neo-transfer allows you to login with a private key, see
864                                    balance
865                                    and
866                                    transfer NEO or GAS
867                                    within TestNet. Project is based on JS SDK for NEO blockchain.
868                                </div>
869                                <ul class="sample-tags">
870                                    <li>Development tools:</li>
871                                    <li>Javascript</li>
872                                    <li>React</li>
873                                    <li>Redux</li>
874                                    <li>Redux-Saga</li>
875                                    <li>Neon</li>
876                                    <li>Blockchain</li>
877                                </ul>
878                                <div class="sample-more"><a href="https://github.com/AndrejGajdos/neo-transfer" class="source-code" target="_blank">source code</a></div>
879                            </div>
880                        </div>
881                        <div class="crypto-sample">
882                            <div class="accordion-item collapsed">
883                                <span class="sample-header">newsfeed-cryptogoods</span>
884                                <div class="accordion-arrow"></div>
885                            </div>
886                            <div class="sample">
887                                <div class="sample-desc">Newsfeed for events on cryptogoods. Single, responsive page for
888                                    newsfeed. Polling occurs
889                                    every 15s for new events to update newsfeed in real-time.
890                                </div>
891                                <ul class="sample-tags">
892                                    <li>Development tools:</li>
893                                    <li>Javascript</li>
894                                    <li>React</li>
895                                    <li>Redux</li>
896                                    <li>Redux-Saga</li>
897                                    <li>Blockchain</li>
898                                    <li>Nonfungible</li>
899                                    <li>Cryptocollectibles</li>
900                                    <li>Polling</li>
901                                </ul>
902                                <div class="sample-more"><a href="https://github.com/AndrejGajdos/newsfeed-cryptogoods" class="source-code" target="_blank">source code</a></div>
903                            </div>
904                        </div>
905                        <div class="webpack-sample">
906                            <div class="accordion-item collapsed">
907                                <span class="sample-header">webpack-react</span>
908                                <div class="accordion-arrow"></div>
909                            </div>
910                            <div class="sample">
911                                <div class="sample-desc">A sample project to demonstrate bundling ES6, React, SASS and
912                                    Bootstrap
913                                    with Webpack.
914                                </div>
915                                <ul class="sample-tags">
916                                    <li>Development tools:</li>
917                                    <li>Javascript</li>
918                                    <li>React</li>
919                                    <li>Webpack</li>
920                                    <li>Bundling</li>
921                                    <li>Bootstrap</li>
922                                </ul>
923                                <div class="sample-more"><a href="https://github.com/AndrejGajdos/webpack-react" class="source-code" target="_blank">source code</a></div>
924                            </div>
925                        </div>
926                        <div class="jquery-sample">
927                            <div class="accordion-item collapsed">
928                                <span class="sample-header">nested-datatables</span>
929                                <div class="accordion-arrow"></div>
930                            </div>
931                            <div class="sample">
932                                <div class="sample-desc">jQuery DataTables plugin for rendering nested DataTables in
933                                    rows.
934                                    Inner
935                                    tables are
936                                    independent of the data and layout from the outer table.
937                                </div>
938                                <ul class="sample-tags">
939                                    <li>Development tools:</li>
940                                    <li>Javascript</li>
941                                    <li>Jquery</li>
942                                    <li>Datatables</li>
943                                    <li>Nested-structures</li>
944                                </ul>
945                                <div class="sample-more"><a href="https://github.com/AndrejGajdos/nested-datatables" class="source-code" target="_blank">source code</a> <a class="demo"
946                                    href="https://andrejgajdos.github.io/nested-datatables/" target="_blank">demo</a></div>
947                            </div>
948                        </div>
949                        <div class="gulp-sample">
950                            <div class="accordion-item collapsed">
951                                <span class="sample-header">svg-sprite-to-png</span>
952                                <div class="accordion-arrow"></div>
953                            </div>
954                            <div class="sample">
955                                <div class="sample-desc">A gulp workflow converts SVG sprite into PNG images utilising Gulp.
956                                </div>
957                                <ul class="sample-tags">
958                                    <li>Development tools:</li>
959                                    <li>Javascript</li>
960                                    <li>Gulp</li>
961                                </ul>
962                                <div class="sample-more"><a href="https://github.com/AndrejGajdos/svg-sprite-to-png" class="source-code" target="_blank">source code</a></div>
963                            </div>
964                        </div>
965                    </div>
966                </div>
967                <a href="https://github.com/AndrejGajdos" target="_blank" class="github-btn profile-btn"><i class="fab fa-github"></i><span>Github Profile</span></a>
968            </div>
969        </div>
970    </div>
971    </div>
972    </div></div></div><div id="custom_html-16" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container">
973  <div class="section" id="work">
974    <div class="portfolio">
975      <h2>WORK</h2>
976      <div class="portfolio__content cf">
977        <div class="project-item">
978          <picture>
979            <source
980              srcset="
981                https://andrejgajdos.com/wp-content/uploads/2021/05/react-project-portfolio-item.webp
982              "
983              type="image/webp"
984            />
985            <source
986              srcset="
987                https://andrejgajdos.com/wp-content/uploads/2021/05/react-project-portfolio-item.png
988              "
989            />
990            <img
991              src="https://andrejgajdos.com/wp-content/uploads/2021/05/react-project-portfolio-item.png"
992              alt="React Project | Developer Portfolio Item"
993              title="React Project | Developer Portfolio Item"
994            />
995          </picture>
996          <div class="desc__item">
997            <span class="project-header">Apple ***</span>
998            <p class="project-desc">
999              Web portal in React.js, which allows Apple ***
1000            </p>
1001            <span>DEVELOPMENT TOOLS</span>
1002            <ul class="project-tools">
1003              <li>React</li>
1004              <li>Framer Motion</li>
1005            </ul>
1006          </div>
1007        </div>
1008        <div class="project-item">
1009          <picture>
1010            <source
1011              srcset="
1012                https://andrejgajdos.com/wp-content/uploads/2023/03/goschoolbox.webp
1013              "
1014              type="image/webp"
1015            />
1016            <source
1017              srcset="
1018                https://andrejgajdos.com/wp-content/uploads/2023/03/goschoolbox.png
1019              "
1020            />
1021            <img
1022              src="https://andrejgajdos.com/wp-content/uploads/2023/03/goschoolbox.png"
1023              alt="Software Architect | Portfolio Item"
1024              title="Software Architect | Portfolio Item"
1025            />
1026          </picture>
1027          <div class="desc__item">
1028            <span class="project-header">GoSchoolBox</span>
1029            <p class="project-desc">
1030              GoSchoolBox is a SaaS platform that serves as the technical
1031              infrastructure layer between school districts and tutoring
1032              companies. The number of users grew from 50k to 1mil. The
1033              GoSchoolBox platform has suffered from a significant number of
1034              application stability issues such as spontaneous error messages,
1035              gateway timeout errors, slow page load times and slow user flows.
1036              My role as a software architect was to ensure platform stability,
1037              resiliency, and scalability. I helped the team to integrate and
1038              set up APM with metrics and performance dashboards to detect and
1039              diagnose end-users' experience with mission-critical services. I
1040              refactored and fixed critical user flows to improve user flow
1041              performance, server throughput and page load performance. I
1042              optimised Mongo search performance to allow users search millions
1043              of records within seconds.
1044            </p>
1045            <span>DEVELOPMENT TOOLS</span>
1046            <ul class="project-tools">
1047                <li>AWS</li>
1048                <li>Node.js</li>
1049                <li>MongoDB</li>
1050            </ul>
1051            <a
1052              href="https://goschoolbox.com/"
1053              target="_blank"
1054              rel="nofollow noopener noreferrer"
1055              >View project →</a
1056            >
1057          </div>
1058        </div>
1059        <div class="project-item">
1060          <picture>
1061            <source
1062              srcset="
1063                https://andrejgajdos.com/wp-content/uploads/2022/01/stackbit_portfolio.webp
1064              "
1065              type="image/webp"
1066            />
1067            <source
1068              srcset="
1069                https://andrejgajdos.com/wp-content/uploads/2022/01/stackbit_portfolio.png
1070              "
1071            />
1072            <img
1073              src="https://andrejgajdos.com/wp-content/uploads/2022/01/stackbit_portfolio.png"
1074              alt="Website builder platform in React | Portfolio Item"
1075              title="Website builder platform in React | Portfolio Item"
1076            />
1077          </picture>
1078          <div class="desc__item">
1079            <span class="project-header">Stackbit</span>
1080            <p class="project-desc">
1081              Stackbit is a website builder that helps developers of any level
1082              to build their own Jamstack sites based on Next.js and Tailwind,
1083              fast. I helped Stackbit's team to set up the tooling and design
1084              the architecture for design system of the main platform. I helped
1085              and mentored senior React developers best practices and what
1086              patterns to use to solve complex flows in React projects. I was
1087              working on fixing various issues and bugs in the platform. I was
1088              working on additional feature sets for enterprise clients. I
1089              worked as a full-stack developer in React.js, Node.js and MongoDB
1090              with focus on front-end development.
1091            </p>
1092            <span>DEVELOPMENT TOOLS</span>
1093            <ul class="project-tools">
1094              <li>React</li>
1095              <li>Node.js</li>
1096              <li>MongoDB</li>
1097              <li>Typescript</li>
1098            </ul>
1099            <a
1100              href="https://app.stackbit.com"
1101              target="_blank"
1102              rel="nofollow noopener noreferrer"
1103              >View project →</a
1104            >
1105          </div>
1106        </div>
1107        <div class="project-item">
1108          <picture>
1109            <source
1110              srcset="
1111                https://andrejgajdos.com/wp-content/uploads/2022/09/provenance.webp
1112              "
1113              type="image/webp"
1114            />
1115            <source
1116              srcset="
1117                https://andrejgajdos.com/wp-content/uploads/2022/09/provenance_min.png
1118              "
1119            />
1120            <img
1121              src="https://andrejgajdos.com/wp-content/uploads/2022/09/provenance_min.png"
1122              alt="fractional cto | portfolio item"
1123              title="fractional cto | portfolio item"
1124            />
1125          </picture>
1126          <div class="desc__item">
1127            <span class="project-header">Provenance</span>
1128            <p class="project-desc">
1129              As a fractional CTO I helped the team with strategic consult on
1130              the product development roadmap. I managed and led team of
1131              developers. I made code reviews to identify issues before they
1132              translate into technical debt. I helped developers with best
1133              practices and leverage tooling to speed up the development process
1134              and ensure code quality. I architected and built project's
1135              infrastructure, CI pipeline and third-party integrations.
1136            </p>
1137            <span>DEVELOPMENT TOOLS</span>
1138            <ul class="project-tools">
1139              <li>AWS EC2</li>
1140              <li>Node.js</li>
1141              <li>React.js</li>
1142            </ul>
1143            <a
1144              href="https://app.provenance.co/"
1145              target="_blank"
1146              rel="nofollow noopener noreferrer"
1147              >View project →</a
1148            >
1149          </div>
1150        </div>
1151        <div class="project-item">
1152          <picture>
1153            <source
1154              srcset="
1155                https://andrejgajdos.com/wp-content/uploads/2021/05/computational-tool-portfolio-item.webp
1156              "
1157              type="image/webp"
1158            />
1159            <source
1160              srcset="
1161                https://andrejgajdos.com/wp-content/uploads/2021/05/computational-tool-portfolio-item.png
1162              "
1163            />
1164            <img
1165              src="https://andrejgajdos.com/wp-content/uploads/2021/05/computational-tool-portfolio-item.png"
1166              alt="Computational Tool | Developer Portfolio Item "
1167              title="Computational Tool | Developer Portfolio Item "
1168            />
1169          </picture>
1170          <div class="desc__item">
1171            <span class="project-header">System Master PLanner</span>
1172            <p class="project-desc">
1173              A computational tool for master planners, energy/resource
1174              managers, and policy makers. It allows users to evaluate
1175              sustainability and resiliency scenarios for large portfolios of
1176              buildings and other assets.
1177            </p>
1178            <span>DEVELOPMENT TOOLS</span>
1179            <ul class="project-tools">
1180              <li>React</li>
1181              <li>Leaflet</li>
1182            </ul>
1183          </div>
1184        </div>
1185      </div>
1186      <a class="visit-blog-btn" href="https://andrejgajdos.com/projects/"
1187        >SEE MORE</a
1188      >
1189    </div>
1190  </div>
1191</div>
1192</div></div><div id="custom_html-6" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container bcg-grey">
1193<div class="section" id="testimonials">
1194  <div class="testimonials">
1195    <h2>THINGS PEOPLE SAY</h2>
1196    <div class="testimonial-nav">
1197      <button class="button-dot active">
1198        <div></div>
1199      </button>
1200			<button class="button-dot">
1201        <div></div>
1202      </button>
1203      <button class="button-dot">
1204        <div></div>
1205      </button>
1206      <button class="button-dot">
1207        <div></div>
1208      </button>
1209      <button class="button-dot">
1210        <div></div>
1211      </button>
1212      <button class="button-dot">
1213        <div></div>
1214      </button>
1215      <button class="button-dot">
1216        <div></div>
1217      </button>
1218    </div>
1219    <div class="testimonial-container">
1220      <div class="testimonial-slider">
1221				<div class="testimonial-item">
1222          <p>
1223						Andrej exceeded our expectations. Over the course of our project, Andrej rose to the challenge of a <strong>true consulting CTO</strong>. He provided trusted and invaluable strategic consult, evaluating our other engineering talent through code reviews, setting engineering pacing, providing devops support and consulting on our product development roadmap.</p>
1224<p>As a truly talented engineering, Andrej led the design and development of our infrastructure, managed the more complicated integrations and set the standard for our early development practices. We are grateful and advantaged for having had Andrej as a member of our team.
1225          </p>
1226          <div class="testimonial-author">
1227            <strong>Steven Greitzer, Founder & CEO at Stealth Startup</strong>
1228          </div>
1229        </div>
1230        <div class="testimonial-item">
1231          <p>
1232            Andrej worked with our team to develop a rather complex web
1233            application using React. He joined us at a critical stage in the
1234            development process and
1235            <strong>was instrumental in guiding our team</strong> to adopt best
1236            practices for React and helping us implement more modular code.
1237          </p>
1238          <p>
1239            We found Andrej to be very professional, a skilled and efficie
1239nt
1240            programmer, and enjoyable to work with. He easily integrated with
1241            the rest of our team and was productive from day one. We would
1242            happily hire Andrej to work with us again.
1243          </p>
1244          <div class="testimonial-author">
1245            <strong>Peter Ellis, President at Big Ladder Software</strong>
1246          </div>
1247        </div>
1248        <div class="testimonial-item">
1249          <p>
1250            Andrej worked with Adapt Worldwide in 2019, developing multiple
1251            React widgets for a major marketing campaign. Andrej
1252            <strong>exceeded our expectations</strong> beyond measure through
1253            his skill and dedication.
1254          </p>
1255          <p>
1256            Communication with Andrej was fluid and uncomplicated, and he always
1257            went above and beyond to not only ensure the project was promptly
1258            delivered, but that it was done so to an immaculate standard. His
1259            insight and experience was hugely valuable to the project; Andrej
1260            <strong
1261              >truly helped us shape our vision and reach our goals</strong
1262            >
1263            with strong execution.
1264          </p>
1265          <p>
1266            I would highly recommend Andrej as an
1267            <strong>exceptional React developer</strong> who is completely
1268            dedicated to producing quality, functional, engaging content. It
1269            would be an absolute pleasure to work with Andrej again in the
1270            future.
1271          </p>
1272          <div class="testimonial-author">
1273            <strong
1274              >Michael de Alwis, Creative Content Executive at Adapt
1275              Worldwide</strong
1276            >
1277          </div>
1278        </div>
1279        <div class="testimonial-item">
1280          <p>
1281            Andrej was a <strong>key contributor</strong> to a complex, critical
1282            React web application. His work is timely and thoughtful, and he's a
1283            <strong>great communicator and team player</strong>. We hope to work
1284            with him again soon.
1285          </p>
1286          <div class="testimonial-author">
1287            <strong>Jacob Budin, Development Manager at Kettle</strong>
1288          </div>
1289        </div>
1290        <div class="testimonial-item">
1291          <p>
1292            After working with over a dozen developers from several different
1293            countries, it was absolutely refreshing to have had the pleasure to
1294            work with Andrej in building a full stack, dynamic web app.
1295          </p>
1296          <p>
1297            Andrej has all of the required technical expertise that one could
1298            hope for when it comes to building a highly scalable and dynamic
1299            website. For me, this meant taking designs from an early stage and
1300            building the entire front and back end of the project, release
1301            ready.
1302          </p>
1303          <p>
1304            He also exhibits a particular pride in
1305            <strong>his attention to detail</strong> (a trait which had been
1306            hard to find previously). This meant that after giving Andrej
1307            direction, you can always be confident that the
1308            <strong>code will be delivered exactly as required.</strong> Equally
1309            in my experiences, If Andrej see's a better method, he will always
1310            suggest it,
1311            <strong>helping us end up with the best product possible.</strong>
1312          </p>
1313          <p>
1314            All in all, Andrej was indispensable to our team and certainly
1315            <strong>one of the best developers</strong> that I have had the
1316            pleasure to work with.
1317          </p>
1318          <div class="testimonial-author">
1319            <strong
1320              >Marcus Scott, Founder and Director of SayCaster (rebranded to
1321              Bitcast)</strong
1322            >
1323          </div>
1324        </div>
1325        <div class="testimonial-item">
1326          <p>
1327            I had the pleasure of managing Andrej for about 1 year at
1328            Zeroturnaround. His
1329            <strong>natural ability to recognize deficiencies</strong> and
1330            address them made him an immediate asset to the team and the
1331            company.
1332          </p>
1333          <p>
1334            Andrej would regularly think of different ways to provide our
1335            clients with the best grasp of the benefits that our tools offered.
1336            This allowed him to grow in respect from our clients and his
1337            co-workers. Andrej was a <strong>pleasure to work with</strong> and
1338            is always looking for ways to provide himself with personal growth.
1339          </p>
1340          <p>
1341            Andrej also is an <strong>excellent orator</strong>. His clear and
1342            concise voice allowed customers to feel comfortable working with him
1343            and collaborating with him. This lead to his sales team being able
1344            to close many deals that they were previously unable to close.
1345          </p>
1346          <p>
1347            I would love to be able to work with Andrej again someday and comes
1348            with my highest of recommendations.
1349          </p>
1350          <div class="testimonial-author">
1351            <strong
1352              >Curtis Johnson, Sales Engineering Manager at ZeroTurnaround
1353              (acquired by Rogue Wave Software)</strong
1354            >
1355          </div>
1356        </div>
1357        <div class="testimonial-item">
1358          <p>
1359            Andrej was a <strong>great help</strong> in creating a vision and
1360            front-end prototype for our startup. I have very little technical
1361            knowledge, and he was so knowledgeable in finding us technologies
1362            that would work for our needs. He is
1363            <strong>very professional</strong>, friendly, honest, and
1364            <strong>his communication is excellent</strong>. I highly recommend
1365            Andrej!
1366          </p>
1367          <div class="testimonial-author">
1368            <strong
1369              >Carlene Takaki, Professional Swim Coach at Palo Alto Stanford
1370              Aquatics</strong
1371            >
1372          </div>
1373        </div>
1374      </div>
1375    </div>
1376  </div>
1377</div>
1378</div></div></div><div id="custom_html-12" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section">
1379	<div class="articles">
1380	<div class="text-animation-container">
1381    <span class="phrase fst-phrase"><span class="word word-i">I</span> <span class="word">TAKE</span> <span
1382        class="word">YOUR</span> <span class="word">BUSINESS</span> <span class="word">TO</span> <span
1383        class="word">THE</span> <span class="word">NEXT</span> <span class="word">LEVEL</span></span>
1384    <span class="phrase snd-phrase"><span class="word word-i invisible">I</span> <span class="word">BRING</span> <span
1385        class="word">YOUR</span>
1386      <span class="word">IDEAS</span> <span class="word">TO</span>
1387      <span class="word word-reality">REALITY</span></span>
1388    <span class="phrase thd-phrase"><span class="word word-i invisible">I</span> <span
1389        class="word invisible">BRING</span>
1390      <span class="word invisible">YOUR</span> <span class="word invisible">IDEAS</span> <span
1391        class="word invisible">TO</span> <span class="word word-life">LIFE</span></span>
1392    <span class="phrase fourth-phrase"><span class="word word-i invisible">I</span> <span class="word">TURN</span> <span
1393        class="word">COMPLEX</span> <span class="word">WEB</span> <span class="word">APPLICATIONS</span> <span
1394        class="word">INTO</span> <span class="word">BEAUTIFUL</span> <span class="word">EXPERIENCES</span></span>
1395    <span class="phrase fifth-phrase"><span class="word word-i invisible">I</span> <span class="word">TACKLE</span>
1396      <span class="word">TECHNICAL</span> <span class="word">CHALLENGES</span> <span class="word">QUICKLY</span> <span
1397        class="word">AND</span> <span class="word">EFFECTIVELY</span></span>
1398  </div>
1399	<div class="box-container">
1400        <div class="box">
1401          <span class="box__Header">EXPERIENCE</span>
1402          <span class="box__Content">I have worked for digital agencies, big companies, startups and solo foun
1402ders. I
1403            have experience working with clients and remote development teams (20+) across different time
1404            zones. With
1405            over 10 years’ experience, I know where the pitfalls are in custom web
1406            applications and website projects,
1407            and how to guide you through safely.</span>
1408        </div>
1409        <div class="box">
1410          <span class="box__Header">PROCESS</span>
1411          <span class="box__Content">My detailed, step-by-step process ensures we don’t miss crucial elements that could
1412            fail your project. With each project, before I start coding, I do an extensive road-mapping session in
1413            which I define S.M.A.R.T. (specific, measurable, attainable, relevant, time-bound) goals for the
1414            project.</span>
1415        </div>
1416        <div class="box">
1417          <span class="box__Header">SATISFACTION</span>
1418          <span class="box__Content">I continuously and automatically test the developed features to make sure the
1419            application behaves properly, and to catch any bugs early. One-off projects often turn into long-term
1420            business relationships, with clients
1421            enjoying ongoing guidance and support long after I’ve launched.
1421</span>
1422        </div>
1423      </div>
1424	</div>
1425</div></div></div><div id="custom_html-7" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container bcg-grey">
1426	<div class="section">
1427        <div class="articles">
1428            <h2>SELECTED ARTICLES</h2>
1429            <div class="articles-container">
1430                <a href="https://andrejgajdos.com/how-to-build-an-mvp-minimum-viable-product-the-definitive-guide/"
1431                    class="article__link" target="_blank" rel="noopener noreferrer">
1432                    <span class="article">
1433                        <span class="article__header"><img
1434                                src="https://andrejgajdos.com/wp-content/uploads/2020/04/how_to_build_an_mvp-730x350.png"
1435                                class="article__img" /><span class="article__tags"><span
1436                                    class="article__tag tag-1">PRODUCT
1437                                    STRATEGY</span><span class="article__tag tag-3">MVP</span></span></span>
1438                        <span class="article__content">
1439                            <h3 class="article__title">How to Build an MVP (Minimum Viable Product): The Definitive
1440                                Guide</h3>
1441                            <span class="article__desc shave-5">This is the most comprehensive guide on how to build an MVP (Minimal Viable Product). In this in-depth blog post you will learn everything about tools for building MVP, from what you need to know before you start building MVP to building landing page for MVP to technologies which help you to streamline the development process.
1442                            </span>
1443                        </span>
1444                    </span>
1445                </a>
1446                <a href="https://andrejgajdos.com/single-page-application-vs-multiple-page-application/"
1447                    class="article__link" target="_blank" rel="noopener noreferrer">
1448                    <span class="article">
1449                        <span class="article__header"><img
1450                                src="https://andrejgajdos.com/wp-content/uploads/2020/04/single-page_application_vs_multiple-page_application-730x350.png"
1451                                class="article__img" /><span class="article__tags"><span
1452                                    class="article__tag tag-1">PRODUCT
1453                                    STRATEGY</span><span class="article__tag tag-4">SPA</span></span></span>
1454                        <span class="article__content">
1455                            <h3 class="article__title">Single-Page Application vs Multiple-Page Application: Which One
1456                                To Choose For Your Project</h3>
1457                            <span class="article__desc shave-4">In this post I’m going to break down EVERYTHING about single-page application vs multiple-page application. So if you are looking for a DEEP comparison of these two types of web applications or websites, you’ve come to the right place. In this post, you will learn which projects are better to develop as a single-page application (SPA) or multiple-page application (MPA). You will see what single-page applications have in common as well as multiple-page applications and how to improve
1458                                them.
1459                            </span>
1460                        </span>
1461                    </span>
1462                </a>
1463                <a href="https://andrejgajdos.com/the-toolkit-of-a-freelance-full-stack-web-developer/"
1464                    class="article__link" target="_blank" rel="noopener noreferrer">
1465                    <span class="article">
1466                        <span class="article__header"><img
1467                                src="https://andrejgajdos.com/wp-content/uploads/2019/07/the_toolkit_of_a_freelance_developer-730x350.jpg"
1468                                class="article__img" /><span class="article__tags"><span
1469                                    class="article__tag tag-2">FREELANCE</span><span
1470                                    class="article__tag tag-7">FULL-STACK</span></span></span>
1471                        <span class="article__content">
1472                            <h3 class="article__title">The Toolkit of a Freelance Full Stack Web Developer</h3>
1473                            <span class="article__desc shave-5">Becoming a freelance full stack web developer requires a lot of work and love of learning. At first sight it might be overwhelming to understand what you need to know and learn to make an entire web application on your own. Over the years I’ve built a lot of web applications and custom websites as a full stack web developer. Regardless of what I am building, I always try to choose tools best suited for the project.
1474                            </span>
1475                        </span>
1476                    </span>
1477                </a>
1478                <a href="https://andrejgajdos.com/freelance-react-developer-checklist/" class="article__link"
1479                    target="_blank" rel="noopener noreferrer">
1480                    <span class="article">
1481                        <span class="article__header"><img
1482                                src="https://andrejgajdos.com/wp-content/uploads/2019/11/react-checklist-featured-600x350.png"
1483                                class="article__img" /><span class="article__tags"><span
1484                                    class="article__tag tag-2">FREELANCE</span><span
1485                                    class="article__tag tag-6">REACT</span></span></span>
1486                        <span class="article__content">
1487                            <h3 class="article__title">Freelance React Developer’s Checklist</h3>
1488                            <span class="article__desc shave-6">Whether you are a freelance React developer or you do another kind of freelance work on short term projects, you can recognize similar patterns in your workflow. I found similar patterns in process of building React.js projects. In almost every project, I need to ask for clarification or similar questions in regards to graphic design. This checklist is not only for freelance React developers, but it can be helpful for others who work closely with developers, such as project managers or graphic designers. I use this checklist before starting building the project and after agreement with client.
1489                            </span>
1490                        </span>
1491                    </span>
1492                </a>
1493                <a href="https://andrejgajdos.com/how-to-hire-a-freelance-front-end-developer/" class="article__link"
1494                    target="_blank" rel="noopener noreferrer">
1495                    <span class="article">
1496                        <span class="article__header"><img
1497                                src="https://andrejgajdos.com/wp-content/uploads/2019/09/freelance-front-end-deveper-730x350.jpg"
1498                                class="article__img" /><span class="article__tags"><span
1499                                    class="article__tag tag-2">FREELANCE</span><span class="article__tag tag-5">WEB
1500                                    DEVELOPMENT</span></span></span>
1501                        <span class="article__content">
1502                            <h3 class="article__title">How to Hire a Freelance Front End Developer</h3>
1503                            <span class="article__desc shave-6">A freelance front end developer needs to have a wide array of skills and experience to deliver the desired outcome. As a freelancer, I have been developing front-ends for clients all around the world in many different industries. A lot of people asked me: “How can I find and hire a freelance front end developer”? Myself as a developer, I can easily verify someone’s software development skills. However, how can you do that if you don’t know anything about front end development? In this blog post, I will share a step-by-step guide to find and hire a freelance front end developer for your project, if you don’t have any technical knowledge or skills.
1504                            </span>
1505                        </span>
1506                    </span>
1507                </a>
1508                <a href="https://andrejgajdos.com/powerful-chrome-extensions-for-freelance-web-developers/"
1509                    class="article__link" target="_blank" rel="noopener noreferrer">
1510                    <span class="article">
1511                        <span class="article__header"><img
1512                                src="https://andrejgajdos.com/wp-content/uploads/2020/03/chrome_extensions_for_freelance_web_developers-730x350.jpg"
1513                                class="article__img" /><span class="article__tags"><span
1514                                    class="article__tag tag-2">FREELANCE</span><span class="article__tag tag-5">WEB
1515                                    DEVELOPMENT</span></span></span>
1516                        <span class="article__content">
1517                            <h3 class="article__title">30 Powerful Chrome Extensions for Freelance Web Developers</h3>
1518                            <span class="article__desc shave-5">As a freelance web developer, you probably find yourself spending a lot of time in Chrome working. You work in a fast-moving industry and keeping on top of things can be challenging. Browser extensions are known as software programs, which help in customizing the browsing experience and they are a great way to improve productivity. Web developers need to be efficient to deliver solutions on time. Further, as a freelance web developer, you spend time designing user interfaces, attracting potential clients, looking for new projects and communicating with clients.
1519                            </span>
1520                        </span>
1521                    </span>
1522                </a>
1523            </div> <a class="visit-blog-btn" href="https://andrejgajdos.com/blog/"> VISIT THE BLOG </a>
1524        </div>
1525    </div>
1526</div></div></div><div id="custom_html-17" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="section-container">
1527  <div class="section" id="contact">
1528    <div class="call-to-act">
1529      <h3>NEED A FULL STACK WEB DEVELOPER? LET'S BUILD SOMETHING.</h3>
1530      <div class="contact-container">
1531        <div class="container-contact-form">
1532          <p class="contact-par">
1533            I'm ready to hear about your project. Don't hesitate to get in touch
1534            with me using the contact form.
1535          </p>
1536          <div class="main-contact-form">
1537            <div role="form" class="wpcf7" id="wpcf7-f1360-o1" lang="en-US" dir="ltr">
1538<div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div>
1539<form action="/#wpcf7-f1360-o1" method="post" class="wpcf7-form init" novalidate="novalidate" data-status="init">
1540<div style="display: none;">
1541<input type="hidden" name="_wpcf7" value="1360" />
1542<input type="hidden" name="_wpcf7_version" value="5.5.6.1" />
1543<input type="hidden" name="_wpcf7_locale" value="en_US" />
1544<input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f1360-o1" />
1545<input type="hidden" name="_wpcf7_container_post" value="0" />
1546<input type="hidden" name="_wpcf7_posted_data_hash" value="" />
1547<input type="hidden" name="_wpcf7_recaptcha_response" value="" />
1548</div>
1549<p><span class="contact-form-item-header">What type of project do you need completed?</span></p>
1550<p><span class="contact-form-item-subheader">This will help me understand the basic needs of your project and set the right budget and timeline expectations.</span></p>
1551<p><span class="wpcf7-form-control-wrap project-type"><select name="project-type" class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required" aria-required="true" aria-invalid="false"><option value="Select Project Type">Select Project Type</option><option value="Web App">Web App</option><option value="Marketing Website">Marketing Website</option><option value="Web App Audit">Web App Audit</option><option value="Website Audit">Website Audit</option><option value="Other">Other</option></select></span></p>
1552<p><span class="contact-form-item-header">Which services do you need?</span></p>
1553<p><span class="contact-form-item-subheader">Please specify the type level of completion you'd like me to deliver on this project.</span></p>
1554<p><span class="wpcf7-form-control-wrap project-services"><span class="wpcf7-form-control wpcf7-radio"><span class="wpcf7-list-item first"><input type="radio" name="project-services" value="Development" checked="checked" /><span class="wpcf7-list-item-label">Development</span></span><span class="wpcf7-list-item"><input type="radio" name="project-services" value="Development &amp; Design" />
1554<span class="wpcf7-list-item-label">Development &amp; Design</span></span><span class="wpcf7-list-item"><input type="radio" name="project-services" value="Development &amp; Design &amp; SEO" /><span class="wpcf7-list-item-label">Development &amp; Design &amp; SEO</span></span><span class="wpcf7-list-item"><input type="radio" name="project-services" value="SEO" /><span class="wpcf7-list-item-label">SEO</span></span><span class="wpcf7-list-item last"><input type="radio" name="project-services" value="Other" /><span class="wpcf7-list-item-label">Other</span></span></span></span></p>
1555<p><span class="contact-form-item-header">What's the budget for your project?</span></p>
1556<p><span class="contact-form-item-subheader">This will help me guide you toward the most appropriate solution within your budget. Consider this a starting point to our conversation, not a final quote.</span></p>
1557<p><span class="wpcf7-form-control-wrap project-budget"><select name="project-budget" class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required" aria-required="true" aria-invalid="false"><option value="Select Budget">Select Budget</option><option value="$5,000 - $10,000 (static website, dashboard, or a small integration)">$5,000 - $10,000 (static website, dashboard, or a small integration)</option><option value="$10,000 - $50,000 (browser extension, internal tool, or a single-purpose app)">$10,000 - $50,000 (browser extension, internal tool, or a single-purpose app)</option><option value="$50,000 - $250,000 (product with signups, logins, payments, SaaS, marketplace)">$50,000 - $250,000 (product with signups, logins, payments, SaaS, marketplace)</option><option value="$250,000+ (large platforms with multiple user types, complex workflows, and integrations)">$250,000+ (large platforms with multiple user types, complex workflows, and integrations)</option></select></span></p>
1558<p><span class="contact-form-item-header">When do you need this project completed?</span></p>
1559<p><span class="contact-form-item-subheader">Select the option that best expresses your expectations for the timeline of this project.</span></p>
1560<p><span class="wpcf7-form-control-wrap project-timeframe"><select name="project-timeframe" class="wpcf7-form-control wpcf7-select wpcf7-validates-as-required" aria-required="true" aria-invalid="false"><option value="Select Completion Time">Select Completion Time</option><option value="Less than 1 Month">Less than 1 Month</option><option value="1-2 Months">1-2 Months</option><option value="2-3 Months">2-3 Months</option><option value="3-6 Months">3-6 Months</option><option value="6 Months+">6 Months+</option></select></span></p>
1561<p><label class="contact-form-item-header" for="namefield">Full Name</label><span class="wpcf7-form-control-wrap your-name"><input type="text" name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" id="namefield" aria-required="true" aria-invalid="false" /></span></p>
1562<p><label class="contact-form-item-header" for="emailfield">Email</label><span class="wpcf7-form-control-wrap your-email"><input type="email" name="your-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" id="emailfield" aria-required="true" aria-invalid="false" /></span></p>
1563<p><label class="contact-form-item-header" for="urlfield">Website URL (optional)</label><span class="wpcf7-form-control-wrap url-679"><input type="url" name="url-679" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-url wpcf7-validates-as-url" id="urlfield" aria-invalid="false" /></span></p>
1564<p><label class="contact-form-item-header" for="textfield">Your Message</label><span class="wpcf7-form-control-wrap your-message"><textarea name="your-message" cols="40" rows="10" class="wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required" id="textfield" aria-required="true" aria-invalid="false"></textarea></span></p>
1565<p><input type="submit" value="Send" class="wpcf7-form-control has-spinner wpcf7-submit" /></p>
1566<p style="display: none !important;"><label>&#916;<textarea name="_wpcf7_ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="_wpcf7_ak_js" value="19"/>
vendor: 108 bytes, line 1566
1566<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1566<script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script>
1566</p><div class="wpcf7-response-output" aria-hidden="true"></div></form></div>
1567          </div>
1568        </div>
1569
1570        <div class="container-contact-info">
1571          <dl>
1572            <dt class="contact-info-head">Email</dt>
1573            <dd>
1574              <a href="/cdn-cgi/l/email-protection#ed808c8481ad8c83899f88878a8c8789829ec38e8280"><span class="__cf_email__" data-cfemail="59343830351938373d2b3c333e38333d362a773a3634">[email&#160;protected]</span></a>
1575            </dd>
1576          </dl>
1577          <dt class="contact-info-head">Connect</dt>
1578          <dd class="contact-info-social">
1579            <a
1580              href="https://twitter.com/Andrej_Gajdos"
1581              target="_blank"
1582              rel="noopener noreferrer"
1583              ><i class="fab fa-twitter" aria-hidden="true"></i></a
1584            ><a
1585              href="https://www.linkedin.com/in/andrejgajdos"
1586              target="_blank"
1587              rel="noopener noreferrer"
1588              ><i class="fab fa-linkedin" aria-hidden="true"></i></a
1589            ><a
1590              href="https://github.com/AndrejGajdos"
1591              target="_blank"
1592              rel="noopener noreferrer"
1593              ><i class="fab fa-github" aria-hidden="true"></i></a
1594            ><a
1595            href="https://www.producthunt.com/@andrej_gajdos"
1596            target="_blank"
1597            rel="noopener noreferrer"
1598            ><i class="fab fa-product-hunt" aria-hidden="true"></i
1599          ></a><a
1600              href="https://angel.co/u/andrej-gajdos"
1601              target="_blank"
1602              rel="noopener noreferrer"
1603              ><i class="fab fa-angellist" aria-hidden="true"></i
1604            ></a>
1605          </dd>
1606        </div>
1607      </div>
1608    </div>
1609  </div>
1610</div>
1611</div></div>
1612
1613
1614</div><!-- #main -->
1615</section><!-- section -->
1616
1617<div class="footer-callout">
1618	</div>
1619
1620<footer id="colophon" class="site-footer footer bg-dark" role="contentinfo">
1621	<div class="container footer-inner">
1622		<div class="row">
1623			
1624
1625<div class="footer-widget-area">
1626			<div class="col-md-3 col-sm-6 footer-widget" role="complementary">
1627			<div id="custom_html-10" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="footer-links">
1628	<a href="https://andrejgajdos.com/">EN</a>
1629	<a href="https://andrejgajdos.com/programator-webovych-aplikacii-a-webovych-stranok/">SK</a>
1630	<a href="https://andrejgajdos.com/programator-webovych-aplikaci-a-webovych-stranek/">CZ</a>
1631</div></div></div>		</div><!-- .widget-area .first -->
1632	
1633	
1634	
1635	</div>
1636		</div>
1637
1638		<div class="row">
1639			<div class="site-info col-sm-6">
1640				<div class="copyright-text">
1641					<a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/">Creative Commons Attribution-NonCommercial 4.0 International License</a>.				</div>
1642				<div class="footer-credits">
1643					Theme by <a href="https://colorlib.com/" target="_blank" rel="nofollow noopener" title="Colorlib">Colorlib</a> Powered by <a href="http://wordpress.org/" target="_blank" title="WordPress.org">WordPress</a>				</div>
1644			</div><!-- .site-info -->
1645			<div class="col-sm-6 text-right">
1646				<nav id="social" class="social-icons"><ul id="menu-social-items" class="list-inline social-list"><li id="menu-item-14" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-14"><a href="https://twitter.com/Andrej_Gajdos"><i class="social_icon fa"><span>Twitter</span></i></a></li>
1647<li id="menu-item-15" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15"><a href="https://www.linkedin.com/in/andrejgajdos"><i class="social_icon fa"><span>Linkedin</span></i></a></li>
1648<li id="menu-item-16" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-16"><a href="https://github.com/AndrejGajdos"><i class="social_icon fa"><span>Github</span></i></a></li>
1649<li id="menu-item-3335" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3335"><a href="https://www.producthunt.com/@andrej_gajdos"><i class="social_icon fa"><span>ProductHunt</span></i></a></li>
1650<li id="menu-item-1254" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1254"><a href="https://angel.co/u/andrej-gajdos"><i class="social_icon fa"><span>Angel</span></i></a></li>
1651<li id="menu-item-18" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-18"><a href="/cdn-cgi/l/email-protection#fb969a9297bb9a959f899e919c9a919f9488d
16515989496"><i class="social_icon fa"><span>Email</span></i></a></li>
1652</ul></nav>			</div>
1653		</div>
1654	</div>
1655
1656	<a class="btn btn-sm fade-half back-to-top inner-link" href="#top"><i class="fa fa-angle-up"></i></a>
1657</footer><!-- #colophon -->
1658</div>
1659</div><!-- #page -->
vendor: 110 bytes, lines 1659-1661
1659
1660
1661<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1661<script type="speculationrules">
1662{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/shapely/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1663</script>
1663
1664<!--googleoff: all--><div id="cookie-law-info-bar" data-nosnippet="true"><span><div class="cli-bar-container cli-style-v2"><div class="cli-bar-message">This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.</div><div class="cli-bar-btn_container"><a role="button" class="medium cli-plugin-button cli-plugin-main-button cli_settings_button" style="margin:0px 5px 0px 0px">Settings</a><a id="wt-cli-accept-all-btn" role="button" data-cli_action="accept_all" class="wt-cli-element medium cli-plugin-button wt-cli-accept-all-btn cookie_action_close_header cli_action_button">Accept All</a></div></div></span></div><div id="cookie-law-info-again" style="display:none" data-nosnippet="true"><span id="cookie_hdr_showagain">Privacy &amp; Cookies Policy</span></div><div class="cli-modal" data-nosnippet="true" id="cliSettingsPopup" tabindex="-1" role="dialog" aria-labelledby="cliSettingsPopup" aria-hidden="true">
1665  <div class="cli-modal-dialog" role="document">
1666	<div class="cli-modal-content cli-bar-popup">
1667		  <button type="button" class="cli-modal-close" id="cliModalClose">
1668			<svg class="" viewBox="0 0 24 24"><path d="M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z"></path><path d="M0 0h24v24h-24z" fill="none"></path></svg>
1669			<span class="wt-cli-sr-only">Close</span>
1670		  </button>
1671		  <div class="cli-modal-body">
1672			<div class="cli-container-fluid cli-tab-container">
1673	<div class="cli-row">
1674		<div class="cli-col-12 cli-align-items-stretch cli-px-0">
1675			<div class="cli-privacy-overview">
1676				<h4>Privacy Overview</h4>				<div class="cli-privacy-content">
1677					<div class="cli-privacy-content-text">This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.</div>
1678				</div>
1679				<a class="cli-privacy-readmore" aria-label="Show more" role="button" data-readmore-text="Show more" data-readless-text="Show less"></a>			</div>
1680		</div>
1681		<div class="cli-col-12 cli-align-items-stretch cli-px-0 cli-tab-section-container">
1682												<div class="cli-tab-section">
1683						<div class="cli-tab-header">
1684							<a role="button" tabindex="0" class="cli-nav-link cli-settings-mobile" data-target="necessary" data-toggle="cli-toggle-tab">
1685								Necessary							</a>
1686															<div class="wt-cli-necessary-checkbox">
1687									<input type="checkbox" class="cli-user-preference-checkbox"  id="wt-cli-checkbox-necessary" data-id="checkbox-necessary" checked="checked"  />
1688									<label class="form-check-label" for="wt-cli-checkbox-necessary">Necessary</label>
1689								</div>
1690								<span class="cli-necessary-caption">Always Enabled</span>
1691													</div>
1692						<div class="cli-tab-content">
1693							<div class="cli-tab-pane cli-fade" data-id="necessary">
1694								<div class="wt-cli-cookie-description">
1695									Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.								</div>
1696							</div>
1697						</div>
1698					</div>
1699																	<div class="cli-tab-section">
1700						<div class="cli-tab-header">
1701							<a role="button" tabindex="0" class="cli-nav-link cli-settings-mobile" data-target="non-necessary" data-toggle="cli-toggle-tab">
1702								Non-necessary							</a>
1703															<div class="cli-switch">
1704									<input type="checkbox" id="wt-cli-checkbox-non-necessary" class="cli-user-preference-checkbox"  data-id="checkbox-non-necessary" checked='checked' />
1705									<label for="wt-cli-checkbox-non-necessary" class="cli-slider" data-cli-enable="Enabled" data-cli-disable="Disabled"><span class="wt-cli-sr-only">Non-necessary</span></label>
1706								</div>
1707													</div>
1708						<div class="cli-tab-content">
1709							<div class="cli-tab-pane cli-fade" data-id="non-necessary">
1710								<div class="wt-cli-cookie-description">
1711									Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via anal
1711ytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.								</div>
1712							</div>
1713						</div>
1714					</div>
1715										</div>
1716	</div>
1717</div>
1718		  </div>
1719		  <div class="cli-modal-footer">
1720			<div class="wt-cli-element cli-container-fluid cli-tab-container">
1721				<div class="cli-row">
1722					<div class="cli-col-12 cli-align-items-stretch cli-px-0">
1723						<div class="cli-tab-footer wt-cli-privacy-overview-actions">
1724						
1725															<a id="wt-cli-privacy-save-btn" role="button" tabindex="0" data-cli-action="accept" class="wt-cli-privacy-btn cli_setting_save_button wt-cli-privacy-accept-btn cli-btn">SAVE &amp; ACCEPT</a>
1726													</div>
1727						
1728					</div>
1729				</div>
1730			</div>
1731		</div>
1732	</div>
1733  </div>
1734</div>
1735<div class="cli-modal-backdrop cli-fade cli-settings-overlay"></div>
1736<div class="cli-modal-backdrop cli-fade cli-popupbar-overlay"></div>
1737<!--googleon: all--><!-- HFCM by 99 Robots - Snippet # 1: Homepage -- footer -->
1738<script
1739  defer
1740  src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/shave.min.js"
1741></script>
vendor: 2 bytes, line 1741
1741
1742<script defer src="https://andrejgajdos.com/wp-content/cache/asset-cleanup/js/item/da4f372a297e8eec8ba5c228ba668e1b-v334f95c0a861b78acfc990a0341d0b3720bcd80d.js" ></script>
vendor: 2 bytes, line 1742
1742
1743<script defer src="https://andrejgajdos.com/wp-content/cache/asset-cleanup/js/item/c12ff80c5a767b1c7a5185cf95849859-v24314edf437f41e0db56d79cded1870dfff53814.js" ></script>
vendor: 2 bytes, line 1743
1743
1744<script
1745  defer
1746  src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/anime.min.js"
1747></script>
vendor: 2 bytes, line 1747
1747
1748<script defer src="https://andrejgajdos.com/wp-content/cache/asset-cleanup/js/item/6b27719a4b8afeb0e8c6af04ccbacfb3-v4e441956c09c49a40203bcaee86783765efabcc7.js" ></script>
1748
1749<!-- <link
1750  rel="preload"
1751  href="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/multi-step-survey-popup-07.css"
1752  as="style"
1753  onload="this.onload=null;this.rel='stylesheet'"
1754/>
1755<noscript>
1756	<link
1757    rel="stylesheet"
1758    href="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/multi-step-survey-popup-07.css"
1759  />
1760</noscript> -->
1761<link rel="preload" href="https://andrejgajdos.com/wp-content/cache/asset-cleanup/css/item/12d8796a18b1e75a1938468b0c687515-ve2230584512d57cf4181d4bd0b8c644624f4e0d1.css" as="style" onload="this.onload=null;this.rel='stylesheet'" />
1762<noscript>
1763	<link
1764    rel="stylesheet"
1765    href="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/widget-form-templates-05.css"
1766  />
1767</noscript>
1768<link
1769  rel="preload"
1770  href="//cdn-images.mailchimp.com/embedcode/classic-10_7.css"
1771  as="style"
1772  onload="this.onload=null;this.rel='stylesheet'"
1773/>
1774<noscript>
1775	<link
1776    rel="stylesheet"
1777    href="//cdn-images.mailchimp.com/embedcode/classic-10_7.css"
1778  />
1779</noscript>
1780<!-- 
1780<script
1781  defer
1782  src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/multi-step-survey-popup-min-01.js"
1783></script>
1783 -->
1784<!-- 
1784<script
1785  defer
1786  src="https://andrejgajdos.com/wp-content/themes/shapely/assets/custom/widget-configs/general-blog-pages-min.js"
1787></script>
1787 -->
1788
1789<!-- /end HFCM by 99 Robots -->
1790<script   id="wp-polyfill-js" async='async' src="https://andrejgajdos.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0"></script>
vendor: 1 bytes, line 1790
1790
1791<script id="contact-form-7-js-extra">
1792var wpcf7 = {"api":{"root":"https://andrejgajdos.com/wp-json/","namespace":"contact-form-7/v1"},"cached":"1"};
1793//# sourceURL=contact-form-7-js-extra
1794</script>
vendor: 1 bytes, line 1794
1794
1795<script   id="contact-form-7-js" defer='defer' src="https://andrejgajdos.com/wp-content/plugins/contact-form-7/includes/js/index.js?ver=5.5.6.1"></script>
vendor: 1 bytes, line 1795
1795
1796<script   id="shapely-skip-link-focus-fix-js" defer='defer' src="https://andrejgajdos.com/wp-content/cache/asset-cleanup/js/item/shapely-skip-link-focus-fix-v965ecc344d16b37aabaa52a32ee25cf29a2ddfc7.js"></script>
vendor: 1 bytes, line 1796
1796
1797<script   id="flexslider-js" defer='defer' src="https://andrejgajdos.com/wp-content/themes/shapely/assets/js/flexslider.min.js?ver=20160222"></script>
vendor: 1 bytes, line 1797
1797
1798<script   id="imagesloaded-js" async='async' src="https://andrejgajdos.com/wp-includes/js/imagesloaded.min.js?ver=5.0.0"></script>
vendor: 1 bytes, line 1798
1798
1799<script id="shapely-scripts-js-extra">
1800var ShapelyAdminObject = {"sticky_header":"1"};
1801//# sourceURL=shapely-scripts-js-extra
1802</script>
vendor: 1 bytes, line 1802
1802
1803<script   id="shapely-scripts-js" async='async' src="https://andrejgajdos.com/wp-content/cache/asset-cleanup/js/item/shapely-scripts-v696c08f51adacb58d9752a94c9d3d352e738d524.js"></script>
vendor: 1 bytes, line 1803
1803
1804<script   id="jetpack-twitter-timeline-js" async='async' src="https://andrejgajdos.com/wp-content/plugins/jetpack/_inc/build/twitter-timeline.min.js?ver=4.0.0"></script>
vendor: 102 bytes, lines 1804-1805
1804
1805<script   id="google-recaptcha-js" defer='defer' src="https://www.google.com/recaptcha/api.js?render=
18056Le-G6UUAAAAAENMPSWxUOHSURqcabUDHalAHJLN
vendor: 25 bytes, line 1805
1805&#038;ver=3.0"></script>
1806<script id="wpcf7-recaptcha-js-extra">
1807var wpcf7_recaptcha = {"sitekey":"6Le-G6UUAAAAAENMPSWxUOHSURqcabUDHalAHJLN","actions":{"homepage":"homepage","contactform":"contactform"}};
1808//# sourceURL=wpcf7-recaptcha-js-extra
1809</script>
vendor: 1 bytes, line 1809
1809
1810<script   id="wpcf7-recaptcha-js" defer='defer' src="https://andrejgajdos.com/wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=5.5.6.1"></script>
1810
1811				
1811<script type="text/javascript">
1812					jQuery.noConflict();
1813					(
1814						function ( $ ) {
1815							$( function () {
1816								$( "area[href*=\\#],a[href*=\\#]:not([href=\\#]):not([href^='\\#tab']):not([href^='\\#quicktab']):not([href^='\\#pane'])" ).click( function () {
1817									if ( location.pathname.replace( /^\//, '' ) == this.pathname.replace( /^\//, '' ) && location.hostname == this.hostname ) {
1818										var target = $( this.hash );
1819										target = target.length ? target : $( '[name=' + this.hash.slice( 1 ) + ']' );
1820										if ( target.length ) {
1821											$( 'html,body' ).animate( {
1822												scrollTop: target.offset().top - 60											},900 , 'easeInBounce' );
1823											return false;
1824										}
1825									}
1826								} );
1827							} );
1828						}
1829					)( jQuery );
1830				</script>
1830
1831			
1831<script src='https://stats.wp.com/e-202639.js' defer></script>
vendor: 1 bytes, line 1831
1831
1832<script>
1833	_stq = window._stq || [];
1834	_stq.push([ 'view', {v:'ext',j:'1:10.4.1',blog:'105394644',post:'5',tz:'0',srv:'andrejgajdos.com'} ]);
1835	_stq.push([ 'clickTrackerInit', '105394644', '5' ]);
1836</script>
1836
1837
1838<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a40cfec1e81f9dab',t:'MTc5MDM3MDQxMQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1838<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f646ff19888a4a4f9be96b3f216517de","r":1,"spa":2}' crossorigin="anonymous"></script>
1838
1839</body>
1840</html>
1841
1842<!-- Optimized by Speed Booster Pack v4.5.4 -->
1843<!--
1844Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/
1845
1846Page Caching using disk: enhanced 
1847
1848Served from: andrejgajdos.com @ 2026-09-25 21:05:55 by W3 Total Cache
1849-->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.