Kyle Prifogle 2190 Seasons North Drive, Indianapolis, IN 46280 github: kyprifog
PROFILE Polymath, senior software engineer, and technology team leader with an entrepreneurial spirit seeking to contribute to a fast paced and exciting startup environment. Multi-talented expertise across the entire web development stack with focuses on both front and back end Ruby on Rails development, RESTful API design, API integration, web security, scalable application design, big data analysis, data mining, scalable online marketing, cloud computing, collective intelligence, and algorithm design. Solely dedicated to making things work and answering the hard questions.
FEATURED SKILLS Languages
Ruby, Javascript , Python, C++, Java, Elixir
Development Frameworks
Rails, node.js, angular.js, React, Phoenix, jekyll
Analytics & Big Data
Hadoop, Hive, Presto, Collective intelligence theory, reommendation systems, algorithm design, Hadoop, Hive, R, data-mining, map reduce
Database Technologies
MySQL, PostgresSQL, Redshift, Redis, MongoDB, OrientDB, InnoDB
Web Services
RESTful API design, Graphql, HTTP, CURL, SSL, SSO, Oauth 2.0, SAML
Devops
AWS (S3, cloudfront, EC2, Elastic Load balancer, RDS, Redshift, Route 53), Fastly, chef, hotdog, SSH, Varnish, IDCF
API integrations
Google Apps, Heroku, Intercom, Youtube, Bancbox, Docusign, Stripe, Sendgrid, Dropbox, Github, many more...
CRM & Customer Feedback
Aha, Uservoice, Salesforce, Google analytics, aha, uservoice, salesforce
BI Tools and Data Visualization
Looker, D3, Highcharts, Yellowfin, google maps, mapbox, R
Other Backend Technologies
GIT, AWS IAM Permissions, XML, XHTML, JSON Schema and API schema validation, committee, prmd, worker processing (sidekiq), image processing (ImageMagick), state machines, unix server, Error Monitoring, nginx. Heroku, autoscaling. TDD including rspec, autotest, and rspec mocks, serialization strategies including Jbuilder and active model serializers
Security and Authorization
2FA, Oauth 2.0, SSO, Devise, Omniauth, SAML
Monitoring and CI
Airbrake, Honeybadger, Sentry (Raven), Circle CI, Datadog, New Relic, Codeship, chef, knife, hotdog, docker
Marketing / Conversion Monitoring mouseflow, google analytics, chartbeat Code Quality Maintenance
Templating and Emails
rubocop, reek, pig, bullet, various js and css linters Liquid, Handlebars, Mandrill, Mailchimp, Bronto, Exacttarget, Sendgrid
Frontend Web Development
Node.js, npm, React, Angular, HTML,CSS, haml, coffeescript, javascript, webpack, jQuery, twitter bootstrap, responsive design, wireframing, user experience design, Invision, Moqups, XD, Sketch
Executive and Management
Technology Team Management (JIRA Kanban, basecamp, lighthouse, github), web application design and architecture, Securities Laws, Startup companies and the lean startup model, mathematical finance, e-commerce, deployment process flows and strategies, product development life cycles
WORK EXPERIENCE Senior Software Engineer
July 2015 - November 2016
Treasure Data, Mountain View, California Treasure Data is the world’s premier hosted big data analysis software as a service platform. Based out of Tokyo, Japan and Mountain View California Treasure Data is a small but global company making waves in the world of big data by embracing compelling open source technologies and close community partnerships and integrations. At the center of Treasure Data’s infrastructure is the REST API which sits as an intermediary between monolithic Java backend processes and a front end javascript application, which is where I spent my time impacting major components of how the system behaved. Major Projects Static Application Hosting I planned and executed effort to split the front end application (built in Node and React) from the API (built in Rails) allowing flexible and separate deployment life cycles for the teams. This involved reproxying (via nginx) requests to the front end application a compiled version of the front end application stored on S3 and distributed by Fastly from the API using CORS and standardized sessions. As part of this I lead an effort to establish functional and end to end testing between the new interface by using fixture generation based upon JSON schema representations of the API. This allowed Treasure Data to stop using Heroku for certain parts of its API hosting and paved way for dynamic and variable front end application mounting of various kinds to the API, including the fluentd monitoring application and front end application for the workflow engine digdag. Api Pagination and Filtering I built a generalized pagination and filtering mechanism for the API against very large datasets and tables using rails and arel queries. This included several database optimizations, modification of indexes using online schema migrations. Administrative Framework I deprecated an impersonation feature which presented the possibility of security exploits by building a secure portal for support engineers to access the backend components of the api at a database level using Active Admin. This involved implementing added security features such as Devise Security Extensions and custom omniauth strategies which implement 2-factor authentication. Feature Flags and Guarded Deployments Treasure Data had need of deploying certain features in a guarded fashion in order to test marketing of new features and to provide incident mitigation against certain risky operations. To accommodate this I developed a generalized feature flag system that allowed new components to be wrapped in features which could be activated and deactivated for certain audiences, or system wide. Plans were to eventually build this into the handling of API versioning and deployment.
API Engineer
May 2015 - July 2015
Lessonly, Indianapolis, IN Lessonly is a workplace education software platform. Working as the main architect for the Lesson.ly api I interfaced with Client Success and engineering to determine an appropriate scope and then developed the Lesson.ly REST API from the bottom up using Grape a Rack middleware microframework and various techniques to facilitate the appropriate binding of the front end web application and the backend api development. I built the Lessonly rest API over a period of about a month and a half during my weekends. You can see the API documentation at http://docs.lesson.ly/. Some key components of this work included: ● Use of Grape rack middleware ● Development of a unique system of service objects to create a clean and transparent sharing of functionality between the front end application and the api ● Implemented input parameter validation, unique serialization schemas, pagination, and rate limiting ● Received extremely positive feedback about the maintainability and ease of use of the API and its design.
Lead Software Engineer
June 2013 - June 2015
Localstake, Indianapolis, IN Localstake is an online investment platform focused on connecting a network of local companies to investors that are passionate about local business. With the help of a small engineering team which I managed, the Localstake software platform has been able to raise over 4.6 million dollars for businesses around the United States. I oversaw and implemented technology platform from the architecture and design of stages all the way to the front end user experience and even in managing the marketing and conversion rates of users. The Localstake platform has been a success largely my personal dedication to building generalized software that can satisfy fluid business requirements, by following a lean development model, and by utilizing a solid test driven development process. Major Projects: Compliance Engine The compliance engine is a highly generalized customizable configuration for the Localstake platform which allows administrative users to specify a legal framework for an offering on the platform and then allow the framework to specify the manner which the offering is displayed and interacts with investors on the platform as to comply with securities laws and regulations. Messaging System Localstake has a custom built one to one messaging system which integrates with Sendgrid's inbound parse API to allow replies to emails to create message objects in the Localstake platform. This allows Localstake to then perform analytics and automated actions based upon the messages sent between potential investors and businesses. Payment Processing Systems and Transactions In the highly tumultuous and cutting edge landscape of payment processors which support crowdfunding laws Localstake had need of a payment processing system and way to manage transactions on the platform which did not heavily depend upon the particular API which was being leveraged for those transactions. In response to this I built a transactional system which is agnostic to the processor that is being used and allows for the easy replacement of payment processors if needed.
Automated Email Feedback System While some third party vendors offer similar services Localstake had need of a custom email engagement system which tracks the invitation of potential investors to a particular offering. This system, which utilized the sendgrid response api, allowed Localstake administrators to build custom email templates which would then move investors along different stages of the conversion process automatically via configuration
Software Developer/Data Analyst
Fall 2011 - June 2013
iGoDigital, Castleton, Indiana ● ● ● ● ● ● ●
● ● ●
Worked on the Customer Intelligence Engine which provides context and attribute based recommendations for large retail clients. Provided general knowledge in collective intelligence algorithms and their impact on online marketing. Developed genetic revenue based monitoring for the selection of internal recommendation algorithms which in turn increased total direct revenue and reduced the amount of manual monitoring of the system. As lead support developer integrated business and technical processes which in turn cut response time in half. Managed and maintained automated tasks on Amazon EC2 Performed custom large data analysis using SQL based relational database management language Hive and Hadoop database warehouse systems. Worked daily with extremely large data sets and challenging data mining tasks such as diagnosing and finding difficult errors to using analysis to develop and assess the effectiveness of recommendation algorithms. Worked closely on a daily basis with client success and business teams to satisfy customized client demands in a timely manner with cutting edge techniques. Completed as many as 70 support tickets in a single week. Helped to develop and maintain custom features to the data collection API as to meet specific client needs.
Associate Researcher
Summer 2011
Biocomplexity Institute, Indiana University, Bloomington, Indiana ● ● ● ● ● ●
Used Python and XML based programming platforms in CompuCell 3D to create original research and simulations. Modified C++ source code to meet specific simulation designs. Lead in developing unique research on cell flocking behavior and its effects on tumorigenesis. Worked to modify flocking models to produce agent based theories of asset pricing in finance. Participated in weekly research seminars on Biocomplexity and complex systems. Worked with committees on writing grants for further research funding.
INTERNSHIP Associate Researcher
Summer 2007
Wabash Summer Institute in Algebra,Wabash College, Crawfordsville, Indiana ● ● ●
●
Worked closely with collaborators from all over the country in designing and completing professional research projects. Research utilized a variety of programs and languages including C++, MACE4, and PROVER9. Presented research at the Illiana undergraduate conference in mathematics as well as the joint mathematics meetings in San Diego, for which it was awarded a prize at the 2008 AMS-MAA Joint Meetings in San Diego. Wrote paper A Detailed Investigation into the Structure of Digroups on our findings.
EDUCATION M. A. Mathematics, GPA 3.6/4.0 May 2011 Indiana University, Bloomington, IN Research Project Conducted original research on the flocking behavior of biological and behavioral systems. Used network analysis to provide new measures of collective motion. Produced simulations and gave a talk on results which resulted in receiving an A+ in mathematical biology. Working to publish resulting paper Towards a more generalized theory of flocking behavior and its application to tumorigenesis. Also studied alternative models to option pricing and applied probability theory. B. A. Mathematics, Phi Beta Kappa, Magna Cum Laude, GPA 3.8 / 4.0 May 2009 Wabash College, Crawfordsville, IN Minors: Physics, Music Research Project Conducted research in Black-Scholes option pricing model, which was presented in the spring of '08 at the Wabash College Celebration of Student Research. HONORS AND INVOLVEMENT Recipient of the distinguished Mackintosh Fellowship for further education and outstanding academic achievement-'09 J. Crawford Polley Mathematical Writing Prize- '08 Phi Beta Kappa Prize for original and creative achievement in Junior piano recital - '08 President: Wamidan World Music Ensemble. Conducted field research in Uganda during the Summer of 2008 to provide better instruction in performance for future members and study the mathematical/linguistic structure of folk music. Secretary: Society of Physics students, gave presentations on Quantum Computing and presented poster The Circular Motion of an Electron Beam in Real Helmholtz Coils, at the Wabash College Celebration of Student Research Member: Verge Indianapolis, a group dedicated Indianapolis technology startup companies Member: Tau Kappa Epsilon fraternity, served on documents committee. Eagle Scout: Boy Scouts of America