Building a Free-Draw interface in React with React Konva

I recently built a React app that features canvas. For any reader who is not familiar, a “canvas” is a type of HTML element that is extremely useful for rendering graphics and animations. Its corresponding API makes it possible for users to create a wide variety of images, and there are many existing libraries out there that simplify and build features on top of the core API.

In this tutorial, I will be focusing on one particular library, React-Konva, which is part of the larger Konva Framework.

React-Konva allows you to…


Why should you use it?

Since I took up javascript, I’ve seen a lot of content put out by developers that argue for or against the use of certain programming paradigms over others. When coming across all this jargon-laden stuff, in my naivety I was asking

“What is the point really? The code you write is a solution to a problem and it shouldn’t matter how you get there.”

Before learning about other styles, I really only practiced imperative programming. Imperative programming feels like a more thorough style of programming that, while great for beginners who are getting a feel…


F3_01: CORS

In the not so recent past, I thought it would be cool to try to spin up a SPA with no backend that could do a couple of simple things.

  1. Play a song in mp3 format from a local folder
  2. Make GET requests to a CDN that hosts song files, find a song url, and then embed the song’s source url in an audio tag for playback on the SPA

Pretty Simple right?

Well part one isn’t so difficult, but part two is where you begin to see something interesting. …


F2_01: Learning to be a Problem Solver

I’ve often heard that in order to be a good programmer, you also need to be good at math. There are certainly a lot of similarities. Applied mathematics relies on formal and logical systems in order for mathematicians to devise and solve problems in the form of equations, much like a computer programmer relies on the set of internal rules governing syntax, data types and object relationships,(among many other possible things) that is necessary when writing code. In my brief experience in code, Im glad I didn’t let my very limited background in…


The C-Files: F1_01: Associations and Active Record (INAUGURAL POST!!!)

As a coding novice, I have become familiar with creating unique classes that have associations with one another. Classes will often times have unique behavior, that, depending on the aims of the programmer, will require one to write specific methods, or inherit them (but more on that later).

Take for instance a (not for an application) domain that includes three models; an Artist, Song, and Genre.

If you were going to be programming methods for either of these classes, you would need to know whether or not a relationship exists between…

Sean Donohue

Aspiring web developer…who knows a lot about wine

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