Photo by Vasily Koloda on Unsplash

While I did relatively well in school, I found it problematic to stay in class for extended periods at a time. Everything else seemed more exciting than listening and taking notes, somedays for 7 hours straight.

Being easily distracted, almost had me dropping out of college if it wasn’t for a handful of good friends. Later on, it had cost me two extra years, in addition to the two required, to finish my master's.

This past week I was accepted for Quantic’s first selective online MBA. On this occasion, I needed to visit my Uni’s building to fetch some papers…


One of the common optimizations for your website, which has an enormous impact on your site’s speed, is the format and size of the image assets you’re loading.

Serving your images in modern formats such as WebP and JPEG2000, and deferring loading until your visitor reaches a specific section, will give you a substantial speed boost. This will also be reflected in your Google Page Speed Insights score.

Your bandwidth restricted users will thank you, and you will also get an overall improved user experience.

Our target platform is Nuxt. …


Sooner or later your application will have to send out emails promoting its features or simply deliver notifications. Sending out emails is a core functionality of web applications nowadays.

In this article we’ll cover how to send e-mail using Phoenix and Elixir. We’ll assume you already have some experience with Phoenix and elixir. If this is not the case, we whole-heartedly recommend checking out the official Phoenix documentation and go through the Up and Running” tutorial before coming back here.

Usually, the Elixir community, refrains from recommending libraries, preferring low-level OTP approaches, such as gen_smtp. Our argument for using a…


We’re an all design and code craftsmen agency, an experienced team of software engineers and designers that generate unique user experiences every day.

We decided that sharing from our experience with others, should be something we should do more often. In order to do this, we would have to switch our blog from Medium to and integrate it with our site. This would allow us to give our readers a more polished experience, and at the same time to make our posts more versatile and unique.

We have a long tradition of designing and developing WordPress sites. This time, as…


Front-End development job opening at graffino.com
Front-End development job opening at graffino.com

We’re Graffino, a team of Romanian web developers experts, based in Sibiu. For the last 12 years, we’ve been partnering with startups and enterprises from all over the world to create first-class digital experiences.

The role:

We’re looking for a savvy front-end developer that can handle both modern single-page applications, as well as pixel-perfect website development.

The particularities:

  • You have a good knowledge of JavaScript. You know how to use reduce() correctly.
  • You write both modern, slick CSS and you have preferably used SCSS/Stylus in the past.
  • Preferably, you’ve had some experience with Vue and/or React in the past.
  • CSS…


We’re Graffino, a team of Romanian web developers experts, based in Sibiu. For the last 12 years, we’ve been partnering with startups and enterprises from all over the world to create first-class digital experiences.

The role:

We’re looking for a savvy back-end developer passionate about PHP as well as other server technologies.

The particularities:

  • Preferably, you have OOP, SOLID, and design patterns knowledge;
  • You have working experience building real-life web platforms and applications.
  • You have, preferably, worked with Laravel and Wordpress in the past.
  • Knowledge of any other modern programming language is a plus.

We value proactivity, determination, expertise, and…


Photo by Joshua Ness on Unsplash

If you didn’t do it yourself, how many times have you witnessed the following scenario?

Comes in late for the interview and starts bashing the interviewee with 10 minutes of personal curiosities followed by another 20 minutes of conversation with no relation whatsoever to the scope of the meeting. He has his mind already made up since the first 5 minutes of the interview.

Extra points if he tells the conclusion on the spot.

When confronted with the reality, he’ll insist he has a “thing” for people and he knows what’s what.

In the following sentences, we’re going through some…


Photo by Annie Spratt on Unsplash

Is it too late for new year resolutions and past year reviews? Hope not, because we decided to share some of our own. :)

Nick

This year I’ve dabbled in older PHP and first-generation Zend code. Therefore, I’m looking forward to a more javascript intensive 2019.

Although I’ve got my hands dirty with React and GraphQL before, I’ve never got deep enough to consider myself a “Facebook stack” pro. I’ve decided to up my game this year. ReasonML is another Facebook goodie that’s winking at me.

If there’s time left at the end of 2019, I’ll be filling that in with…


Photo by Clinton Naik on Unsplash

One day while I was on the road heading back home, I heard a loud sound coming from the back of my car. The noise was familiar but couldn’t point out what happened. I was happy the car didn’t stop and I kept going hoping I’ll reach a repair shop soon.

After a couple of weeks waiting I’ve made it to the mechanic. A quick inspection and he gave me the news: The brake disc broke.

This is something that happens when the brake pads are due to be replaced and creates unnecessary pressure on the disc.

This happened at…


Photo by Greg Rakozy on Unsplash

While almost every new article mentioning it, talks about its demise, I’ve decided to write about one of the most recurrent jQuery bad practices I came across. So here it is:

Once upon a time, while working with a new team of full-stack web developers, I’ve discovered a recurring pattern: The developer created a different class name for each new element with a slightly different configuration. I’ve approached this issue having three principles in mind:

  • HTML verbosity is cheaper than Javascript verbosity
  • Don’t repeat yourself (DRY)
  • Open for extension, closed for modification

To avoid repetition, we’ll define a defaults

Nick Ciolpan

Co-founder of Graffino. I have extensive experience as a full stack developer, managing clients and building state of the art platforms.

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