👋🏻👨🏼‍💻‍🎬

I'm a software developer with 15+ years experience in the Media and Entertainment Industry


Before diving into code, I was a Video Director and wore many hats in post-production. Now, I help shape the future of media conversions in the cloud with Cinnafilm's PixelStrings Platform.

When I'm not coding, I'm creating with LineDream, my generative art library for Python, or developing Asset Veranda, a media asset management tool.

Curious about my past life as a video director? Check out my portfolio here.


About Me

My name is Marc Leonard. I am a creative professional and software engineer with a unique background that bridges the media and entertainment industry with software development.

In 2010, I graduated from DeSales University in Center Valley, PA, with a major in Television/Film and a minor in Business. Early in my career, I spent two years as the lead editor of special programming for Reelz Channel. Following that, I freelanced for various online media outlets and brands such as Reddit, Pop Sci, and The Verge. I also worked as a colorist for feature films, short-form content, and dailies.

My career took a turn towards the Outdoor Industry, where I started The Crux Collective, a short-lived outdoor news aggregator, and founded Rove Media, a one-man media consultancy. Through Rove Media, I created videos and materials for brands like L.L.Bean, Outside Online, Patrol USA, and GoPro.

Since 2017, I have been working as a Senior Software Developer at Cinnafilm, contributing to the development of PixelStrings, a cloud-based video processing platform. My role involves designing and developing the API and backend, orchestrating cloud infrastructure, and maintaining a horizontally scalable video transcoding system. I leverage my proficiency in Python, JavaScript, TypeScript, and HTML/CSS, along with frameworks like Flask, Django, and FastAPI, to build robust and maintainable applications.

In addition to my professional work, I am the creator of LineDream, a Python generative art library designed for SVG outputs and originally intended for pen plotter art. I am also developing a media asset management software called Asset Veranda.

I am currently enjoying the fruits of living in Bozeman, Montana where I enjoy skiing, mountain biking, and hiking.

Experience
  • 2017 - Present

    Cinnafilm Inc.

    Core backend developer for PixelStrings. PixelStrings is a cloud video conversion platform for studios, broadcasters, independent creators, and post-production facilities
  • 2020 - Present

    LineDream

    Creator and maintainer of LineDream - a generative art library for Python.
  • 2012 - 2019

    Video Director & Post Production Specialist

    For 7 years I worked as a freelancer for many companies and productions. For a comprehensive overview of my work, please visit this link.
  • 2012 - 2014

    Instructor

    Adobe Premiere and Adobe After Effects instructor for the University of New Mexico Continuing Education program.
  • 2011 - 2013

    Reelz Channel

    Lead Editor of special programming
  • 2006 - 2010

    DeSales University

    Major - Television/Film
    Minor - Business
Professional Skills
  • Python
  • Vast knowledge of Media and Entertainment production and post-production
Latest News
  • Test blog 🦦

    Blogs are really great.

    This is a test of the styling

    You may use common markdown highlighting like Italic, bold, and monospace. Itemized lists look like:

    • this one
    • that one
    • the other one

    Pictures

    Here is a picture:

    Other great things about MD

    MD supports these great features:

    1. Wiki pages are stored in .md files
    2. All pages are backed by git
    3. Use the wiki in either Annoymous Mode or Authenticated
    4. Markdown web editor has syntax highlighting

    Note again how the actual text starts at 4 columns in (4 characters from the left side). Here's a code sample:

    # Let me re-iterate ...
    for i in 1 .. 10 { do-something(i) }
    

    As you probably guessed, indented 4 spaces. By the way, instead of indenting the block, you can use delimited blocks, if you like:

    define foobar() {
        print "Welcome to flavor country!";
    }
    

    this is one line code

    (which makes copying & pasting easier). You can optionally mark the delimited block for Pandoc to syntax highlight it:

    import time
    # Quick, count to ten!
    for i in range(10):
        # (but not *too* quick)
        time.sleep(0.5)
        print(i)
    

    Here's a link to a website, to a local doc, and to a section heading in the current doc. Here's a footnote 1.

    A horizontal rule follows.


    Again, text is indented 4 spaces. (Put a blank line between each term and its definition to spread things out more.)

    Here's a "line block" (note how whitespace is honored):

    | Line one | Line too | Line tree

    and images can be specified like so:

    example image

    And note that you can backslash-escape any punctuation characters which you wish to be displayed literally, ex.: `foo`, *bar*, etc.


    1. Some footnote text. 

  • Django is Awesome. That is all.

  • For posterity, here are the things I read, listened to, and used this past year.

    Books

    • The Priory Of The Orange Tree
    • Never Let Me Go

    Podcasts

    • Software Defined Talk
    • Python Bytes
    • Talk Python To Me
    • Merge Conflict

    Gadgets

    • Drawing Tablet

    Other

    • Woodworking