Hello
Hi
I assume you would want to learn some bits about me
For starters, I've always been an artist. One way or another.
Artist
What kind of art do you do?
Let me tell you about it...

Art,

it's media

You don't ask why art is made, do you?

Physical

The physicality of art is the most fundamental way to express oneself. It's the first way to express and it's the most intimate.

Snake necklace (2011)

One of the very first wearable pieces I made - an 8 cm long snake like necklace I made from a soft metal I found.

Vest (2024)

A contemporary victorian vest. The concept design was inspired by the victorian era but with a modern twist and techniques.

Concept design
Draftings
Sewing
Final product

Traditional

When asked about the topic most people would think of good old paper or a canvas. It seems like a unseparrable part of art. Over the time I have used many physical techniques. But covering colored paper by layering impressions of hard pastels still stands up to me.

Hard pastel drawings (2016 – present)

Hard pastel drawings

2016 – present

Over the years I've made many drawings using hard pastels...

Digital

Another step in the evolution of art started with the digital era. As it brings new possibilities for creation and most importantly delivery. The name itself very often also refers to an input method - a stylus and a tablet. Which is by far the best way to work with digital art.

Computer graphics

I use computer graphics and digital drawing mostly for utilitarian purposes. For example creating assets for websites, games, diagrams for explanations and presentations. As my communication style is very visual I find it a very useful tool.

Virtual (3D)

Another huge expansion to capabilities of an artist was the introduction of 3D modeling. Most distinctly it allowed for a new way of creating audiovisual media with much less work needed.

Girl papercraft (2014)

My 3D modelling skills are not extensive at all, but I have made a few functional pieces. For example this low poly model was intended to be unrolled into a papercraft template.

Girl papercarft 3D render

Visual space

Now, imagine that you are not constructing a single piece of art but a whole space containing many possible images. All part of a single concept - "sample space". While still being able to control how it looks and behaves.

Flower space (2024)

For example here I constructed and trained a neural network that when sampled returns images of imaginary plants.

Made by

DeeDominik Gmiterko

References

DeviantArt
dee-gmiterko
Instagram
@dee.gmiterko

Have you noticed how the media changes, but the intent persists?
Yes, every new age may have added new tools to the mix, but the core message remains the same.
Unity over ideas keeps poppin up, huh?
Tie-in of art and tech
Actually, there is one expression method in particular I would like to discuss
What is it?
It's usually refered to as a "Generative design"

Generative Design

The process of creating media with the help of scripts and purpose built programs.

Purposes of Generative Design

Just art

First and foremost, it’s most commonly presented just as a form of art. It can be used to create visually appealing images, animations, or even music.

To visualize

However, generative art can be utilized also for other means. For example to visually represent the significance of data to the viewer. As visual content is processed much faster and easier than text or a spreadsheet full of data it’s advantageous to let a computer generate visual representations for them.

Or simulate

Another related field is simulation and modeling. Its aim is to copy physical properties and visually understand complex systems by building their approximations - models.

Media used by Generative Design

Image and video

The most commonly used media in generative design are without a doubt images and video.

Block animation (2016)

</> Browse source code

To show this output format I have choosen a very simple animation generated by a computer.

3D objects

Rendering tools became very powerful over the years. And in combination with generative design they can produce visually appealing and complex scenes.

Golden cards (2021)

Here, I made a collection of procedurally generated 3D models. I used a modeling software Blender and a script which builds the scene and then renders it. Each card here represents a topic that people talked about at a given day.

Games and virtual worlds

The most well known example of this approach is Minecraft. I can provide you with a procedurally generated world for your game. Or it can be used as a content to fill the background of your scenes. For example an generated cityscape.

Infinite procedural worlds (2015)

</> Browse source code

The next example is in an old procedurally generated world of mine. It's built using a recursive of galaxies, planets, their terrains, and trees. User interface allows you to view the world on any zoom level and it's infinite in both x and y directions.

Try it out for yourself

Generative Design concepts

Parameterization

I htink that the most important concept of generative design is parameterization. Script can use input parameters (for example width of the image, numbef or fish) and using them calculate location, shape, color, and movement of objects on the screen. You should be then able to tweak parameters to produce many differnet art pieces.

“Ponyo” animation (2016)

</> Browse source code

If you watch this example closely you can notice that it's only using a single math function. sin(x). But when it's applied to basic properties of objects like position, rotation, and color it can still produce complex looking results.

Repeatability

I think the second most important concept of procedural design is repeatability. Idea of this content is really straightforward: Given a script (source code) and inputs users can always generate the same artwork. So this means you do not have to store generated media as it can be always reproduced. Or you can still choose to produce new artworks by altering its code or inputs.

Fern profile picture (2022)

</> Browse source code

I decided to demonstrate this concept on this simple “profile picture generator”. Given a name it will produce an image composed of fern leaves to represent the name.

Try it out for yourself

Randomness

The most important concept of generative art may be randomness. It can be used to alter input parameters of the generative process to produce a varied collection of artworks or assets.

You can use this concept to produce many unique but visually similar items. For example a lot of different rocks for a game, a collection of card decks where each package is slightly different, or now-so-popular NFT collections.

A tri-tree (2016)

</> Browse source code

In this example I am using a stream of random numbers to place new leaves forming tree-like structures in a process.

Transformation

Another approach to procedural art is not to fully generate the media by yourself but instead take some existing content as an input and only transform it in a way. You can take things like images, videos, text, numbers, datasets and use a deterministic script to produce new content. For example by doing geometric transformations, color modifications, abstraction, or simplification.

Album mood (2018)

</> Browse source code

To demonstrate this concept I choose a project that turns a series of photos (for example a gallery or video) into an abstract image containing a color palette that best represents the original images. This example uses statistical methods and other math magic to extract the relevant information.

Visualization

A specific case of transformations are data visualizations. We can treat real world data as an input into a procedural design script. But in this case its purpose isn't an artistic expression, but a representation of information.

Geocache density (2019)

</> Browse source code

For example here I used a heatmap view, and various plots to describe distribution of caches and their visits for a game played in the real world, Geocaching. I am sure you have encountered many visualizations in your life, so I don’t have to explain their capabilities.

Simulation

And the last concept used in a generative design I can think of is simulation. This can include physics simulation, flow of fluids, or discrete agents interacting with each other.

Sheep herding simulation (2017)

I have prepared this simulation using very few simple rules which jointly produce a complex behavior. In this case we have three basic rules:

  • sheep alter their heading to match other sheep nearby
  • sheep runs away from a dog
  • dog tries to preserve a fixed distance from closest sheep

And their interaction forces sheep to create a herd every single time even though it is not directly specified anywhere.

Concept mixign

Only once you add all these concepts together you can start to see the full potential of generative design. It can be used to create art, visualize data, simulate complex systems, or even generate new content based on existing one. The most powerful use cases are still in game development. But I can imagine understanding individual concepts can help you create visuals of any kind.

Puzzles ( TBD )

</> Browse source code

A very secret description of an ongoing project that you read very successfully.

...

Made by

DeeDominik Gmiterko

References

Github
m.me/dee.gmiterko
LinkedIn
@dee.gmiterko

Isn't it fascinating how simple components can create such complex behavior, right?
Absolutely!
And opposed to the traditional top-down design, generative design builds up from the bottom, creating virtually unbouded possibilities.
The biggest issue then is keeping it varied and interesting
And for it to have a point
Experiments and games
Now we are missing two key components:
To come up with completely new things
And having a reason to use them...
...which is most likely going to be to tell a story.

Games and Experiments

Games were always pushing the boundaries of what is possible. All in the persuit of telling a story, or creating an unforgetable experience.

Game of Life

Let's start with one of the simplest games there is. Conway's Game of Life is a famous 0-player game turning few simple rules into a living, breathing world.

GOL-hash (2016)

</> Browse source code

Based on The Game of Life, I've created a simple visual-hash function that turns any string or file into it's unique representation. It can either output an image respresenting the data or a compress it into string.

Disclaimer: I don't recommend using it tho, as I haven't validated that it's uniformity or it's fitness for any secure use.

Engine or not to engine?

The age old question that seems to be brough out every time a new person enters the game development community.

Open GL foreset (2017)

</> Browse source code

A low level implementation of a 3D scene using Open GL you can walk around in. It implements baisc model loading, lighting, reflections, and animations.

Web constrains

You may find yourself in a situation where you have to work with limited capabilities. A great example of this is WebGL - a web-based graphics library in your browser.

Trainwreck (2017, 2022)

</> Browse source code

A simple game that I've created using PixiJS library on top of WebGL, featuring an endless runner where you are in contorl of switching train tracks to avoid obstacles.

Try it out for yourself

Modding

One of the best known games that allow you to heavily modify it's content is Minecraft. Which I of course extensively used to create my own mods, plugins, and servers at the time.

Server side

Bukkit plugins (2010 – 2013)

I've made many plugins for Minecraft servers in that time. Includin few public ones that gained decent popularity. But as that was over a decade ago, they are no longer maintained and fell into obscurity. For example:

  • Adding "radiation" and protection
  • "Residences" that can be bough, sold, and rented
  • Building "scarecrows" scaring away mobs

Client side mods and resoruce packs

Modding (2012 – 2013)

For example I made this tiny mod that adds a cute bulldozer to the game - flattening the terrain in front of you as you drive it around.

Game engine

On the other end of the spectrum, you have game engines that are purpose built and can significantly speed up your development. Unity is a an example of a game engine that allows you to quickly create 3D and 2D games.

Card collecting game (2023)

Game website

During my freelancing period I've worked on a blockchain based card collecting game. My area of focus was integration of distributed systems, creating WebGl port, websocket based networking, and backend. But I've also fixed several visual issues and replaced card asset loading with a more efficient method.

Building an experience

Level design

Hand in hand with game development goes level design. It's what actually makes an experience out of game mechanics. And once again, it's very often been pushed to the limits of what is possible on the given platform.

London map (2011 – 2013)

A very common practice is to pack as much as possible into a limited space, trying to hide it's borders in naturally looking surroundings.

Asset pipeline

Without any assets to look at, your game world would be a very boring place. But creating them is extremely time consuming process. So there always was this drive to automate it as much as possible.

Tile builder (2017)

This tool takes two inputs: a color mask and a height map. Then proceeds to build a 3D model which is used to render a base image. As the next step it uses a machine learning to enhance the texture guessing some additional details.

Supporting tech

Networking

In games it's not just about sending data in between players, but also about making sure it's done in a timely manner and actions are authorized properly.

"Collaborative JSON" networking (2017)

</> Browse source code

However, when it comes to silly little games even a simple client authoritative solution will do. So I tried to do as little as possible to make a working multiplayer real-time browser game. I used a "collaborative JSON editor" library to synchronize game state between players (and server bots).

Emulation

Another area where game development reached level of complexity preceeding or not at all present in other fields is emulation and platform porting.

Fish Fillets online (2018)

</> Browse source code

I made a web port of this popular puzzle game, making it agian a bit more accessible for the current age. Transpiling it's source code using a tool called Emscripten and fixing issues that arose in the process. Most notably replacing some of libraries with versions that are compatible with running in browser.

Play now

Pushing the limits

No matter whether it comes to packing the most into limited space on cartridge, pioneering new 3D rendering tricks, or virtual reality. Games were always pushing the boundaries of what is possible. Often times long before the advances come to other fields.

I would keep my eyes open for any new developments in gaming as it's often a good indicator of what's to come. Even when it's microtransactions.

See you there.

Made by

DeeDominik Gmiterko

References

ienze.me
ienze.me
Github
m.me/dee.gmiterko

Only once we find that something works, we can start to build on top of it.
I think that's actually very clever.
And use it in a way that is commercially viable.
Sadly
Professional experience
Which is where my professional experience comes in.
Yes. What have you worked on before?

Professional

AKA “a real job”

Working with others may provide it's own challenges, but it's essential to scale the things you can do well beyond what you could do alone.

Website development

Websites are the most common way to present information on the internet. And I have experience with building many different kinds of them. Blogs, static, eshops, internal applications, you name it.

Their development is commonly split into two parts, frontend (what users sees in their browser) and backend (what happens on the server). I've worked on both.

Backend developer @ Wame (2015 – 2016)

WebBackendPHPNetteE-commerceHTMLE-mail camapigns

Development of custom e-commerce solutions as a part of a small team. I've worked on a variety of eshops.

Later during my studies at MUNI I've joined InQool in a part time capacity:

Frontend developer @ InQool (2017 – 2019)

FrontendWebJavascriptCSSPrestaShopE-commerceReact

Builing custom web applications for eshops. Some notable projects I've worked on include BrnoIDand Kreativator. ReactJS applicaiton for customizing prints on garments.

Data engineering

It's one thing to work on a closed order like an eshop that is more or less built and delivered once. But it's a whole different story to has a little bit of sway on a constantly evolving product while it's being used by thousands of people.

Data Engineer @ Kiwi.com (2019 – 2022)

Data processingPythonPipeline buildingAirflowPubSubPostgreSQLDataOpsBigQueryData QualityInternal product

I was mostly responsible for creating and maintaining data pipelines, building data warehouse, assisting with analysis and visualization, ensuring data quality.

Airflow (2019 – 2022)

The quintessential tool for managing data workflows.

As a link between server platform underneat and the data processing scripts on top, it's a great tool for managing data workflows. At this time I've been using it a lot in order to:

  • Automate data transformation tasks
  • Reliably prepare and distribute monthly reports
  • Monitor and alert on data quality issues

Freelance development

Working in a freelance capacity, not being bound by constraints of a single company, I've had the opportunity to work on a variety of projects. But it also means I had to wear many hats each day. I have done everything from gathering requirements, designing, developing, testing, deploying, and maintaining. Doing it it all is not always easy, but it definitely teaches you your limits. ( For me it's

AccountingMarketing & Sales
)

Fullstack @ Blockchain game development (2022 – 2023)

FrontendBackendProject managementGame devBlockchainUI designServices integrationOpsUnity

I started my freelancing by developing small blockchain based products, later getting into bigger game projects.

  • Smart contracts (Solidity)
  • NFT collections
  • Ethereum, Immutable X, Avalanche
  • Blockchain-based gaming

Fullstack @ Tailored system development (2023 – 2024)

Static websitesApplicationTypescriptVideo streamingAdaptive learningUser analyticsFirebaseGoogle Cloud PlatformCDNUI designOpsTemplatingProcesses automation

Afterwards I moved onto more traditional projects. Working on tailored systems for clients, there is one project in particular I would like to highlight.

Freelance development

Na medicínu

One project in particular I would like to highlight is a set of services that I developed for study course Na medicínu.

Na medicínu (2024)

Study course for students preparing for entrance exams to medical schools. It consists of several parts:

  • ♣️ Public websites

    • Static ecommerece website
    • To bring new people in
  • ♥️ Internal system for students and lectors

    • Helping students learn
    • Empowering lectors
    • Video streaming platform
    • Analysis of progress
    • Adaptive learning quizzes
  • ♠️ Admin backend

    • User access control
    • Roles and permissions
    • Content management
    • Website content editor
  • ♦️ Processes automation and email generator

    • Registration workflow
    • Tools for exporting data for accounting

Education

Masaryk University - Bc.

ApplicationsPythonDatabase managementJavaC++AlgorithmsComputational theoryData scienceComputer graphics

Teached me architectures, principles and methods of designing integrated systems and data processing

Bc. Thesis: Techniques for measuring similarity of educational items

Focuses on measuring of item similarity of questions from an adaptive tutoring systems utilizing correctness of answers from students.

§ TLDR version§ Read full text

Education

Masaryk University - Mgr.

Machine learningCloud developmentAIData analysisStatisticsBig dataData processingData scienceNeural networksVisualizationConstraint programming

Focused on design and development of intelligent systems and analysis of big data, using machine learning and artificial intelligence.

Mgr. Thesis: Tool Supporting Analysis of Meteorology Data

A newly built system allowin users to process and validate meteorological data while enhancing the analytical capabilities on the resulting dataset.

§ Read full text

Made by

DeeDominik Gmiterko

References

LinkedIn
@dee.gmiterko
Github
m.me/dee.gmiterko

Given, those are much more difficult to share beyond listing it, as they are often non-public and non-visual.
Yes, I do get that.
I still hope you gained some insight into what I did and what could be in my capabilities.
Dee Gmiterko
And then, there is me
Nice to meet you

Me

Coder | Artist | Me

"Top 10 places where to find me"

Heading to nature

  • Hiking
  • Working from forest
  • Traveling

It's cooler with people

  • Concerts
  • Cafes & tea houses
  • Festivals

Having fun solving problems

  • Board games
  • Puzzle races

Givigng life it's fullest

  • Cooking
  • Urbex places
Made by

DeeDominik Gmiterko

References

Instagram
@dee.gmiterko
Contact
Get in touch

It's still too early to say how it all ends up..
See you then!

Contact

You can start your very own conversation with me...
Feel free to reach out to me at your preferred platform 😊
Dominik Gmiterko
Email
me@deegmiterko.com
Messenger
m.me/dee.gmiterko
Instagram
@dee.gmiterko
LinkedIn
dominik-gmiterko
Discord
dee.gmiterko
© 2024 Dominik Gmiterko