{"id":730,"date":"2025-04-07T11:17:55","date_gmt":"2025-04-07T11:17:55","guid":{"rendered":"https:\/\/dev251.kodesolution.com\/digitaal\/?page_id=730"},"modified":"2026-08-14T16:37:50","modified_gmt":"2026-08-14T13:37:50","slug":"about","status":"publish","type":"page","link":"https:\/\/offline-web.com\/en\/about\/","title":{"rendered":"About"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"730\" class=\"elementor elementor-730\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bbac885 e-con-full e-flex tm-col-stretched-none tm-bg-color-over-image e-con e-parent\" data-id=\"bbac885\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-faa2ccc e-flex e-con-boxed tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"faa2ccc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-237520c e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"237520c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-792321b e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"792321b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1177811 elementor-widget elementor-widget-html\" data-id=\"1177811\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style id=\"audit-fix-hero\">.about-page .hero-headline{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance;}.about-page .hero-headline .lime{white-space:nowrap;display:inline-block;}@media (max-width:1300px){.about-page .hero-headline{line-height:1.05;text-wrap:wrap;}}@media (max-width:767px){.about-page .hero-headline{line-height:1.08;letter-spacing:-0.5px;}.about-page .hero-sub{font-size:1rem;}}.about-page .hero-headline{max-width:none;}<\/style>\n<div class=\"about-page\">\n  <div class=\"about-noise\"><\/div>\n\n  <!-- \u2500\u2500\u2500 HERO \u2500\u2500\u2500 -->\n  <section class=\"hero\" id=\"hero\">\n    <canvas id=\"hero-canvas\"><\/canvas>\n    <div class=\"hero-bg-text\">OFFLINE<\/div>\n    <div class=\"hero-gradient-fade\"><\/div>\n    <div class=\"container\" id=\"hero-content\" style=\"position:relative;z-index:2\">\n      <h2 class=\"hero-headline\">\n        I build<span class=\"lime\"> web applications<\/span> for real work.\n      <\/h2>\n      <p class=\"hero-sub\">\n        Full Stack Engineer.<br>\n        10+ years turning complicated systems into applications people can actually work in.\n      <\/p>\n      <div class=\"hero-actions\">\n        <a href=\"https:\/\/offline-web.com\/contact\" class=\"btn-primary magnetic\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n          Get a price and timeline\n        <\/a>\n        <a href=\"https:\/\/offline-web.com\/portfolio\" class=\"btn-outline\">View portfolio<\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n\n<\/div>\n\n<style id=\"audit-fix-mobile-pad\">@media (max-width:1024px){.about-page .container{padding-left:32px;padding-right:32px;}}@media (max-width:767px){.about-page .container{padding-left:24px;padding-right:24px;}}@media (max-width:480px){.about-page .container{padding-left:20px;padding-right:20px;}}<\/style>\n\n<style id=\"audit-fix-text-wrap\">@media (max-width:767px){.about-page .exp-card-title,.about-page .exp-card-desc,.about-page p,.about-page h2,.about-page h3{overflow-wrap:normal;word-break:normal;}.about-page .expertise-grid{grid-template-columns:1fr;}.about-page .about-stats{grid-template-columns:1fr;}}<\/style>\n\n\n\n<style id=\"audit-fix-expertise-row\">@media (max-width:767px){[data-id=\"57787e7\"]{width:100% !important;max-width:100% !important;flex-basis:auto !important;flex-direction:column !important;}[data-id=\"57787e7\"] > .e-con-inner{flex-direction:column !important;width:100% !important;}[data-id=\"57787e7\"] > .e-con-inner > .e-con{width:100% !important;max-width:100% !important;flex-basis:auto !important;}[data-id=\"a356bc4\"],[data-id=\"3c55099\"]{width:100% !important;max-width:100% !important;flex-basis:auto !important;}}<\/style>\n\n<style id=\"audit-fix-grid\">\n@media (max-width: 900px){\n  .about-page .about-grid{grid-template-columns:minmax(0,1fr) !important;}\n  .about-page .about-portrait,\n  .about-page .about-portrait-wrap img{width:100% !important;max-width:100% !important;height:auto !important;}\n  .about-page .about-portrait-wrap{width:100% !important;max-width:100% !important;}\n  .about-page .about-text{width:100% !important;max-width:100% !important;min-width:0 !important;}\n}\n@media (max-width: 767px){\n  .about-page .hero-headline,\n  .about-page .hero-headline .lime{white-space:normal !important;word-break:normal !important;overflow-wrap:normal !important;}\n  .about-page *{min-width:0 !important;}\n  .about-page .about-stats{grid-template-columns:1fr) !important;}\n}\n<\/style>\n<style id=\"audit-fix-uniform-pad\">\n@media (max-width:767px){\n  \/* Uniform horizontal gutter for every section content *\/\n  .section > .container,\n  .hero > .container,\n  section.section > .container{padding-left:24px !important;padding-right:24px !important;}\n  \/* Neutralize inconsistent outer-container side padding that breaks the balance *\/\n  [data-id=\"e8d0dd4\"],[data-id=\"0b9c436\"],[data-id=\"156988b\"],[data-id=\"6816c7b\"],[data-id=\"9104400\"]{padding-left:0 !important;padding-right:0 !important;}\n}\n@media (max-width:480px){\n  .section > .container,\n  .hero > .container,\n  section.section > .container{padding-left:20px !important;padding-right:20px !important;}\n}\n<\/style>\n<style id=\"audit-fix-hero-size\">\n@media (max-width:480px){\n  .about-page .hero-headline{font-size:clamp(30px,11vw,46px) !important;line-height:1.05 !important;}\n}\n<\/style>\n<style id=\"audit-fix-split\">\n@media (max-width:1300px){\n  \/* GSAP SplitText wraps each char in an inline-block .__split span (live page only),\n     which lets words break mid-character. Force inline so words stay intact and\n     break only at spaces \/ the natural hyphen. *\/\n  .about-page .hero-headline .__split{display:inline !important;}\n}\n<\/style>\n<style id=\"audit-fix-ui4\">\n@media (max-width:767px){\n  .hero-actions{justify-content:center !important;align-items:center !important;}\n  .section-label{transform:none !important;}\n  .edu-card{flex-direction:column !important;align-items:flex-start !important;gap:14px !important;}\n}\n\/* lime buttons: black text for contrast (all screens) *\/\n.hero-actions .btn-primary,\n.btn-primary{color:#000 !important;}\n\/* keep text visible on hover *\/\n.btn-primary:hover,\n.btn-primary:focus,\na.btn-primary:hover,\n.btn-primary:hover *{color:#000 !important;}\n<\/style>\n<style id=\"audit-fix-headline-line\">\n\/* Force \"high-performance\" onto its own line on ALL screens *\/\n.about-page .hero-headline .lime{display:block !important;width:100%;}\n<\/style>\n\n<style id=\"audit-fix-eyebrow-align\">\n\/* Shift the whole eyebrow row (sparkle + text) to the content gutter on mobile, keeping them together *\/\n@media(max-width:767px){\n  .elementor-730 .elementor-element-a356bc4, .elementor-730 .elementor-element-fdd6da0{padding-left:24px !important;}\n}\n@media(max-width:480px){\n  .elementor-730 .elementor-element-a356bc4, .elementor-730 .elementor-element-fdd6da0{padding-left:20px !important;}\n}\n<\/style>\n\n<style id=\"audit-fix-mobile-spacing\">\n\/* Tighten section vertical spacing on mobile *\/\n@media(max-width:767px){\n  .elementor-730 .elementor-element-faa2ccc > .e-con-inner,\n  .elementor-730 .elementor-element-156988b > .e-con-inner,\n  .elementor-730 .elementor-element-e8d0dd4 > .e-con-inner,\n  .elementor-730 .elementor-element-9104400 > .e-con-inner,\n  .elementor-730 .elementor-element-0b9c436 > .e-con-inner,\n  .elementor-730 .elementor-element-6816c7b > .e-con-inner{padding-top:24px !important;padding-bottom:24px !important;}\n  .elementor-730 .elementor-element-e071200{--padding-top:36px !important;}\n  .elementor-730 .elementor-element-e071200 > .e-con-inner{padding-top:36px !important;}\n  .elementor-730 .elementor-element-a346f9e{--padding-top:36px !important;--padding-bottom:24px !important;}\n  .elementor-730 .elementor-element-a346f9e > .e-con-inner{padding-top:36px !important;padding-bottom:24px !important;}\n}\n<\/style>\n\n<style id=\"audit-fix-title-spacing\">\n\/* Match the \"The chronicle.\" spacing for eyebrow + title + body across ALL sections, on tablet AND mobile. Desktop (>1024px) untouched. *\/\n@media (max-width:1024px){\n  .elementor-730 .section-label{ margin-top:0 !important; margin-bottom:20px !important; }\n  .elementor-730 .section-title{ margin-top:12px !important; margin-bottom:20px !important; }\n  .elementor-730 .section-body{ margin-top:16px !important; padding-top:0 !important; margin-bottom:0 !important; }\n  \/* Keep the eyebrow row (sparkle+text) tight to the content that follows *\/\n  .elementor-730 .elementor-element-fdd6da0,\n  .elementor-730 .elementor-element-a356bc4{ margin-bottom:0 !important; }\n  \/* The Stack header is a CSS grid that stacks on tablet\/mobile: normalise its row gap so title->body matches chronicle (~20px) *\/\n  .elementor-730 .skills-header{ grid-row-gap:0 !important; row-gap:0 !important; margin-bottom:40px !important; }\n  .elementor-730 .skills-header .section-title{ margin-bottom:20px !important; }\n  .elementor-730 .skills-header .section-body{ margin-top:0 !important; }\n  \/* Tidy the header-block to content separators consistently *\/\n  .elementor-730 .ticker-wrap{ margin-top:40px !important; }\n  .elementor-730 .expertise-grid{ margin-top:40px !important; }\n  .elementor-730 .timeline-item{ margin-bottom:40px !important; }\n  .elementor-730 .edu-grid{ margin-top:40px !important; }\n  .elementor-730 .contact-sub{ margin-bottom:32px !important; }\n  .elementor-730 .contact-checklist{ margin-bottom:32px !important; }\n  .elementor-730 .about-stats{ margin-top:32px !important; }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-156988b e-flex e-con-boxed tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"156988b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1d88f25 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"1d88f25\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-fdd6da0 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"fdd6da0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-963dd48 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"963dd48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"14\" height=\"14\" src=\"https:\/\/offline-web.com\/wp-content\/uploads\/2025\/04\/Soft-Star-2.png\" class=\"attachment-large size-large wp-image-56\" alt=\"Vue.js development services by OFFLINE \u2014 section icon\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe42d2c elementor-widget elementor-widget-tm-ele-text-editor\" data-id=\"fe42d2c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tm-ele-text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"tm-text-editor\" >\r\n\t\t<p>About me<\/p>\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cdc2592 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"cdc2592\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e86bc5c elementor-widget elementor-widget-html\" data-id=\"e86bc5c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n<style id=\"audit-fix-bio\">\n\/* Badge number: black for contrast on lime background *\/\n.about-page .about-portrait-badge strong{color:#000 !important;}\n\/* Keep the name on a single line *\/\n.about-page .about-text .section-title{white-space:nowrap !important;}\n@media (max-width:767px){\n  \/* shrink slightly on mobile so the full name fits on one line *\/\n  .about-page .about-text .section-title{font-size:clamp(28px,9vw,44px) !important;}\n}\n@media (max-width:380px){\n  .about-page .about-text .section-title{font-size:26px !important;}\n}\n<\/style><div class=\"about-page\">\n\n\n  <!-- \u2500\u2500\u2500 ABOUT \/ SIGNAL \u2500\u2500\u2500 -->\n  <section class=\"section\" id=\"about\">\n    <div class=\"container\">\n      <div class=\"about-grid\">\n        <!-- Portrait -->\n        <div class=\"about-portrait-wrap gsap-fade\">\n          <img decoding=\"async\"\n            class=\"about-portrait\"\n            src=\"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/06\/0404afea-ad5d-45e2-8111-d489cd7935ab.png\"\n            alt=\"Stelios Kitziris, senior Vue.js engineer and founder of OFFLINE\"\n          \/>\n          <div class=\"about-portrait-badge\">\n            <strong>10+<\/strong>\n            Years of Experience\n          <\/div>\n        <\/div>\n\n        <!-- Text -->\n        <div class=\"about-text\">\n          <h2 class=\"section-title\">Stelios <span class=\"lime\">Kitziris.<\/span><\/h2>\n          <div class=\"gsap-reveal\">\n            <p>\n              I am Stelios Kitziris, a <mark>Full Stack Engineer<\/mark>. I have built web applications since 2013 and, more often, rescued ones that were built in a hurry. I specialize in <a href=\"https:\/\/vuejs.org\/\" target=\"_blank\" rel=\"noopener\">Vue 3<\/a> on the frontend. My work also covers <a href=\"https:\/\/nuxt.com\/\" target=\"_blank\" rel=\"noopener\">server-rendered applications<\/a>, Node.js and Laravel backends.\n            <\/p>\n            <p>\n              Through OFFLINE I present selected work from across my career, including product modernization, migrations and internal-process automation. The portfolio includes <mark>40+ projects<\/mark> for startups and established organizations across Europe and the US.\n            <\/p>\n            <p>\n              Code gets read far more often than it gets written. I optimize for <mark>clarity<\/mark>, because maintenance and performance work both get harder when the code hides its intent.\n            <\/p>\n            <p>\n              Away from the screen: gaming, guitar, cycling. The guitar is going better than the cycling.\n            <\/p>\n          <\/div>\n\n          <!-- Stats -->\n          <div class=\"about-stats gsap-fade\">\n            <div class=\"stat\">\n              <div class=\"stat-num\">10+<\/div>\n              <div class=\"stat-label\">Years experience<\/div>\n            <\/div>\n            <div class=\"stat\">\n              <div class=\"stat-num\">40+<\/div>\n              <div class=\"stat-label\">Projects delivered<\/div>\n            <\/div>\n            <div class=\"stat\">\n              <div class=\"stat-num\">EU\/US<\/div>\n              <div class=\"stat-label\">Clients worldwide<\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  \n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e8d0dd4 e-flex e-con-boxed tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"e8d0dd4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b3543ac elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"b3543ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t  <!-- \u2500\u2500\u2500 SKILLS \u2500\u2500\u2500 -->\n  <section class=\"section \" id=\"skills\">\n    <div class=\"container\">\n      <div class=\"skills-header\">\n        <div>\n          <div class=\"section-label\">Technical skills<\/div>\n          <h2 class=\"section-title\">The <span class=\"lime\">stack.<\/span><\/h2>\n        <\/div>\n        <p class=\"section-body\" style=\"padding-top:12px\">\n          A decade across frontend, backend, DevOps and tooling. I choose the stack around the application and the team that will maintain it.\n        <\/p>\n      <\/div>\n\n      <div class=\"skills-grid gsap-fade\">\n        <div class=\"skill-cat\">\n          <div class=\"skill-cat-title\">Frontend<\/div>\n          <div class=\"skill-tags\">\n            <span class=\"skill-tag\">JavaScript<\/span>\n            <span class=\"skill-tag\">TypeScript<\/span>\n            <span class=\"skill-tag\">React<\/span>\n            <span class=\"skill-tag\">Angular.js<\/span>\n            <span class=\"skill-tag\">TailwindCSS<\/span>\n            <span class=\"skill-tag\">Playwright<\/span>\n            <span class=\"skill-tag\">Figma<\/span>\n            <span class=\"skill-tag\">Component systems<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"skill-cat\">\n          <div class=\"skill-cat-title\">Backend<\/div>\n          <div class=\"skill-tags\">\n            <span class=\"skill-tag\">Node.js<\/span>\n            <span class=\"skill-tag\">Express<\/span>\n            <span class=\"skill-tag\">Laravel<\/span>\n            <span class=\"skill-tag\">PHP<\/span>\n            <span class=\"skill-tag\">MySQL<\/span>\n            <span class=\"skill-tag\">PostgreSQL<\/span>\n            <span class=\"skill-tag\">MongoDB<\/span>\n            <span class=\"skill-tag\">REST APIs<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"skill-cat\">\n          <div class=\"skill-cat-title\">DevOps<\/div>\n          <div class=\"skill-tags\">\n            <span class=\"skill-tag\">Docker<\/span>\n            <span class=\"skill-tag\">CI\/CD<\/span>\n            <span class=\"skill-tag\">GitLab<\/span>\n            <span class=\"skill-tag\">GitHub<\/span>\n            <span class=\"skill-tag\">Bitbucket<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"skill-cat\">\n          <div class=\"skill-cat-title\">Tools<\/div>\n          <div class=\"skill-tags\">\n            <span class=\"skill-tag\">Figma<\/span>\n            <span class=\"skill-tag\">n8n<\/span>\n            <span class=\"skill-tag\">React<\/span>\n            <span class=\"skill-tag\">Analytics<\/span>\n            <span class=\"skill-tag\">Playwright<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Ticker -->\n      <div class=\"ticker-wrap\">\n        <div class=\"ticker-track\">\n          <span class=\"ticker-item\">JavaScript<\/span>\n          <span class=\"ticker-item\">TypeScript<\/span>\n          <span class=\"ticker-item\">React<\/span>\n          <span class=\"ticker-item\">Node.js<\/span>\n          <span class=\"ticker-item\">Laravel<\/span>\n          <span class=\"ticker-item\">Docker<\/span>\n          <span class=\"ticker-item\">TailwindCSS<\/span>\n          <span class=\"ticker-item\">PostgreSQL<\/span>\n          <span class=\"ticker-item\">Playwright<\/span>\n          <span class=\"ticker-item\">REST APIs<\/span>\n          <span class=\"ticker-item\">CI\/CD<\/span>\n          <span class=\"ticker-item\">n8n Automation<\/span>\n          <!-- duplicate for seamless loop -->\n          <span class=\"ticker-item\">JavaScript<\/span>\n          <span class=\"ticker-item\">TypeScript<\/span>\n          <span class=\"ticker-item\">React<\/span>\n          <span class=\"ticker-item\">Node.js<\/span>\n          <span class=\"ticker-item\">Laravel<\/span>\n          <span class=\"ticker-item\">Docker<\/span>\n          <span class=\"ticker-item\">TailwindCSS<\/span>\n          <span class=\"ticker-item\">PostgreSQL<\/span>\n          <span class=\"ticker-item\">Playwright<\/span>\n          <span class=\"ticker-item\">REST APIs<\/span>\n          <span class=\"ticker-item\">CI\/CD<\/span>\n          <span class=\"ticker-item\">n8n Automation<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9104400 e-flex e-con-boxed tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"9104400\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-57787e7 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"57787e7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-a356bc4 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"a356bc4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fc5f8b1 elementor-widget__width-initial elementor-widget elementor-widget-image\" data-id=\"fc5f8b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"14\" height=\"14\" src=\"https:\/\/offline-web.com\/wp-content\/uploads\/2025\/04\/Soft-Star-2.png\" class=\"attachment-large size-large wp-image-56\" alt=\"Vue.js development services by OFFLINE \u2014 section icon\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6b64e5d elementor-widget elementor-widget-tm-ele-text-editor\" data-id=\"6b64e5d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tm-ele-text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"tm-text-editor\" >\r\n\t\t<p>Core expertise<\/p>\t\t<\/div>\r\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c55099 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"3c55099\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-01b6d9f elementor-widget elementor-widget-html\" data-id=\"01b6d9f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"about-page\">\n\n\n  <!-- \u2500\u2500\u2500 CORE EXPERTISE \u2500\u2500\u2500 -->\n  <section class=\"section\" id=\"expertise\" style=\"padding-top:0\">\n    <div class=\"container\">\n      <h2 class=\"section-title\">What I <span class=\"lime\">build and modernize.<\/span><\/h2>\n      <div class=\"expertise-grid\">\n        <div class=\"exp-card gsap-card\">\n          <div class=\"exp-card-num\">01 \/<\/div>\n          <div class=\"exp-card-title\">Legacy code modernization<\/div>\n          <p class=\"exp-card-desc\">I modernize outdated frontends in stages, with dependencies and rollback points mapped before the first production change.<\/p>\n        <\/div>\n        <div class=\"exp-card gsap-card\">\n          <div class=\"exp-card-num\">02 \/<\/div>\n          <div class=\"exp-card-title\">Custom dashboards &amp; automation<\/div>\n          <p class=\"exp-card-desc\">I convert complex multi-sheet Excel business logic into interactive web BI tools, with shared data, charts built for the question being asked and automation for recurring manual steps.<\/p>\n        <\/div>\n        <div class=\"exp-card gsap-card\">\n          <div class=\"exp-card-num\">03 \/<\/div>\n          <div class=\"exp-card-title\">Frontend architecture<\/div>\n          <p class=\"exp-card-desc\">I design reusable component systems and TypeScript codebases with explicit state and module boundaries. TailwindCSS supports the interface layer.<\/p>\n        <\/div>\n        <div class=\"exp-card gsap-card\">\n          <div class=\"exp-card-num\">04 \/<\/div>\n          <div class=\"exp-card-title\">Backend engineering<\/div>\n          <p class=\"exp-card-desc\">Node.js, Express, Laravel, REST APIs, authentication flows, database optimization and performance tuning. Enough backend depth to ship a complete feature on my own.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n \n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0b9c436 e-flex e-con-boxed tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"0b9c436\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3162088 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"3162088\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-407869d elementor-widget elementor-widget-html\" data-id=\"407869d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t  <section class=\"section\" id=\"experience\">\n    <div class=\"container\">\n      <div class=\"exp-grid\">\n        <div class=\"exp-sticky\">\n          <div class=\"section-label\">Work experience<\/div>\n          <h2 class=\"section-title\">The<br> <span class=\"lime\">chronicle.<\/span><\/h2>\n          <p class=\"section-body\" style=\"font-size:0.9rem; margin-top:16px\">\n            A decade of shipping production software across gaming, fintech, travel, public sector, and digital agencies.\n          <\/p>\n        <\/div>\n\n        <div class=\"timeline\">\n          <div class=\"timeline-item gsap-timeline\">\n            <div class=\"timeline-year\">Dec 2020. Present<\/div>\n            <div class=\"timeline-role\">Senior Software Engineer<\/div>\n            <div class=\"timeline-company\">White Hat Gaming. Athens<\/div>\n            <p class=\"timeline-desc\">\n              Established a new department within engineering and set architecture standards for new projects. Built an internal UI component library and designed in-house web applications with Node.js. Led projects from planning through deployment and improved legacy systems.\n            <\/p>\n            <div class=\"timeline-tags\">\n              <span class=\"timeline-tag\">Frontend<\/span>\n              <span class=\"timeline-tag\">Composition API<\/span>\n              <span class=\"timeline-tag\">Node.js<\/span>\n              <span class=\"timeline-tag\">TypeScript<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"timeline-item gsap-timeline\">\n            <div class=\"timeline-year\">Dec 2019. Dec 2020<\/div>\n            <div class=\"timeline-role\">Senior Software Engineer<\/div>\n            <div class=\"timeline-company\">Netguru S.A.. Remote (Poland)<\/div>\n            <p class=\"timeline-desc\">\n              Worked with clients to identify business requirements. Delivered full-stack features across several products using Node.js, Express.js, React.js and both relational and non-relational databases.\n            <\/p>\n            <div class=\"timeline-tags\">\n              <span class=\"timeline-tag\">Node.js<\/span>\n              <span class=\"timeline-tag\">Full stack<\/span>\n              <span class=\"timeline-tag\">React.js<\/span>\n              <span class=\"timeline-tag\">MongoDB<\/span>\n              <span class=\"timeline-tag\">Postgres<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"timeline-item gsap-timeline\">\n            <div class=\"timeline-year\">Oct 2017. Dec 2019<\/div>\n            <div class=\"timeline-role\">Lead Software Engineer<\/div>\n            <div class=\"timeline-company\">Draxis Environment S.A.. Athens<\/div>\n            <p class=\"timeline-desc\">\n              Worked on web &amp; mobile application architecture and development using Laravel, React.js, Node.js and Cordova.\n            <\/p>\n            <div class=\"timeline-tags\">\n              <span class=\"timeline-tag\">Laravel<\/span>\n              <span class=\"timeline-tag\">Web apps<\/span>\n              <span class=\"timeline-tag\">React.js<\/span>\n              <span class=\"timeline-tag\">Node.js<\/span>\n              <span class=\"timeline-tag\">Cordova<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"timeline-item gsap-timeline\">\n            <div class=\"timeline-year\">Sep 2015. Aug 2017<\/div>\n            <div class=\"timeline-role\">Full Stack Developer<\/div>\n            <div class=\"timeline-company\">Archirodon Group N.V.. Agia Paraskevi<\/div>\n            <p class=\"timeline-desc\">\n              Developed web applications for a major international construction &amp; engineering group using Laravel and Angular.js.\n            <\/p>\n            <div class=\"timeline-tags\">\n              <span class=\"timeline-tag\">Laravel<\/span>\n              <span class=\"timeline-tag\">Web apps<\/span>\n              <span class=\"timeline-tag\">Angular.js<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"timeline-item gsap-timeline\">\n            <div class=\"timeline-year\">Jan 2015. Aug 2015<\/div>\n            <div class=\"timeline-role\">Web Developer<\/div>\n            <div class=\"timeline-company\">24 Media Digital Media Group. Athens<\/div>\n            <p class=\"timeline-desc\">\n              Built web applications for one of Greece's largest digital media groups using the Angular.js framework.\n            <\/p>\n            <div class=\"timeline-tags\">\n              <span class=\"timeline-tag\">Angular.js<\/span>\n              <span class=\"timeline-tag\">JavaScript<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"timeline-item gsap-timeline\">\n            <div class=\"timeline-year\">Dec 2013. Feb 2014<\/div>\n            <div class=\"timeline-role\">Web Developer<\/div>\n            <div class=\"timeline-company\">Shape LTD. Athens<\/div>\n            <p class=\"timeline-desc\">\n              Website development and ongoing support using WordPress.\n            <\/p>\n            <div class=\"timeline-tags\">\n              <span class=\"timeline-tag\">WordPress<\/span>\n              <span class=\"timeline-tag\">PHP<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6816c7b e-flex e-con-boxed tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"6816c7b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b3c8944 e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"b3c8944\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e4ac05b elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"e4ac05b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t  <section class=\"section\" id=\"education\" style=\"background: var(--bg-card); border-top: 1px solid var(--border);\">\n    <div class=\"container\">\n      <div class=\"section-label\">Education<\/div>\n      <h2 class=\"section-title\">Where it<br> <span class=\"lime\">started.<\/span><\/h2>\n      <div class=\"edu-grid gsap-fade\">\n        <!-- MSc -->\n        <div class=\"edu-card\">\n          <div class=\"edu-degree-type\">MSc<\/div>\n          <div class=\"edu-body\">\n            <div class=\"edu-years\">Sep 2019. May 2021<\/div>\n            <div class=\"edu-title\">MSc Computing<\/div>\n            <div class=\"edu-institution\">Cardiff Metropolitan University<\/div>\n            <div class=\"edu-location\">\n              <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n              Cardiff, United Kingdom\n            <\/div>\n          <\/div>\n        <\/div>\n        <!-- Diploma -->\n        <div class=\"edu-card\">\n          <div class=\"edu-degree-type\">Diploma<\/div>\n          <div class=\"edu-body\">\n            <div class=\"edu-years\">Sep 2014. Jul 2016<\/div>\n            <div class=\"edu-title\">Computer Science<\/div>\n            <div class=\"edu-institution\">IEK Akmi<\/div>\n            <div class=\"edu-location\">\n              <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n              Athens, Greece\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b532d96 e-con-full e-flex tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"b532d96\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-95a2a5c e-con-full tm-col-stretched-none e-flex tm-bg-color-over-image e-con e-child\" data-id=\"95a2a5c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eef46fd elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"eef46fd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t <section class=\"section contact-section\" id=\"contact\">\n    <div class=\"container\">\n      <div class=\"contact-inner\">\n        <div class=\"section-label\" style=\"justify-content:center\">Tell me what you need<\/div>\n        <h2 class=\"contact-headline\">\n          Have an application<span class=\"lime\"> to build<\/span><br>or modernize?\n        <\/h2>\n        <p class=\"contact-sub\">\n          Does your business need to modernize a legacy system, build a custom dashboard, automate a workflow, or fix frontend architecture that has stopped scaling? Tell me about it.\n        <\/p>\n        <div class=\"contact-checklist gsap-fade\">\n          <span class=\"check-item\">Upgrade a legacy system<\/span>\n          <span class=\"check-item\">Build a custom dashboard<\/span>\n          <span class=\"check-item\">Automate workflows<\/span>\n          <span class=\"check-item\">Modernize a legacy frontend<\/span>\n          <span class=\"check-item\">Improve frontend architecture<\/span>\n          <span class=\"check-item\">Full-stack development<\/span>\n        <\/div>\n        <div class=\"contact-actions gsap-fade\">\n          <a href=\"https:\/\/offline-web.com\/contact\" class=\"btn-primary\">\n            <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n            Get a price and timeline\n          <\/a>\n          <a href=\"https:\/\/offline-web.com\/portfolio\" class=\"btn-outline\">View portfolio<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<style id=\"audit-fix-cta-pad\">\n\/* Give the CTA section breathing room top & bottom *\/\n.elementor-730 .contact-section{padding-top:120px !important;padding-bottom:120px !important;}\n@media(max-width:767px){.elementor-730 .contact-section{padding-top:64px !important;padding-bottom:64px !important;}}\n<\/style>\n\n<style id=\"audit-fix-checklist-center\">\n\/* Center the checklist block on mobile *\/\n@media(max-width:1024px){\n  .elementor-730 .contact-checklist{width:-moz-fit-content;width:fit-content;margin-left:auto !important;margin-right:auto !important;}\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-57a1bd4 e-con-full e-flex tm-col-stretched-none tm-bg-color-over-image e-con e-parent\" data-id=\"57a1bd4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t<div class=\"elementor-element elementor-element-997d45e e-flex e-con-boxed tm-col-stretched-none tm-bg-color-over-image e-con e-child\" data-id=\"997d45e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cd6e516 elementor-widget elementor-widget-html\" data-id=\"cd6e516\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"about-page\">\n  <section class=\"section\" id=\"my-services\" style=\"padding-top:0\">\n    <div class=\"container\">\n      <h2 class=\"section-title\">My <span class=\"lime\">services.<\/span><\/h2>\n      <p class=\"services-intro\">Where I help most. Pick the one that matches your problem, or get a price and timeline by email.<\/p>\n      <div class=\"expertise-grid services-grid\">\n        <a class=\"exp-card svc-card\" href=\"https:\/\/offline-web.com\/vue-migration\/\">\n          <div class=\"exp-card-num\">01 \/<\/div>\n          <div class=\"exp-card-title\">Legacy frontend migration<\/div>\n          <p class=\"exp-card-desc\">I move end-of-life frontends to a supported architecture in stages around normal product delivery, with dependencies and rollback points mapped first.<\/p>\n          <span class=\"svc-card-link\">Explore migration &rarr;<\/span>\n        <\/a>\n        <a class=\"exp-card svc-card\" href=\"https:\/\/offline-web.com\/web-app-development\/\">\n          <div class=\"exp-card-num\">02 \/<\/div>\n          <div class=\"exp-card-title\">Custom web app development<\/div>\n          <p class=\"exp-card-desc\">Custom applications built around the workflow, data and access rules the product needs, with maintainable modules and clear deployment paths.<\/p>\n          <span class=\"svc-card-link\">Explore web apps &rarr;<\/span>\n        <\/a>\n        <a class=\"exp-card svc-card\" href=\"https:\/\/offline-web.com\/excel-to-dashboard\/\">\n          <div class=\"exp-card-num\">03 \/<\/div>\n          <div class=\"exp-card-title\">Excel to dashboard<\/div>\n          <p class=\"exp-card-desc\">I turn multi-sheet spreadsheets into a web dashboard with shared data, multi-user roles and business rules moved into the application.<\/p>\n          <span class=\"svc-card-link\">Explore dashboards &rarr;<\/span>\n        <\/a>\n        <a class=\"exp-card svc-card\" href=\"https:\/\/offline-web.com\/nuxt-migration\/\">\n          <div class=\"exp-card-num\">04 \/<\/div>\n          <div class=\"exp-card-title\">Server rendering migration<\/div>\n          <p class=\"exp-card-desc\">I move applications to server rendering or hybrid delivery when it fits, with route behavior tested around normal product delivery.<\/p>\n          <span class=\"svc-card-link\">Explore migration &rarr;<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\n<style id=\"svc-section-fix\">\n#my-services .services-intro{max-width:680px;margin:0 0 32px;opacity:.85;}\n#my-services .svc-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s ease,border-color .25s ease;}\n#my-services .svc-card:hover{transform:translateY(-4px);}\n#my-services .svc-card-link{margin-top:auto;padding-top:18px;font-weight:600;color:#000;}\n#my-services .about-page .svc-card-link,#my-services .svc-card-link{color:inherit;}\n#my-services .svc-card:hover .svc-card-link{text-decoration:underline;}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>OFFLINE I build web applications for real work. Full Stack Engineer. 10+ years turning complicated systems into applications people can&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-730","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.8 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>About Stelios Kitziris, Full Stack Engineer | OFFLINE<\/title>\n<meta name=\"description\" content=\"Stelios Kitziris is the Full Stack Engineer behind OFFLINE, with 10+ years in web development and 40+ projects for clients across Europe and the US.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/offline-web.com\/en\/about\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"About\" \/>\n<meta property=\"og:description\" content=\"Stelios Kitziris is the Full Stack Engineer behind OFFLINE, with 10+ years in web development and 40+ projects for clients across Europe and the US.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/offline-web.com\/en\/about\/\" \/>\n<meta property=\"og:site_name\" content=\"offline-web.com\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61565994551139\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-14T13:37:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/08\/og-about.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/08\/og-about.png\" \/>\n<meta name=\"twitter:site\" content=\"@offline_web\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/\",\"url\":\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/\",\"name\":\"About Stelios Kitziris, Full Stack Engineer | OFFLINE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/offline-web.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Soft-Star-2.png\",\"datePublished\":\"2025-04-07T11:17:55+00:00\",\"dateModified\":\"2026-08-14T13:37:50+00:00\",\"description\":\"Stelios Kitziris is the Full Stack Engineer behind OFFLINE, with 10+ years in web development and 40+ projects for clients across Europe and the US.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/#primaryimage\",\"url\":\"https:\\\/\\\/offline-web.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Soft-Star-2.png\",\"contentUrl\":\"https:\\\/\\\/offline-web.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/Soft-Star-2.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/about\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/offline-web.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"About\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/offline-web.com\\\/en\\\/\",\"name\":\"offline-web.com\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/#\\\/schema\\\/person\\\/520626b2a7a5c2d1fbeb91e5bd8b4aa3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/offline-web.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/offline-web.com\\\/en\\\/#\\\/schema\\\/person\\\/520626b2a7a5c2d1fbeb91e5bd8b4aa3\",\"name\":\"Stelios Kitziris\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/offline-web.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/0404afea-ad5d-45e2-8111-d489cd7935ab.png\",\"url\":\"https:\\\/\\\/offline-web.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/0404afea-ad5d-45e2-8111-d489cd7935ab.png\",\"contentUrl\":\"https:\\\/\\\/offline-web.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/0404afea-ad5d-45e2-8111-d489cd7935ab.png\",\"width\":1122,\"height\":1402,\"caption\":\"Stelios Kitziris\"},\"logo\":{\"@id\":\"https:\\\/\\\/offline-web.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/0404afea-ad5d-45e2-8111-d489cd7935ab.png\"},\"sameAs\":[\"https:\\\/\\\/offline-web.com\",\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61565994551139\",\"https:\\\/\\\/www.instagram.com\\\/offline_web_\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/offline-web\\\/\",\"https:\\\/\\\/x.com\\\/offline_web\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"About Stelios Kitziris, Full Stack Engineer | OFFLINE","description":"Stelios Kitziris is the Full Stack Engineer behind OFFLINE, with 10+ years in web development and 40+ projects for clients across Europe and the US.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/offline-web.com\/en\/about\/","og_locale":"en_US","og_type":"article","og_title":"About","og_description":"Stelios Kitziris is the Full Stack Engineer behind OFFLINE, with 10+ years in web development and 40+ projects for clients across Europe and the US.","og_url":"https:\/\/offline-web.com\/en\/about\/","og_site_name":"offline-web.com","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61565994551139","article_modified_time":"2026-08-14T13:37:50+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/08\/og-about.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/08\/og-about.png","twitter_site":"@offline_web","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/offline-web.com\/en\/about\/","url":"https:\/\/offline-web.com\/en\/about\/","name":"About Stelios Kitziris, Full Stack Engineer | OFFLINE","isPartOf":{"@id":"https:\/\/offline-web.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/offline-web.com\/en\/about\/#primaryimage"},"image":{"@id":"https:\/\/offline-web.com\/en\/about\/#primaryimage"},"thumbnailUrl":"https:\/\/offline-web.com\/wp-content\/uploads\/2025\/04\/Soft-Star-2.png","datePublished":"2025-04-07T11:17:55+00:00","dateModified":"2026-08-14T13:37:50+00:00","description":"Stelios Kitziris is the Full Stack Engineer behind OFFLINE, with 10+ years in web development and 40+ projects for clients across Europe and the US.","breadcrumb":{"@id":"https:\/\/offline-web.com\/en\/about\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/offline-web.com\/en\/about\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/offline-web.com\/en\/about\/#primaryimage","url":"https:\/\/offline-web.com\/wp-content\/uploads\/2025\/04\/Soft-Star-2.png","contentUrl":"https:\/\/offline-web.com\/wp-content\/uploads\/2025\/04\/Soft-Star-2.png"},{"@type":"BreadcrumbList","@id":"https:\/\/offline-web.com\/en\/about\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/offline-web.com\/en\/"},{"@type":"ListItem","position":2,"name":"About"}]},{"@type":"WebSite","@id":"https:\/\/offline-web.com\/en\/#website","url":"https:\/\/offline-web.com\/en\/","name":"offline-web.com","description":"","publisher":{"@id":"https:\/\/offline-web.com\/en\/#\/schema\/person\/520626b2a7a5c2d1fbeb91e5bd8b4aa3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/offline-web.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/offline-web.com\/en\/#\/schema\/person\/520626b2a7a5c2d1fbeb91e5bd8b4aa3","name":"Stelios Kitziris","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/06\/0404afea-ad5d-45e2-8111-d489cd7935ab.png","url":"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/06\/0404afea-ad5d-45e2-8111-d489cd7935ab.png","contentUrl":"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/06\/0404afea-ad5d-45e2-8111-d489cd7935ab.png","width":1122,"height":1402,"caption":"Stelios Kitziris"},"logo":{"@id":"https:\/\/offline-web.com\/wp-content\/uploads\/2026\/06\/0404afea-ad5d-45e2-8111-d489cd7935ab.png"},"sameAs":["https:\/\/offline-web.com","https:\/\/www.facebook.com\/profile.php?id=61565994551139","https:\/\/www.instagram.com\/offline_web_\/","https:\/\/www.linkedin.com\/company\/offline-web\/","https:\/\/x.com\/offline_web"]}]}},"_links":{"self":[{"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/pages\/730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/comments?post=730"}],"version-history":[{"count":251,"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/pages\/730\/revisions"}],"predecessor-version":[{"id":21519,"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/pages\/730\/revisions\/21519"}],"wp:attachment":[{"href":"https:\/\/offline-web.com\/en\/wp-json\/wp\/v2\/media?parent=730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}