diff --git a/_pages/portfolio.md b/_pages/portfolio.md index d3e89b2..fbb861f 100644 --- a/_pages/portfolio.md +++ b/_pages/portfolio.md @@ -1,75 +1,121 @@ --- title: Portfolio - Michal Vanko work_history_prelude: >- - I am doing web development for approximately 14 years. I've started at very - young age of 14. My very first web site was for promotion web of my own - Counter-Strike clan. + I've started learning web development when I was 14 years old. My very first + web site was for promotion web of my own Counter-Strike clan. - Then I had an opportunity to create a important registration system for - marathon runners for Europe's oldest marathon event. That basically started - off my career as a web developer. I had some projects while I was studying in - high school and university. After that I started to work full-time as a web - developer and gain more experience in developing real-time web applications. + Then I had an opportunity to create an important registration system for marathon runners for the Europe's oldest marathon event. That basically started off my career as a web developer. I've worked on some projects while I was studying in high school and university. After that I started to work full-time as a web developer and gained more experience in developing real-time web applications. work_history: + - description: >- + _sudolabs_ is a company focused on building products and software + solutions for start-ups & other clients. + + The company has its own product lab focused on product research and product discovery and an engineering lab focused on the development of high-quality software solutions. + + At _sudolabs_, I've managed to proceed from senior software engineer to **tech lead and an Engineering manager**. + + I am part of one of the most successful projects at _sudolabs_, _The Expert_. I am responsible for the architecture and quality of the proposed feature solutions and for the development processes used. + + As an Engineering manager, I try to **represent people in my team** and help them **achieve the best of their potential**. + + + I've started to work for _sudolabs_ in October 2019. + name: sudolabs s.r.o. + address: + name: Sudo Labs. s.r.o. + location: Námestie osloboditeľov 3/A + zipcode: 040 18 + city: Košice + country: Slovakia + displayed: true - description: >- _**Croptech**_ is a start-up company located in Košice focused on smart automation of hydroponic systems. Founded in 2014 they've won _StartupAwards.sk_ and have been able to find investors. - I've joined _Croptech_ after the previous team fall apart not being able - to bring product into the market. + I've joined _Croptech_ after the previous team fall apart not being able to bring product into the market. - I am main part of the _Croptech_ team. I figure as a **CTO** of the - company. I've developed architecture of the main product called - _responzIO_. - - - _CropTech. s.r.o._ Benkova 18 040 18 Košice , 040 - 01 Košice, Slovakia + I am main part of the _Croptech_ team. I figure as a **CTO** of the company. I've developed architecture of the main product called _responzIO_. name: CropTech. s.r.o. + displayed: false + address: + name: CropTech. s.r.o. + location: Benkova 18 + zipcode: 040 18 + city: Košice + country: Slovakia - description: >- - localhost.company is a small company which has only around 40 developers - and most of them are students. I work in _localhost_ as a **Senior front - end developer**. I am focused on delivering a high quality product and to - teach and help other colleagues. + _localhost.company_ was a small company that had around 40 developers + while most of them were students. I worked in _localhost_ as a **Senior + front end developer**. I was focused on delivering a high-quality product + and to teach and helping other colleagues grow in expertise. - I've started to work there in October 2018. - - - _localhost.company s.r.o_ Boženy Nemcovej 30, 040 - 01 Košice, Slovakia - name: localhost.company s.r.o - - description: >- - I worked in Ness as a **Senior front end developer**. In Ness, I've been + I've started to work there in October 2018 and left after a year. + name: localhost.company s.r.o. + displayed: true + address: + name: localhost.company s.r.o. + location: Boženy Nemcovej 30 + zipcode: 040 01 + city: Košice + country: Slovakia + - description: > + I worked in _Ness_ as a Senior front-end developer. In _Ness_, I've been able to work for different clients on various projects. - I joined Ness as a Junior front end developer and I've been able to - quickly proceed to Senior level with my engagement + I joined Ness as a Junior front-end developer and I've been able to quickly proceed to Senior level with my engagement. I started to work in March 2013 and left in October 2018. - - - _Ness KE s.r.o._Moldavská cesta 10/B, 040 11 - Košice, Slovakia - name: Ness KE s.r.o + name: Ness KE s.r.o. + displayed: true + address: + name: Ness KE s.r.o. + location: Moldavská cesta 10/B + zipcode: 040 11 + city: Košice + country: Slovakia - description: >- - I worked in eSOLUTIONS as a **extern web developer** + I worked in _eSOLUTIONS_ as an **extern web developer** for part-time + while I was studying in high school and at University. - I was building front-end and back-end for websites and web applications. - Mostly using _PHP_, _MySQL_, _JavaScript_, _HTML_, _CSS_ + I was building front-end and back-end services for websites and web applications. Mostly using _PHP_, _MySQL_, _JavaScript_, _HTML_, _CSS_. I started to work in 2007 and stopped in 2012. - - - _eSOLUTIONS s.r.o._ Hroncová 2, Košice, - Slovakia name: eSOLUTIONS s.r.o. + displayed: true + address: + name: eSOLUTIONS s.r.o. + location: Hroncová 2 + zipcode: 040 01 + city: Košice + country: Slovakia projects: + - description: >- + _The Expert_ is a digital platform that connects clients to interior + designers around the world. For experts, it allows **managing** their + **portfolio and profile** and **schedule** in which they are open for + **consultations**. Clients are able to view their profiles and book + consultations. + + The project is **expanding with an e-commerce platform** that should enable these experts to recommend and sell high-value goods. + + + We have built this platform from scratch as the only technical team. We also managed to design the product itself in-house. + + I am part of the engineering team. I work as an **Engineering manager**. I am also **responsible for the technical architecture** and **development processes** that are being used to deliver new features. + + + _The Expert_ has been **featured in** numerous **worldwide media** such as [_The New York Times_](https://www.nytimes.com/2021/10/19/business/home-design-zoom.html?smid=url-share), [_Wall Street Journal_](https://www.wsj.com/articles/how-you-can-afford-to-hire-your-dream-interior-designer-11619627877), [_Forbes_](https://www.forbes.com/sites/emmareynolds/2021/02/08/introducing-the-expert-a-new-digital-platform-for-interior-design-founded-by-designer-jake-arnold/?sh=33b274934471), [_TechCrunch_](https://techcrunch.com/2021/04/19/gwyneth-paltrow-invests-in-the-expert-a-video-marketplace-for-high-end-interior-designers/?guccounter=2), and many more. + displayed: true + name: The Expert + image: + source: /images/uploads/the-expert-logo.svg + image_description: The Expert logo - description: >- _Manualogic_ is a **single page application** for product manual creators. It contains **custom web editor** and management system of **translatable @@ -77,13 +123,23 @@ projects: get manuals of their products in digital form. - It's bulit on top of modern web technologies such as **Angular,** - **RxJS,** and the content is synchronized through **Websockets**. The - back-end part is built on top of **Spring framework**. + It's bulit on top of modern web technologies such as **Angular,** **RxJS,** and the content is synchronized through **Websockets**. The back-end part is built on top of **Spring framework**. - The team consisted of 3-4 front-end developers, 2-3 back-end developers - and 2 testers. + The team consisted of 3-4 front-end developers, 2-3 back-end developers and 2 testers. + displayed: true + name: Panoramic + - description: >- + _Manualogic_ is a **single page application** for product manual creators. + It contains **custom web editor** and management system of **translatable + pages, books** and **products.** It's main goal is to enable customers to + get manuals of their products in digital form. + + + It's bulit on top of modern web technologies such as **Angular,** **RxJS,** and the content is synchronized through **Websockets**. The back-end part is built on top of **Spring framework**. + + + The team consisted of 3-4 front-end developers, 2-3 back-end developers and 2 testers. displayed: true name: Manualogic - description: >- @@ -92,18 +148,13 @@ projects: and gardens. - I worked on _responzIO_ as architect and full-stack developer. I've - designed complete software solution for an already created platform and a - series of sensors, sockets and other hardware. Designed solution consist - of varios parts: Deployment, Microservices, Stateful core back-end - application, progressive web application, auto-update over web... + I worked on _responzIO_ as architect and full-stack developer. I've designed complete software solution for an already created platform and a series of sensors, sockets and other hardware. Designed solution consist of varios parts: Deployment, Microservices, Stateful core back-end application, progressive web application, auto-update over web... - This project is built with modern web technologies including: **CycleJS**, - **Reactive Streams**, **D3**, **Jest**, **Webpack**. + This project is built with modern web technologies including: **CycleJS**, **Reactive Streams**, **D3**, **Jest**, **Webpack**. displayed: true image: - image_description: ' responzIO main controller' + image_description: " responzIO main controller" source: /images/uploads/responzio.png name: responzIO - description: >- @@ -113,20 +164,13 @@ projects: and in different formats. - I worked on _Signal Hub_ as a front-end developer. Working on the part of - the platform called _Workbench_. _Workbench_ is an **IDE for data - analyst**. It allows to create and tweak various models and - transformations which are then deployed to other parts of the platform. - Users are able to create workflows and see the results of his work with - pleasant visuals. + I worked on _Signal Hub_ as a front-end developer. Working on the part of the platform called _Workbench_. _Workbench_ is an **IDE for data analyst**. It allows to create and tweak various models and transformations which are then deployed to other parts of the platform. Users are able to create workflows and see the results of his work with pleasant visuals. - This project is built with modern web technologies including: - **AngularJS**, **React**, **D3**, **Highcharts**, **Jest**, **Webpack**. + This project is built with modern web technologies including: **AngularJS**, **React**, **D3**, **Highcharts**, **Jest**, **Webpack**. - I was part of a large distributed team of ~20 developers & ~6 testers - which were working on the whole platform. + I was part of a large distributed team of ~20 developers & ~6 testers which were working on the whole platform. displayed: true name: Signal Hub Manager - description: >- @@ -134,34 +178,26 @@ projects: offers and bids** on the commodity market. - It was built for a price reporting company _S&P Global Platts_. This - company is a provider of energy and commodities information and a source - of benchmark price assessments in the _physical energy markets_. + It was built for a price reporting company _S&P Global Platts_. This company is a provider of energy and commodities information and a source of benchmark price assessments in the _physical energy markets_. _SHIP_ was suited for a very easy and quick workflow for editors. - Team consisted of 3 front-end and 3 back-end developers. I was a **leader - of the front-end** part of the project. + Team consisted of 3 front-end and 3 back-end developers. I was a **leader of the front-end** part of the project. - The application was built with **AngularJS and Redux**. The challenging - part was working with **Cassandra database**. + The application was built with **AngularJS and Redux**. The challenging part was working with **Cassandra database**. displayed: true name: SHIP (Structured heard input process) - description: >- [www.caplin.com/business/fx-sales.com](http://www.caplin.com/business/fx-sales) - The main function of _Caplin FX Sales_ is to allow sales users to - trade on behalf of their clients. This needs to be an - efficient workflow providing all the relevant information to the sales - user. + The main function of _Caplin FX Sales_ is to allow sales users to trade on behalf of their clients. This needs to be an efficient workflow providing all the relevant information to the sales user. - Main technologies used: **Websockets**, Custom Front-end JavaScript MVVM - Framework (based on Knockout, BRJS) + Main technologies used: **Websockets**, Custom Front-end JavaScript MVVM Framework (based on Knockout, BRJS) We worked on this project in a team of 6 developers and 3 testers @@ -172,8 +208,7 @@ projects: integration tests** for web sites. - I worked on a _proof of concept_ front-end portion of this application, - which was able to create a list of steps for testing. + I worked on a _proof of concept_ front-end portion of this application, which was able to create a list of steps for testing. I worked on this project in a team of 2 front-end developers. @@ -183,13 +218,10 @@ projects: [www.livesport.tv](http://www.livesport.tv) - _Livesport.tv_ is a network of premium online sports channels, featuring - all the top sports competitions from around the world. + _Livesport.tv_ is a network of premium online sports channels, featuring all the top sports competitions from around the world. - I worked on this project as a front-end developer. I maintained all - livesport channels and I worked on new features and enhancements of - websites. + I worked on this project as a front-end developer. I maintained all livesport channels and I worked on new features and enhancements of websites. Project was built on top of **Freemarker** templating language. @@ -204,10 +236,7 @@ projects: Networks_ - I worked on this project as a front-end developer. I maintained official - websites of beIN SPORTS France and USA - ([www.beinsports.fr](http://www.beinsports.fr), - [www.beinsports.tv](http://www.beinsports.tv)). + I worked on this project as a front-end developer. I maintained official websites of beIN SPORTS France and USA ([www.beinsports.fr](http://www.beinsports.fr), [www.beinsports.tv](http://www.beinsports.tv)). Project was built on top of **Freemarker** templating language. @@ -232,16 +261,12 @@ projects: [www.kosicemarathon.com](http://www.kosicemarathon.com/) - _Košice Peace Marathon_ is the oldest marathon in Europe and the - third-oldest in the world. + _Košice Peace Marathon_ is the oldest marathon in Europe and the third-oldest in the world. - I worked on this project as a front-end and an back-end developer. I've - built a **custom CMS** for website and for registration of participants. - Also created an application for actual event for signing participants. + I worked on this project as a front-end and an back-end developer. I've built a **custom CMS** for website and for registration of participants. Also created an application for actual event for signing participants. - The application was able to create a start list of all participants and - provide various statistics about them. + The application was able to create a start list of all participants and provide various statistics about them. I've built this project alone and then one maintainer joined me. @@ -254,16 +279,14 @@ projects: _CK Vive_ is a travel agency. - I worked on this project as a front-end and an back-end developer. I've - created new **custom CMS** for adding destinations and apartments into - offering. + I worked on this project as a front-end and an back-end developer. I've created new **custom CMS** for adding destinations and apartments into offering. I've built this project on top of **PHP**, **MySQL** and **JavaScript**. I worked on this project alone. - displayed: true + displayed: false name: CK Vive education: - description: |- @@ -286,14 +309,13 @@ education: Dates: 1\. 9\. 200 - 1\. 7\. 2010 - Title of qualification awarded: Full secondary school education with - leaving examination + Title of qualification awarded: Full secondary school education with leaving examination displayed: true name: Secondary school of Electrical Engineering in Košice --- ## Personal Information -I was born on 26th of May in Košice, Slovakia and I still live here. +I was born on the 26th of May in Košice, Slovakia and I still live here. ### Hobbies diff --git a/src/components/portfolio/work.svelte b/src/components/portfolio/work.svelte index ae3e9fc..f4f6b85 100644 --- a/src/components/portfolio/work.svelte +++ b/src/components/portfolio/work.svelte @@ -1,6 +1,8 @@
@@ -8,4 +10,18 @@
{@html work.description}
+ + {#if work.address} + + {/if}
diff --git a/src/routes/portfolio/index.json.ts b/src/routes/portfolio/index.json.ts index 1720a29..08a2ad0 100644 --- a/src/routes/portfolio/index.json.ts +++ b/src/routes/portfolio/index.json.ts @@ -17,9 +17,19 @@ export interface ProjectAttributes extends RecordAttributes { } } +export interface WorkAttributes extends RecordAttributes { + address: { + name: string + location: string + zipcode: string + city: string + country: string + } +} + export interface PortfolioAttributes { title: string - work_history: RecordAttributes[] + work_history: WorkAttributes[] work_history_prelude: string projects: ProjectAttributes[] education: RecordAttributes[] @@ -27,7 +37,7 @@ export interface PortfolioAttributes { export type PortfolioContent = { title: string - workHistory: RecordAttributes[] + workHistory: WorkAttributes[] workHistoryPrelude: string projects: ProjectAttributes[] education: RecordAttributes[] @@ -46,9 +56,9 @@ export async function get() { } const parsed = fm(pageSource) - const workHistory = (parsed.attributes.work_history || []).map( - parseField('description') - ) + const workHistory = (parsed.attributes.work_history || []) + .filter((workHistory) => workHistory.displayed) + .map(parseField('description')) const projects = (parsed.attributes.projects || []) .filter((project) => project.displayed) .map(parseField('description')) diff --git a/static/admin/config.yml b/static/admin/config.yml index 51671bf..d8775da 100644 --- a/static/admin/config.yml +++ b/static/admin/config.yml @@ -64,6 +64,16 @@ collections: fields: - { label: Company name, name: name, widget: string } - { label: Description, name: description, widget: markdown } + - label: Address + widget: object + name: address + fields: + - { label: Business name, name: name, widget: string, required: false } + - { label: Address, name: location, widget: string, required: false } + - { label: Zipcode, name: zipcode, widget: string, required: false } + - { label: City, name: city, widget: string, required: false } + - { label: Country, name: country, widget: string, required: false } + - { label: Displayed, name: displayed, widget: boolean, default: true } - label: Projects name: projects widget: list diff --git a/static/images/uploads/the-expert-logo.svg b/static/images/uploads/the-expert-logo.svg new file mode 100644 index 0000000..a7cd9f5 --- /dev/null +++ b/static/images/uploads/the-expert-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + +