Scroll To View More
Vadim Dagman, iOS Developer in San Francisco, CA, United States
Vadim Dagman

iOS Developer in San Francisco, CA, United States

Member since July 5, 2013
Vadim is a seasoned freelance software developer, architect, technical manager, and entrepreneur with over 25 years of professional experience. He has built many complex world-class software products from start to finish, spanning numerous platforms. He has worked both individually and as a group leader.
Vadim is now available for hire

Portfolio

Experience

  • Video Streaming, 15 years
  • Objective-C, 7 years
  • iOS, 7 years
  • Core Animation, 7 years
  • Swift 4, 3 years
  • Computer Vision, 3 years
  • RxSwift 4, 2 years
San Francisco, CA, United States

Availability

Part-time

Preferred Environment

iOS, Linux, HTML

The most amazing...

...app I've built was my first iOS game, Slingshot Cowboy, which reached the #1 spot on the App Store and was downloaded over 15 million times.

Employment

  • Software Developer/Technical Lead

    2011 - PRESENT
    Freelance Software Developer
    • Developed and delivered dozens of apps to the iOS and Android stores, including games and personal banking, video streaming/sharing, healthcare, election registration, and messaging apps as well as a variety of other kinds of apps.
    Technologies: Objective-C, Swift, C, C++, iOS, Mac OS, Android, UIKit, Core Graphics, Core Data, Core Animation, Networking, Game Center, iAd, Cocos2D, Box2D, Stackmob, Flurry, Ad SDKs
  • Founder and CEO

    2009 - PRESENT
    Digital Prunes, Inc.
    • Developed and produced nine original games for iOS devices, including the #1 Free Game on the App Store, Slingshot Cowboy.
    • Put together and managed a distributed off-shore team of developers.
    • Extensively used analytics, such as Flurry, to collect and analyze user behavior data.
    • Managed the entire process from concept through project planning, graphic design, marketing, and launch, and finally post-launch ongoing development and marketing.
    Technologies: Objective-C, Java, PHP
  • CTO on Contract, Co-Founder

    2010 - 2015
    Fredio, Inc.
    • Put together an offshore development team to create a Smart TV App and a distributed cloud system to crawl, index, and deliver premium video content from various web sites to a Smart TV.
    • Made the app available on the LG Smart TV Appstore.
    • Developed REST API for third-party integration that provides metadata about video clips in JSON format.
    Technologies: HTML, JavaScript, PHP, CSS, ActionScript, C, C#
  • Co-founder and CTO

    2004 - 2009
    Monsoon Multimedia, Inc.
    • Conceived, designed, architected, and managed the development and market delivery of an innovative video streaming consumer device and client viewing applications for Windows PC, the Microsoft Media Center machine, and mobile phones.
    • Put together and managed distributed engineering teams working from the US, Russia, and India.
    Technologies: C, C++, C#, Embedded Linux, DSP, video compression and streaming, mobile, Windows, Mac
  • VP Software Engineering

    2001 - 2004
    Emuzed, Inc. (sold to Flextronix)
    • Architected, managed development, and delivered to the market multiple video capture products on the Emuzed product line. Products were shipped by major PC and retail OEMs such as HP, Dell, Gateway, Samsung, Pinnacle, and others.
    • Initiated, forged, and championed a relationship with Microsoft. These efforts helped Emuzed be selected by Microsoft as its preferred hardware supplier of TV tuner devices for Windows XP Media Center Edition (MCE) systems.
    • Put together and managed a 20+ person team of software engineers, QA engineers, and contractors distributed between the US and India.
    Technologies: C, C++, Windows, Microsoft Media Center
  • Principal SW Architect/Director of SW Engineering

    1997 - 2001
    Dazzle Multimedia (sold to Pinnacle Systems)
    • Worked as one of the first employees of Dazzle.
    • Built and managed the Software and QA team (>10 people).
    • Architected, developed, and managed the development of all Dazzle software products, including everything from drivers to applications.
    Technologies: C, C++, Windows, embedded firmware
  • Senior Software Engineer

    1996 - 1997
    MediaShower, Inc.
    • Developed a set of Direct Show filters and ActiveX components that plug into the DVD playback graph and overlay graphic elements over video frames in real-time.
    Technologies: C++, Direct Show (Microsoft multimedia framework for Windows)
  • Staff Engineer

    1996 - 1996
    C-Cube Microsystems (sold to LSI Logic)
    • Developed drivers for hardware assisted video and DVD playback on the PC.
    Technologies: C, C++, MCI framework
  • Senior Software Engineer/Director of Software

    1993 - 1996
    Ring Zero Systems
    • Created HW Decoder boards as well as drivers for video capture.
    • Built serial port virtualization drivers for Windows 95.
    Technologies: C,C++, VxD drivers
  • Software Engineer

    1993 - 1993
    Linus Pauling Institute
    • Developed a software toolkit for DNA sequence matching and analysis.
    Technologies: C, C++, Sparc Stations
  • Software Engineer

    1989 - 1993
    Server, Ltd.
    • Created a task switching resident program providing a pseudo-multitasking environment in MS-DOS.
    Technologies: C, C++, MASM Assembler
  • Software Engineer

    1986 - 1989
    Computer Systems Institute
    • Wrote an assembly-level implementation of proprietary networking protocols for IBM PC.
    Technologies: MASM Assembly, C

Experience

  • Medical Device Control App (Development)

    iOS app that communicates with a medical device over Bluetooth. The device is worn by the user as therapy and the app collects sensor data continuously and sends it up to the cloud for analysis.

  • Interact with Computer Screen via Hand Gestures (Development)

    A macOS app that uses computer vision to analyze video coming from a 3D camera (attached to user's head) and detect motion and gestures of the hand positioned in front of the screen. Enables the user to interact with the screen using their hand emulating a touchscreen. Used machine learning models for gesture recognition and OpenCV for motion tracking.

  • Vimnvest (Development)
    https://www.vimvest.com

    Personal finance app with a very sleek UI. Developed the most essential components for the app to support complex user interactions and fluid animations and transitions. Helped prepare and file, and was listed as co-inventor on the patent application for Vimvest's unique approach to personal financing.

  • Unwrapping Video from 180 and 360 Cameras (Development)

    A MacOS/iOS app combo that allows the user to navigate through a 180/360-degree video rendered on Mac by rotating an iPhone connected to Mac computer wirelessly, imitating rotation of the user's head. The video coming from the 180- or 360-degree camera is rendered on a curved 3D surface using SceneKit so that it looks as if you are looking around with your head in a real world.

  • Primer - Virtual Wall Painting App (Development)

    An iOS app that enables the user to virtually "paint" a wall in their house by viewing through the iPhone camera how the wall would look like if it's painted with a chosen color. Uses ARKit to detect walls in the video feed coming from the camera and attach a virtual color swatch over the real wall taking into account lighting and other factors to make it look realistic. Used metal shaders for high performance rendering while performing complex calculations on every pixel to make the colors "mix" properly.

  • Snakt (Development)
    https://itunes.apple.com/us/app/snakt/id712367655?ls=1&mt=8

    Snakt is like video legos: Every video you see can be re-utilized in your own posts. Including the millions of GIFs, Vines, and posts by your favorite creators and stars. Developed by me from scratch, the app offers a wide variety of sleek animations and gesture controls. Takes full advantage of AVFoundation for efficient and elaborate video editing right on the device.

  • PollPad - Voter Registration System for Polling Places (Development)

    An iPad app that helps poll workers keep track of registered voters. Involves processing of a massive amount of records, peer-to-peer synchronization between multiple iPads within the polling place, continuous synchronization with the back-end, scanning of licenses, printing of receipts on a portable printer, and many other futures. Fully customizable for any county, including the look and feel and accommodating different voting/registration rules. The app has been widely deployed all over the US and has processed millions of voter records to date.

  • Kasper - Event Management and Messaging App for University Campuses (Development)

    Kasper connects students of the same university to help them plan events, exchange information about their area of interest, and trade learning courses, complete with real-time chat and messaging.

  • HealthWatch 360 (Development)
    https://itunes.apple.com/us/app/healthwatch-360/id791944229?mt=8

    Built from scratch for one of Toptal's clients. Helps people track their health choices and watch their calorie intake.

  • Deep Seep (Development)

    This is an underwater adventure game.

  • Slingshot Cowboy (Development)
    https://itunes.apple.com/us/app/slingshot-cowboy/id320287280?mt=8

    This casual cow tipping game has become the #1 free game on the App Store, with over 15 million downloads.

  • US Patents (Other amazing things)

    I hold seven US patents.

    US 6,297,800: Performing color adjustments on image data.
    US 8,218,941: Method and system to transfer video from a video source to optical media.
    US 8,220,027: Method and system to convert conventional storage to an audio/video server.
    US 7,934,239 & 8,464,298: Method and system to daisy-chain access to video resources.
    US 8,386,316: Method and system to grant remote access to video resources
    US 8,376,853: Hand held self-orientating targeting game.

  • RxSwift and Animations in iOS (Publication)
    iOS developers love the power of UIKit, and animating a UIView is usually fairly easy. However, if you want to chain animations together and set up dependencies between them, your code can quickly become difficult to read with many nested closures and indentation levels. In this article, I’ll explore how to apply the power of a reactive framework such as RxSwift to make that code look much cleaner as well as easier to read and follow. My client wanted a story told through a sequence of animations rather than by playing a pre-rendered video, and with RxSwift, we easily tweaked it to perfection.

Skills

  • Languages

    C, Swift 4, Objective-C, C++, Assembler x86, C#, JavaScript
  • Frameworks

    AFNetworking, Cocos2d, iOS SceneKit, ARKit, Box2D, Core Data, React Native
  • Libraries/APIs

    Core Animation, RxSwift 4, Facebook API, Core Graphics, React Native for Web
  • Paradigms

    Functional Reactive Programming, Parallel & Distributed Computing
  • Platforms

    iOS, Linux
  • Storage

    JSON, Realm
  • Other

    Video Streaming, Video Compression, UI Kit, Video Editing, Augmented Reality (AR), Video Games, Mobile App Developer, Crypto, Image Processing, Computer Vision
  • Tools

    Adobe Photoshop, Flutter SDK

Education

  • M.S.C.S. degree in Computer Science
    1986 - 1989
    Novosibirsk University of Electrical Engineering - Novosibirsk, Russia
I really like this profile
Share it with others