Mark Jivko

Software Architect

years of experience
+ hours on solo projects

Built various PHP SDKs for Web3 API providers

  • Enjin PHP SDK: Converted the official Enjin Java SDK to PHP.
    Used a simple design pattern to load and execute GraphQL mutations.
  • Tatum PHP SDK: Rebuilt the Tatum PHP SDK from scratch with a much better architecture using SOLID principles.

An automated code review tool designed for WordPress plugins.
60.000+ plugins are continuously tested with results published daily.

  • Automated testing: WordPress plugins are installed, tested and uninstalled.
    Key performance indicators are logged at every step with focus on smoke tests, SRP and cyclomatic complexity.
  • Static Site Generator: Test results are stored as static HTML pages enriched with LD+JSON and PWA caching.
    References and search caches are updated automatically.

Stephino RPG is the first-ever role-playing game for WordPress with PWA, also available on Steam (Electron.js client)
Acquired in December 2021 by Metaverse Games Limited

  • Massively Multiplayer: The game was optimized for the lowest-performing shared hosting environments with tens of concurrent players, minimizing Big O, memory usage and bandwidth requirements for a smooth user experience
  • Customizable: All game objects are editable in a web CRUD interface that is dynamically generated from PHPDoc comments of specific methods. The game configuration is stored in JSON format, with i18n support
  • Theme-ready: All design elements can be altered (CC-BY-SA 4.0 license) inside of installable themes. A web worker caches all resources, static (images) or dynamic (animations and other scripts) with auto-reload on config save or plugin update
  • Optimized animations: Users can also customize in-game animations; the generated CSS rules were carefully optimized to minimize layout shifts, relayouts and repaints, maximizing performance with GPU rendering when available

A side-project to explore theming opportunities for Stephino's design team outside of Google Play

  • Website builder for WordPress: ThemeWarlock allows designers to create WordPress themes without writing code
  • Snapshots: Similar to VM snapshots, the software automatically saves designers' work in a plugin-agnostic manner, without interfering with the underlying source code
  • Build tools: When a theme is ready for publishing, ThemeWarlock generates the source code, screenshots and other assets and prepares archives required by ThemeForest, MojoThemes and other theme marketplaces
  • Code templates: A custom template engine similar to Smarty's is used as part of source code generation in the build process

FairPlayer is an Android music player with a custom audio library and support for animated themes

  • Equalizer: The app use VLC's library to deliver a crisp sound controlled by a custom equalizer
  • Themes: FairPlayer is strongly focused on themes, supporting animated effects for the first-time on Google Play
  • APK Factory integration: Design stations software could prototype, preview and convert themes for other music players into FairPlayer themes, rapidly expanding Stephino's portfolio

Distributed software for rapid prototyping and publishing of Android apps

  • Large-scale: Published and maintained more than 6000 Android apps in the Personalization category totaling over 100 million downloads on Google Play
  • Collaboration tools: APK Factory Hub is a public web application where designers, copyrighters and managers work on new themes remotely
  • Automated workflow: The Hub assigns new apps to VM clusters after QA. It also handles push notifications, ad mediation and Stephino's private theme store
  • Total automation: Really fast app screenshots and post-processing (seconds instead of minutes), internationalization, cloud backup, APK creation with Ant tools and much more
  • Extreme efficiency: Software handles repetitive tasks so that app turnover is measured in hours instead of days

Experimented with a few CSS techniques on commercial coming soon pages sold on ThemeForest and created short YouTube tutorials

  • Clean & customizable: The commercial projects are meant to be modified by novice clients
  • Parallax and beyond: These tiny code snippets are great exercises for font-end development

Storyline is a small jQuery plugin that enables scroll-based effects

  • Tiny library: This 17KB compressed JavaScript library powers the animations you see on this page
  • Developer tools: Set guide: true to enable a graphic console with logs, a visual representation of the scroll progress and a preview of internal variables
  • Log levels: Apart from the guide console, messages are stored in the browser console; logs can be filtered or disabled in production
  • Fast: Expensive mathematical operations are avoided, absolute coordinates being preferred to percentages without compromising flexibility

Fervoare is a small Content Management System designed for SaaS; reviewed by SoftPedia in 2013

  • An OctoMS app: Fervoare is built on top of OctoMS (next slide). In its prime it was used by tens of startups and agencies including Cinepolitica.
  • Installer: The app features a 1-click installer which creates the required database tables and populates them with demo data
  • User roles: PHPDoc tags are assigned special meaning to restrict access to Controller methods; the admin menu is updated to reflect these restrictions for each user by role
  • Themes: Both the front-end and back-end can be customized with themes; menus and other content regions can be rendered inside theme templates
  • SEO: All content types (pages and posts) have editable keyword lists and descriptions; an optional page extension can be set for all URLs (for example ".html")

OctoMS is a small PHP Framework inspired by CodeIgniter

  • Debugging interface: An AJAX-powered interface replaces the default controller output for uncaught exceptions and on-demand (in development mode)
  • Model-View-Controller: The framework imposes SoC (Separation of Concerns) with an MVC architecture; stateless libraries can be used alongside model instances
  • RegEx Routing: PCRE (Perl Compatible Regular Expressions) are used to map URLs to Controllers
  • Cookie validation: The Blowfish cipher is used to validate authentication cookies by user agent and IP, preventing most session hijacking attack vectors

Visual effects Storyline ˙ js

Sound effects Howler ˙ js

Created by Mark Jivko

Copyright © 2021 Mark Jivko