-
Notifications
You must be signed in to change notification settings - Fork 0
/
scratchpad
232 lines (105 loc) · 8.36 KB
/
scratchpad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
As the parent company of Venmo, PayPal wanted the ability for Venmo users to complete checkout transactions using their Venmo account as a funding source.
For this to occur, the user must be able to authorize the transaction in their Venmo app. We do this by generating an app-specific url which will launch the Venmo app on the user's device in a way that allows it to interact with a Firebase backend which manages the state & relationship between the particular PayPal Checkout SDK being used and the app, regarding the transaction that is currently in the process of being authorized.
In the event that the checkout process is occurring in an environment where the Venmo app isn't available (such as on desktop), we generate a QR Code which is readable by the Venmo app and launches the authorization flow for that transaction.
Finally, all of this built out functionality needed to be <a href="https://github.com/paypal/paypal-checkout-components/pull/1632">integrated</a> into the broader <a href="https://github.com/paypal/paypal-checkout-components">PayPal Checkout Web SDK</a>, enabling it to be run in a cross-domain manner.
I served as the primary developer and point of contact for the Checkout Integrations team, building out the web implementation portions of the solution.
Checkout Integrations
enabling users to generate a QR Code that allows them to complete the checkout process via their mobile device
our "Pay w/ Venmo"
---
When the checkout process is occurring on a device that has the Venmo app installed, this process of launching & completing the authorization flow is relatively straightforward, but when the checkout process is taking place on in an environment where this
In the event that the checkout process is occurring in an environment where the Venmo app isn't present,
on a device that doesn't have
When
When the
is relative straightforward
This is relatively straightforward if the checkout process is occurring a mobile device,
creates a
built using Firebase infrastructure to manage the state between the Web SDK and the Venmo mobile app.
-
firebase
If the checkout is occurring on a mobile device
occurring a mobile device, as we just launch the user's Venmo app using an <a href="https://css-tricks.com/create-url-scheme/" rel="noreferrer">app-specific url</a>
This is relatively straightforward if the checkout process is occurring a mobile device, as we just launch the user's Venmo app using an <a href="https://css-tricks.com/create-url-scheme/" rel="noreferrer">app-specific url</a>
On mobile devices, this is accomplished by launching the Venmo app and prompting the user confirm the transaction details.
Venmo doesn't have the infrastructure to allow users to log into their account via web a web login, that would allow them to authorize their
On mobile devices, this is accomplished by launching the Venmo app and prompting the user confirm the transaction details.
When this
We needed a way to allow the Venmo app to be looped into the transaction flow,
the Venmo app still needed to be
For non-mobile environments, we needed to create a solution t
wanted to create a way
With
Allow Venmo users to use their authorize and complete PayPal transactions
Allow users to complete PayPal transactions using their Venmo account.
Allow Venmo users to complete PayPal transactions on the web using their Venmo account on the mobile app
- Primary point of contact on the web checkout team
- built using Firebase infrastructure to manage the state between the Web SDK and the Venmo mobile app.
-
integrated
- generate QR Code
Finally, all of this built out functionality needed to be <a href="https://github.com/paypal/paypal-checkout-components/pull/1632">integrated</a> into the broader <a href="https://github.com/paypal/paypal-checkout-components">PayPal Checkout Web SDK</a>, enabling it to be run in a cross-domain manner.
zoid
that was built out into the , enabled it be run in a cross-domain manner.
- Primary developer and point of contact for our "Pay w/ Venmo" desktop solution, enabling users to generate a QR Code that allows them to complete the checkout process via their mobile device
Primary point of contact on the web checkout team
-----
PayPal Open Source
Updated and maintained the <a href="http://paypal.github.io/">landing page/project catalog</a> for the various open source projects found within PayPal's public GitHub organization. Most notably, I built and curated a <a href="https://paypal.github.io/sdk">section</a> dedicated to the various SDKs that PayPal makes publicly available for merchants and other external organizations to integrate within their projects.
organized
-------
=====
-------
spreadsheets, documentation platforms, workflow,
clipboard managers, Workflowy, Google Sheets, Wunderlist☹️
Onion, inc. | G/O Media
- part of the team that works on Kinja, the CMS that powers some of the internet's favorite sites like Gizmodo, Lifehacker, Kotaku, and The Onion; reaching 85-100 million active users a month.
- Helped migrate and rewrite the our core platform from a Scala w/ Closure templates back-end & Backbone w/ Marionette front-end to
Isomorphic JavaScript (Express & React)
-
Scala w/ Closure Templates server / Backbone w/ Marionette on the client
Jest + Enzyme
Most recent work has used:
Recently I've been working with:
React, Flow, Sass/Less, Jest + Enzyme, Grunt/Babel/PostCSS, Express.js, AWS Lambda, Node.js, & Git.
I've previously work with:
PHP (Laravel/CraftCMS/WordPress), Ruby, Scala, Backbone.js + Marionette, Vue.js, AngularJS (1.x), Closure Templates, Underscore.js/Lodash, jQuery, GSAP, Karma + Jasmine, Gulp, Mercurial, SVN, Apache, NGINX, and of course "Vanilla" HTML/CSS/JavaScript.
all of Adobe Creative Suite
Ruby
Experienced & fully competent w/ a broad swath of multimedia production tools including
The entire Adobe Creative Suite, Audacity, InVision
---
https://open.spotify.com/playlist/776u0NxMAoxbB6slzUIofh
https://open.spotify.com/playlist/776u0NxMAoxbB6slzUIofh
https://open.spotify.com/embed/playlist/776u0NxMAoxbB6slzUIofh
---
<!--
<div>
<div class="visual">
<a href='http://www.marriotttheatre.com/' target='_blank' rel="noopener noreferrer">
<img src="/images/marriott-theater.png" />
</a>
</div>
<div class="writeup">
<h3>The Marriott Theater in Lincolnshire</h3>
<p>
The Marriot Theatre needed a solution which allowed them to connect various different collections of information in a way that was coherent and usable for site users. I was responsible for architecting and implementing the solution from start to finish, using <a href='http://businesscatalyst.com/' target='_blank'>Adobe Business Catalyst's</a> custom web app framework.<br>
Working around the various quirks and limitations of the platform, I was able to build a system which brought the necessary data to the page in a structured manner which enabled the appropriate views to be built on the client side. The site is currently live at <a href='http://www.marriotttheatre.com/' target='_blank' rel="noopener noreferrer">www.marriotttheatre.com</a>.
</p>
</div>
</div>
-->
// https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2
<!-- <img src="/images/kinja/featured-post-template_overview.png" /> -->
<!--
I've worked on
As part of the team working on the software that powers some of the internet's favorite sites like:
Gizmodo, Lifehacker, Kotaku, Jalopnik, The Root, Jezebel, Deadspin(RIP), and The Onion
I've been responsible for developing a variety of features
This is some information about the work I've done on <a href="https://en.wikipedia.org/wiki/Kinja" rel="noreferrer">Kinja</a>, specifically the "Featured Posts" template.
One area I've made some intriguing contributions to has been on the "Featured Post" template, which is used by our editorial staff to distinguish certain articles
One area I've been able to made some interesting contributions to has been on the "Featured Post" template,
(primarily long-form or investigative content) from the regular posts that appear on the sites.
distinguish
(primarily long-form)
-->