Skip to content
Become a sponsor to Janko Marohnić
@janko

Janko Marohnić

janko
Brno, Czechia

About me

Hi 👋 I'm a Ruby developer from Zagreb, Croatia, currently living in Brno, Czechia.

I've authored many Ruby gems in my career, these ones being the most significant:

I've taken over maintenance of some popular gems as well:

And for some gems I've had significant contributions:

  • Rodauth – ruby's most advanced authentication framework
  • Sequel – the database toolkit for Ruby
  • Roda – routing tree web toolkit
  • Refile – file attachment toolkit that's a successor to CarrierWave (core team member)
  • http.rb – a fast Ruby HTTP client with a chainable API, streaming support, and timeouts (core team member)
  • Async – an asynchronous event-driven reactor for Ruby

File Uploads

My primary focus in open source is around file uploads in Ruby. Having tried and been disappointed with other file attachment libraries in the past, I've decided to create Shrine.

Shrine brings many improvements over existing libraries:

  • follows good design principles (no god objects, minimal state, modular design, decoupled from Rails)
  • offers both processing up front (Paperclip, CarrierWave) and on-the-fly (Active Storage, Refile, Dragonfly)
  • advanced direct uploads with Uppy (enabling resumable uploads)
  • concurrency-safe backgrounding support
  • low memory usage with streaming

As part of developing Shrine, I've created helper gems for processing, downloading, and resumable uploads with tus and S3. I've also created various extensions and storage implementations, you can find them in the shrinerb GitHub organization.

I've also been contributing memory optimizations to many projects, including http.rb, async, mimemagic, aws-sdk-s3, symmetric-encryption, and mongo.

Sponsorship

I would like to continue maintaining Shrine and its ecosystem, as I believe it provides significant value for building file uploads. However, I don't have the luxury of being paid for my open source work, so any kind of support I can get will help ensure a healthy continuous maintenance 💚

If the existing tiers don't suit your needs, feel free to email me at janko@hey.com.

Current sponsors 17

@KjellMorgenstern
Private Sponsor
@zealot128
@levups
@dush
@thomasklemm
@luccastera
@mislav
@scryfall
@maxence33
@sorentwo
@1AL
@FestaLab
Private Sponsor
@prowlycom
@scoutapm-sponsorships
@marcelolx

Past sponsors 13

@shime
@holamendi
@tak1n
@wout
@mfilej
@vfonic
@andyroberts
@monorkin
@Morozzzko
@fp-ci
@ollym
@fingerprint
@github

Featured work

  1. shrinerb/shrine

    File Attachment toolkit for Ruby applications

    Ruby 3,014
  2. janko/image_processing

    High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick

    Ruby 732
  3. janko/down

    Streaming downloads using net/http, http.rb or wget

    Ruby 900
  4. janko/tus-ruby-server

    Ruby server for tus resumable upload protocol

    Ruby 193
  5. janko/rodauth-rails

    Rails integration for Rodauth authentication framework

    Ruby 361
  6. janko/sequel-activerecord_connection

    Allows Sequel to reuse Active Record's database connection

    Ruby 111

Select a tier

$ a month

Choose a custom amount.

$5 a month

Select

💜 You will get a Sponsor badge on your profile and my gratitude 😃

$10 a month

Select

💙 All of the above your name will be added the the Sponsors section on the Shrine website (for individuals)

$25 a month

Select

💚 All of the above you'll get up to 1 hour of video chat support each month (for individuals)

$50 a month

Select

🥉 All of the above your company name will be added to the Sponsors section on the Shrine website (for companies)

$100 a month

Select

🥈 All of the above your company will get up to 2 hours of video chat support each month (for companies)

$250 a month

Select

🥇 All of the above your company will get my support time whenever a Shrine-related issue comes up (for companies)