Mark Jivko

Software Architect

years of experience
+ hours on solo projects

Stephino RPG is the first-ever role-playing game for WordPress (PWA), also available on Steam (Electron.js)

  • 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

Potrivit is an automatic code review tool designed for WordPress plugins

  • Automated testing: WordPress plugins are installed, tested with a headless Chromium chromedriver and uninstalled. Logs from Apache, Chrome and other performance tools are monitored at every step.
  • Static Site Generator: Test results are stored as static HTML pages enriched with LD+JSON and PWA caching. JSON files for the site search functionality, the sitemap and other references - similar plugins, previous and next links and others - are updated automatically.

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

A side-project to enable 2FA on Stephino's APK Factory Hub

  • Mobile device as SMS Gateway: An Android app would run as a service, listening for new SMS payloads from a central server
  • Open-sourced: The server-side component was open-sourced as a plugin for WordPress

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

  • An OctoMS app: Fervoare is built on top of OctoMS. In its prime it was used by tens of startups. It was reviewed by SoftPedia in 2013.
  • 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