Gardening is not easy. To facilitate the gardening experience we have created Leafarise.

Leafarise is a mobile app that helps to be a better gardener. With Leafarise you can organize your garden, track its performance and keep the garden diary.


The plants screen of Leafarise mobile app for gardeners
All plants in your garden are displayed here

The plants screen shows all the plants the gardener has in his garden. This includes flowers, vegetables, shrubs and trees. It is also helpful to indicate the plant variety. For example: Rosa ‘Bonica’ or Cucumber ‘La Diva’.


Such stories happen to each of us. Our family owns a garden where we grow various vegetables and fruits. In 2018 we started growing carrots in our garden. It was a very good variety of large, sweet, bright orange carrots. We were very happy with the big harvest.


Next spring we decided to plant this variety again. We tried to remember the name of this variety, but with no luck. The bag was thrown away, and the purchase history was not preserved. We were desperate… Choosing the right variety is not easy, since our soil is not very good. …

Recently I’ve released iOS social network app template called Socium. Here I’d like to share with you my knowledge learned from developing it.

List of features

First of all, we need to write down a list of features we want to see in the app. For example Socium, just as a typical social network app, has the following features:

  • User profiles
  • User posts and comments
  • Post likes
  • Browsing and searching other users
  • Private realtime chats
  • Followings/followers
  • Push notifications

Having this list in mind we can select a backend for the project.


Social network application is a complex system, consisting of client side and…

One of important features missing in Parse Server is background scheduled job functionality. In this doc Parse Team recommends us to use kue for this purpose. Well, let’s check it out!

kue is open source Node.js module, developed for managing a priority job queue. However, it doesn’t allow to schedule jobs out of the box, so we’ll need another utility called kue-scheduler for this. Both of them are easy to install and use.

Prerequisites: kue is backed by Redis, so we’d need to set Redis up before we start integrating kue. DigitalOcean has a great tutorial how to install and…

Have you ever tried to implement such effect as lightning for your iOS game? In this article I’m going to describe three ways I found to create a lightning effect with a decent quality:

  • SKShapeNode.
  • CAShapeLayer.
  • SKSpriteNodes.

For each of them we need to compose a path for our lightning bolt. I searched the web and found this article about procedural generation of lightning bolt. This approach uses Midpoint Displacement algorithm. The result looks pretty realistic. Here is Objective-C code for Midpoint Displacement algorithm:

void createBolt(float x1, float y1, float x2, float y2, float displace, UIBezierPath *path) {…

I’m keep looking for ways of making the process of creating iOS apps a bit simpler and faster. I’m also trying to avoid code related to UI elements as much as possible, and move this effort to Xcode Interface Builder. Fortunately, Xcode offers some nice possibilities for this.

I created a useful set of UI controls called DCKit. They use IBInspectable/IBDesignable features Apple introduced earlier in Xcode 6. DCKit gives you much more powerful controls than a standard UIButtons/UITextFields etc. …

Andrey Gordeev

iOS/Android developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store