We started on Upwork in late 2018 and later moved to a direct contract.
CGSpark · IL · 2019–2025
CGSpark: tools, a WordPress pilot and site support for a web studio
Five jobs I did for a Tel Aviv studio's own needs, from a first landing page in 2019 to support on its own website in 2025.
A landing page, a WordPress dashboard, an analytics tool, a colour API and support on the studio's own site.
The studio came back to me several times over six years.
CGSpark is a web and mobile studio in Tel Aviv. We started working together in late 2018 on Upwork and later moved to a direct contract, mostly on work for the studio’s clients.
This page is about the jobs for the studio itself: a landing page in 2019, a WordPress admin pilot, a screen-size analytics tool, a colour tool on the studio’s subdomain, and support on the studio’s own website. On four of the five I was the only developer.
Projects
- 2019
Landing page and thank-you page
A main page and a thank-you page, on a short hourly Upwork contract with the studio.
I built both pages and delivered them with full-page screenshots and a screen recording, so the studio could review them without setting up the project. The studio closed the contract with a 5.0 rating and moved straight on to an ongoing front-end contract.
- 2020
WordPress admin dashboard plugin with full-text search
A pilot of a better WordPress admin start screen for sites with many pages.
Every page and post shows as a tile with its image, template, author and category, grouped A–Z with counters. Search covers the titles and the full text of each page, and a marker shows which tiles matched only by their text. I built it on an open-source plugin base. PHP collects the data once, and the browser does the grouping and the search.
The pilot gives editors one screen to find any page by title or content and open it in the editor in one click.
Stack: WordPress, PHP, JavaScript, jQuery
- 2021–2022
Screen-size analytics tool: Node.js API, Vue and a WordPress plugin
A three-part tool that showed which screen sizes visitors used on eToroX, eToro’s crypto exchange marketing site run by the studio.
A collector on the site sent the window size through a PHP endpoint to a Node.js and Express API on MongoDB. It stored only the size and a count, nothing personal. A Vue 3 page listed the sizes by frequency. A WordPress plugin recorded browser, version and device type, with admin dashboards in Chart.js. Later I moved the API from the studio’s staging server to Heroku.
So the designers could work from the screen sizes real visitors used, instead of guessing.
Stack: Node.js, Express, MongoDB, Vue, WordPress, PHP, MySQL, Chart.js
- 2022–2023
Colour tool and JSON API in Node.js, released as Colorize
A tool that returns matching colours for a given colour, on a page or as JSON from an API. I built it in Node.js and Express with a Pug page.
For the matching I convert the colour to HSL, rotate the hue by 180° and return the result as HEX. Later I moved the tool from staging to a subdomain of the studio’s site, so it carries the studio’s name. I made a logo and favicon set for the chosen name and replaced a Sass compiler that was no longer supported.
Colorize was released in January 2023 on the studio’s subdomain, with the page and the API both working.
Stack: Node.js, Express, Pug, Sass, JavaScript
- 2023–2025
Website support on Angular and Strapi: analytics, CMS publishing, a contact button
I supported the studio’s own site, which a colleague built as Angular pages generated from a Strapi CMS and hosted on Heroku.
I hooked the analytics tag into the Angular router, so every route change sends a page view, and checked it in the network tab after deploy. Then I traced how the robots setting in the CMS reaches the site: a change in the CMS gets to visitors only after a rebuild. So I rebuilt the site and wrote that step down in the README. The Contact Us component got a parameter to work as a button as well as a link, and I merged it through a pull request. I deployed each change only after the owner’s go-ahead.
The owner confirmed that analytics now counts every page view, and the Contact Us button opens the form.
Stack: Angular, TypeScript, Strapi, Heroku
Serhii is a great developer and team player. He and I worked on several projects in the past few years, working with Serhii was a great pleasure, he is solution oriented, motivated and a true partner in a crisis. Serhii will be a great asset to any project or team
Another excellent project due to Seregy
Waterproof: lead tools, servers and site work for a web agency
Three years of my work on a German agency's own systems, from site tasks and a block theme to a live spam scanner and its servers.
Two WordPress plugins that wiped blog posts: conflict worked around
I traced a plugin conflict that duplicated a section in blog posts and wiped the post when the copy was deleted, and fixed it without patching either plugin.
A landing page from a mockup, inside a studio's code base
I built a landing page from a designer's mockup inside the studio's own code base, for a studio I had worked with before.
Contact
Have something similar?
Use the form or message me on LinkedIn.
Already working with me on Upwork? Write there.