-
Notifications
You must be signed in to change notification settings - Fork 0
/
2021-schedule.json
1526 lines (1526 loc) · 81.1 KB
/
2021-schedule.json
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
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"data": {
"conference": {
"schedules": [
{
"day": "2021-08-30",
"description": "Monday",
"intervals": [
{
"begin": "16:00",
"end": "18:00",
"title": "Opening",
"sessions": [
{
"type": "TALK",
"title": "Breaking out of the confines: making games in React",
"description": "To show how we can make rich, interactive experiences, for instance games, with React semantics and shareable components, and what that means for traditional constructs, like the render-loop.",
"people": [
{
"name": "Paul Henschel",
"about": "The author of react-spring, react-three-fiber, zustand, and many more libraries.",
"aboutShort": "The author of react-spring, react-three-fiber, zustand, and many more libraries.",
"image": {
"url": "https://api.react-finland.fi/media/people/paul.png"
},
"company": null,
"social": {
"twitter": "https://twitter.com/0xca0a",
"homepage": null
},
"location": {
"country": {
"name": "Great Britain"
},
"city": ""
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "The State of XState",
"description": "Over the past few years, state machines, statecharts, and the actor model have proven to be viable concepts for building complex application logic in a clear, visual way with XState. In this talk, we'll take a peek into the future of XState, including new features in the next version, and new tools and services that will make it even easier to create and collaborate on state machines.",
"people": [
{
"name": "David Khourshid",
"about": "David Khourshid is a Florida-based web developer for Microsoft, a tech author, and speaker. Also a fervent open-source contributor, he is passionate about JavaScript, CSS, animation, innovative user interfaces, and cutting-edge front-end technologies. When not behind a computer keyboard, he’s behind a piano keyboard or traveling.",
"aboutShort": "David Khourshid is a Florida-based web developer for Microsoft, a tech author, and speaker.",
"image": {
"url": "https://api.react-finland.fi/media/people/david.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/davidkpiano",
"homepage": null
},
"location": {
"country": {
"name": "United States"
},
"city": "Orlando"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "SolidJS - Reactive JSX",
"description": "An introduction to SolidJS UI Library. Explore an example to show the similarity and differences between Hook + Virtual DOM versus Reactivity + DOM.",
"people": [
{
"name": "Ryan Carniato",
"about": "JavaScript performance enthusiast and fine-grained reactivity super fan. Works on @MarkoDevTeam at eBay. Author of the @solid_js.",
"aboutShort": "JavaScript performance enthusiast and fine-grained reactivity super fan.",
"image": {
"url": "https://api.react-finland.fi/media/people/ryan.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/RyanCarniato",
"homepage": null
},
"location": {
"country": {
"name": "United States"
},
"city": "San Jose"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "JSX as the shared source of truth",
"description": "Even today, with advanced tooling and frameworks, the gap between design and development still exists. This talk will examine how we can eliminate handoff between design and development teams by using JSX as a shared source of truth across any platform.",
"people": [
{
"name": "Travis Arnold",
"about": "Designer 🎨 Engineer 📐 Systems 🎛 React ⚛️",
"aboutShort": "Designer 🎨 Engineer 📐 Systems 🎛 React ⚛️.",
"image": {
"url": "https://api.react-finland.fi/media/people/travis.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/souporserious",
"homepage": "https://souporserious.com/"
},
"location": {
"country": {
"name": "United States"
},
"city": "San Diego"
}
}
],
"urls": null
}
]
}
]
},
{
"day": "2021-08-31",
"description": "Tuesday",
"intervals": [
{
"begin": "09:00",
"end": "12:00",
"title": null,
"sessions": [
{
"type": "WORKSHOP",
"title": "Current state of SSR in React, its limitations and its future",
"description": "Server Side Rendering (SSR) can be achieved in many ways. renderToString and renderToNodeStream are the basic functionality exported by React. But how can they be integrated into the current app and where are limitations of renderToNodeStream. We will learn how code splitting in SSR with lazy works and how the experimental Suspense in React 18 would change existing 3rd-party-libraries. When there is time we dive into Next.js and Gatsby, its differences and how to achieve a simple website with one of these libraries. When there is even more time (might not be the case) we will talk about React’s server components which are yet in research.\n\nThe goal of this workshop is to understand how SSR works in React and how to improve it.",
"people": [
{
"name": "Jan Peer Stöcklmair",
"about": "Open-source contributor. JS fanatic. I love optimizing workflows.",
"aboutShort": "Open-source contributor.",
"image": {
"url": "https://api.react-finland.fi/media/people/jan.png"
},
"company": null,
"social": {
"twitter": "https://twitter.com/jpeer264",
"homepage": "https://jpeer.at/"
},
"location": {
"country": {
"name": "Austria"
},
"city": "Vienna"
}
}
],
"urls": null
}
]
},
{
"begin": "10:00",
"end": "13:00",
"title": null,
"sessions": [
{
"type": "WORKSHOP",
"title": "Powering Next.js with Drupal",
"description": "This session will cover why and how to fully decouple Drupal with Next.JS, an open source modern frontend framework that will empower frontend developers to build incredibly fast and interactive websites using React without losing key benefits that Drupal provides like content modeling and administration UI.\n \nJoin us if you want to discover the ins and outs of how Drupal and Gatsby ecosystem complement each other.\n\n**Sold out!**",
"people": [
{
"name": "David Corbacho Roman",
"about": "Señor Developer.",
"aboutShort": "Señor Developer.",
"image": {
"url": "https://api.react-finland.fi/media/people/david-c.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/dcorbacho",
"homepage": null
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
},
{
"name": "Mario Vercellotti",
"about": "Content lead at Robocorp",
"aboutShort": "Content lead at Robocorp.",
"image": {
"url": "https://api.react-finland.fi/media/people/mario.png"
},
"company": null,
"social": {
"twitter": "https://twitter.com/vermario",
"homepage": null
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
}
]
},
{
"begin": "15:00",
"end": "16:30",
"title": "Architecture",
"sessions": [
{
"type": "TALK",
"title": "Hooks are a great abstraction model",
"description": "The discussion explores the separation of concerns between logic (Model) and UI (View) and how React hooks are a great abstraction model that help achieve that.\n\nWe'll start with designing a component's API (in a top down approach), then dive deeper to explore how to implement this API, while maintaining a good separation of concerns. \n \nWe'll create custom React hooks to implement the Model and React components for the UI. Both expose self-documenting APIs and are completely decoupled from each other.\n \nTo demo this approach, we'll create a simple Toggler component (a UI component that allows going back and forth in an array of values).\n \nTowards the end, we'll explore the benefits, focusing on testing these decoupled units in isolation.",
"people": [
{
"name": "Calin Tamas",
"about": "Building mobile apps. I aim to write reliable and well-documented software.",
"aboutShort": "Building mobile apps.",
"image": {
"url": "https://api.react-finland.fi/media/people/calin.jpeg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/calintamas2",
"homepage": "https://calintamas.dev/"
},
"location": {
"country": {
"name": "Romania"
},
"city": "Cluj-Napoca"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Web Components in React",
"description": "Likely you've heard of Web Components but do you know how to use them with React? If not, then this is the demonstration for you!",
"people": [
{
"name": "Matias Huhta",
"about": "",
"aboutShort": "",
"image": {
"url": "https://api.react-finland.fi/media/people/matias.jpeg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/matsuuu_",
"homepage": "https://matsu.fi/"
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Micro Frontends in React — a State of the Art Approach",
"description": "David will explain the different possibilities to implement MicroFrontends in the past, the present, and the future. More importantly, he will leave you to know which of the available approaches is best suited for your specific task at hand.",
"people": [
{
"name": "David Leitner",
"about": "David is Coding Architect at SQUER, a Viennese Software Company, which is working with different stacks and environments, but always an overarching mission: connect ideas and provide impact — with technology. He spends much of his time on the frontlines tackling the challenges of scaling software and complex domains, with a strong focus on reactive systems, cloud-native architectures and state of the art web technologies. David enjoys sharing his knowledge as a speaker at conferences and as a lecturer for his post-diploma courses at the University of Applied Sciences Technikum Vienna.",
"aboutShort": "David is Coding Architect at SQUER, a Viennese Software Company, which is working with different stacks and environments, but always an overarching mission: connect ideas and provide impact — with technology.",
"image": {
"url": "https://api.react-finland.fi/media/people/david-l.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/duffleit",
"homepage": null
},
"location": {
"country": {
"name": "Austria"
},
"city": "Vienna"
}
}
],
"urls": null
}
]
}
]
},
{
"day": "2021-09-01",
"description": "Wednesday",
"intervals": [
{
"begin": "07:00",
"end": "09:00",
"title": "Inclusivity",
"sessions": [
{
"type": "TALK",
"title": "Reasons why we need inclusion",
"description": "",
"people": [
{
"name": "Nasim Selmani",
"about": "Diversity, Equity & Inclusion | People Operations | Inclusive Leadership | Intersectionality | Producer",
"aboutShort": "Diversity, Equity & Inclusion | People Operations | Inclusive Leadership | Intersectionality | Producer.",
"image": {
"url": "https://api.react-finland.fi/media/people/nasim.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/nasimselmani",
"homepage": "https://www.deidei.co/"
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Understanding unconscious bias",
"description": "",
"people": [
{
"name": "Kristopher Jackson",
"about": "Experienced Business Development Specialist with a demonstrated history of working in the information technology and services industry. Skilled in Sales, Customer Relationship Management (CRM), Event Management, Management, and Account Management. Strong business development professional with a Finance focused in Economics, and African American History from University of Illinois at Urbana-Champaign.",
"aboutShort": "Experienced Business Development Specialist with a demonstrated history of working in the information technology and services industry.",
"image": {
"url": "https://api.react-finland.fi/media/people/kristopher.jpg"
},
"company": null,
"social": {
"twitter": null,
"homepage": null
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Structural Racism",
"description": "How our narrow understanding of racism (visible and interpersonal level) still stands in the way of racial equity and inclusion (in tech, too) and how racial bias can be seen in tech, products etc.",
"people": [
{
"name": "Jasmin Assulin",
"about": "CEO & Co-founder at deidei | Diversity, Equity, Inclusion & Comms specialist | She/her",
"aboutShort": "CEO & Co-founder at deidei | Diversity, Equity, Inclusion & Comms specialist | She/her.",
"image": {
"url": "https://api.react-finland.fi/media/people/jasmin.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/jasminassulin",
"homepage": "https://www.deidei.co/"
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "How to avoid bias or exclusion when recruiting",
"description": "I focus on why inclusion is important in hiring and what are the inclusive hiring practices for any organization that could be taken into use. Inclusive hiring and evaluation process are the great window of opportunity that can truly support inclusion with practical actions. I offer practical tips and a way to implement small changes while working the way towards more inclusive hiring culture and strategy.",
"people": [
{
"name": "Emmi Marjetta",
"about": "Talent Acquisition & Employer Branding Manager at Hoxhunt",
"aboutShort": "Talent Acquisition & Employer Branding Manager at Hoxhunt.",
"image": {
"url": "https://api.react-finland.fi/media/people/emmi.jpg"
},
"company": null,
"social": {
"twitter": null,
"homepage": null
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
}
]
},
{
"begin": "10:00",
"end": "11:30",
"title": "Styling",
"sessions": [
{
"type": "TALK",
"title": "A thorough analysis of CSS-in-JS",
"description": "There are two mutually exclusive methods that CSS-in-JS libraries use to generate and ship styles to the browser. Both methods have benefits and downsides, so let’s analyze them in detail from the loading performance perspective.",
"people": [
{
"name": "Andrei Pfeiffer",
"about": "Eclectic Code Designer. UI Developer for web & mobile. Organizer of revo.js conference.",
"aboutShort": "Eclectic Code Designer.",
"image": {
"url": "https://api.react-finland.fi/media/people/andrei.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/pfeiffer_andrei",
"homepage": "https://andreipfeiffer.dev/"
},
"location": {
"country": {
"name": "Romania"
},
"city": "Timisoara"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Zero-runtime CSS-in-TypeScript with vanilla-extract",
"description": "Can we have themeable CSS-in-TypeScript without the runtime cost? In this talk we'll have a quick look at how this can be achieved with vanilla-extract.",
"people": [
{
"name": "Mark Dalgleish",
"about": "CSS Modules co-creator, Playroom, Braid, MelbJS. OSS / UI / design / tooling at @seek-oss",
"aboutShort": "CSS Modules co-creator, Playroom, Braid, MelbJS.",
"image": {
"url": "https://api.react-finland.fi/media/people/mark.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/markdalgleish",
"homepage": null
},
"location": {
"country": {
"name": "Australia"
},
"city": "Melbourne"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Rethinking CSS - Introducing Stylex",
"description": "CSS + superpowers - bloat. How Stylex creates a zero-cost abstraction that gives CSS superpowers.",
"people": [
{
"name": "Naman Goel",
"about": "Maintainer of Stylex, Facebook's not-yet-open-source CSS-in-JS framework. Working on Web Designs System Components at Facebook.",
"aboutShort": "Maintainer of Stylex, Facebook's not-yet-open-source CSS-in-JS framework.",
"image": {
"url": "https://api.react-finland.fi/media/people/naman.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/naman34",
"homepage": "http://blog.namangoel.com"
},
"location": {
"country": {
"name": "United States"
},
"city": "San Francisco"
}
}
],
"urls": null
}
]
},
{
"begin": "12:00",
"end": "13:30",
"title": "Content management",
"sessions": [
{
"type": "TALK",
"title": "How to View and React without a Head",
"description": "You might have heard about Headless CMS. This new type of content platform gives us some benefits compared to a Monolithic CMS.\n \nWe will talk about the key features of any Headless CMS and how we can integrate a headless platform into our React applications. We will focus on Storyblok, a headless CMS that offers a real-time Visual Editor, a great feature for developers and content creators.",
"people": [
{
"name": "Facundo Giuliani",
"about": "Developer Relations Engineer at Storyblok. Systems Engineer. Full Stack Developer.",
"aboutShort": "Developer Relations Engineer at Storyblok.",
"image": {
"url": "https://api.react-finland.fi/media/people/facundo.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/facundozurdo",
"homepage": "https://fgiuliani.com/"
},
"location": {
"country": {
"name": "Argentina"
},
"city": "Buenos Aires"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "React Bricks: a CMS with visual editing based on React components",
"description": "Headless CMSs are great for developers, but not for content creators.\n\nReact Bricks is the first CMS that is super-great for Developers (it's just React, backed by solid APIs), for Content Creators (it keeps the visual editing experience of no-code tools like Wix) and for Designers (you can express your exact design system and be sure nobody will break it). I'll show you how it works!",
"people": [
{
"name": "Matteo Frana",
"about": "Founder of @ReactBricks, the Visual editing CMS.",
"aboutShort": "Founder of @ReactBricks, the Visual editing CMS.",
"image": {
"url": "https://api.react-finland.fi/media/people/matteo.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/matfrana",
"homepage": "https://reactbricks.com/"
},
"location": {
"country": {
"name": "Italy"
},
"city": "Bergamo"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Contentful and headless",
"description": "How contentful helps you to manage all the data in a headless e-commerce website.",
"people": [
{
"name": "Nidhi Kumari",
"about": "Frontend Engineer @shoptradeco | @gsoc 2019 & 2020",
"aboutShort": "Frontend Engineer @shoptradeco | @gsoc 2019 & 2020.",
"image": {
"url": "https://api.react-finland.fi/media/people/nidhi.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/NidhiJha98",
"homepage": "https://nimbus20bportfolio.netlify.app/"
},
"location": {
"country": {
"name": "India"
},
"city": ""
}
}
],
"urls": null
}
]
},
{
"begin": "14:00",
"end": "15:30",
"title": "State machines",
"sessions": [
{
"type": "TALK",
"title": "Introducing state machines and statecharts",
"description": "State machines and statecharts can seem intimidating. Especially if you (like me!) didn’t study computer science, aren’t big into maths, or just haven’t come across state machines and statecharts before.\n\nIn this session, you’ll get a whirlwind introduction to state machines and statecharts, no prior knowledge and no coding experience required. Are you already familiar with state machines and statecharts but want to get a better understanding of the benefits and how to convince your team to get onboard? That’ll be covered too.\n \nYou could be a developer, designer, project manager, multi-disciplinarian or fancy specialist, I believe everyone can get something out of this talk, so join me!",
"people": [
{
"name": "Laura Kalbag",
"about": "I’m a friendly designer originally from the UK, now living in Ireland. You’ll usually find me talking about rights-respecting design, accessibility and inclusivity, privacy, web design and development.",
"aboutShort": "I’m a friendly designer originally from the UK, now living in Ireland.",
"image": {
"url": "https://api.react-finland.fi/media/people/laurak.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/LauraKalbag",
"homepage": "https://laurakalbag.com/"
},
"location": {
"country": {
"name": "Ireland"
},
"city": "Cork"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "The Actor Model: a new mental model for React",
"description": "System-level state management in modern React applications is challenging. Usually, as the applications grow, the complexity of interaction between different parts of the application compounds. The more you need those isolated parts to talk, the higher the level of complexity. Usually, the common pitfalls of these communications are underestimated especially with the recent trend of State management that tends to keep the application state outside of React and distributed. In this talk, We'll see how the Actor Model architecture can come to the rescue and what makes it stand out compared to the other approaches.",
"people": [
{
"name": "Farzad Yz",
"about": "Lead engineer @epicgames. Into State machines and Statecharts. Coach @mentorcruise",
"aboutShort": "Lead engineer @epicgames.",
"image": {
"url": "https://api.react-finland.fi/media/people/farzad.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/farzad_yz",
"homepage": "https://farzadyz.com/"
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Make legacy code delightful with statecharts",
"description": "If you must have legacy code, you want it written in statecharts. We'll break down the mental models required for understanding unfamiliar UI code, and compare the maintenance costs with and without statecharts.",
"people": [
{
"name": "Matt Pocock",
"about": "Lead Developer at Stately. Trying to bring on the visual coding revolution.",
"aboutShort": "Lead Developer at Stately.",
"image": {
"url": "https://api.react-finland.fi/media/people/matt.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/mpocock1",
"homepage": null
},
"location": {
"country": {
"name": "Great Britain"
},
"city": "Oxfordshire"
}
}
],
"urls": null
}
]
},
{
"begin": "16:00",
"end": "17:30",
"title": "GraphQL",
"sessions": [
{
"type": "TALK",
"title": "Automate your stack with GraphQL",
"description": "Lukas will demonstrate how you can have your backend GraphQL in sync with your frontend code on a framework agnostic way.\n\n- Having the advantage of autocompletion while writing the GraphQL queries by IDE support\n- Built in type safety through static schemas\n- Automatic generated frontend code for your framework of choice (React, Vue.js, Angular)\n- Having everything rebuild through a built in watch mode",
"people": [
{
"name": "Lukas Holzer",
"about": "DesignOps — Frontend-Developer and Node.js enthusiast working @Dynatrace with a passion for enhancing design workflows",
"aboutShort": "DesignOps — Frontend-Developer and Node.",
"image": {
"url": "https://api.react-finland.fi/media/people/lukas.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/luka5c0m",
"homepage": null
},
"location": {
"country": {
"name": "Austria"
},
"city": "Linz"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "How to cache GraphQL queries at the edge",
"description": "A demo and deep dive into GraphCDN, the edge caching GraphQL CDN.",
"people": [
{
"name": "Max Stoiber",
"about": "Creator of [Bedrock](https://bedrock.mxstbr.com), styled-components & react-boilerplate. Founder of [GraphCDN](https://graphcdn.io/).",
"aboutShort": "Creator of [Bedrock](https://bedrock.",
"image": {
"url": "https://api.react-finland.fi/media/people/max.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/mxstbr",
"homepage": "https://mxstbr.com/"
},
"location": {
"country": {
"name": "Austria"
},
"city": "Vienna"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Using Apollo Federation in a microservice architecture in Kubernetes",
"description": "Being flexible with Apollo Federation and autoscaling with Kubernetes opens many opportunities to scale your app. Jan will show how these two services work hand in hand and why autoscaling matters.",
"people": [
{
"name": "Jan Peer Stöcklmair",
"about": "Open-source contributor. JS fanatic. I love optimizing workflows.",
"aboutShort": "Open-source contributor.",
"image": {
"url": "https://api.react-finland.fi/media/people/jan.png"
},
"company": null,
"social": {
"twitter": "https://twitter.com/jpeer264",
"homepage": "https://jpeer.at/"
},
"location": {
"country": {
"name": "Austria"
},
"city": "Vienna"
}
}
],
"urls": null
}
]
}
]
},
{
"day": "2021-09-02",
"description": "Thursday",
"intervals": [
{
"begin": "07:00",
"end": "08:30",
"title": "Techniques I",
"sessions": [
{
"type": "TALK",
"title": "How to Delegate your React Dialogs",
"description": "How to properly hide modals / dialogs / drawers functionalities behind buttons that spawn them without cluttering container components.",
"people": [
{
"name": "Calin Bogdan",
"about": "JavaScript fellow, clean code maniac, minimalist.",
"aboutShort": "JavaScript fellow, clean code maniac, minimalist.",
"image": {
"url": "https://api.react-finland.fi/media/people/calinb.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/calinesque",
"homepage": "https://calinbogdan.com/"
},
"location": {
"country": {
"name": "Romania"
},
"city": ""
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Testing the integrity of your React components by publishing in a private registry",
"description": "The final stage of a react component is when it is being published and distributed. How can I ensure my packages won’t crash in production? This talk will help you to test your React components by publishing them to a private registry and running End-to-End tests against them.",
"people": [
{
"name": "Juan Picado",
"about": "Lead maintainer for 📦🔒 [Verdaccio](https://verdaccio.org) • 👨🏽💻 React and Node.js developer • Open Source believer",
"aboutShort": "Lead maintainer for 📦🔒 [Verdaccio](https://verdaccio.",
"image": {
"url": "https://api.react-finland.fi/media/people/juan.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/jotadeveloper",
"homepage": "https://github.com/juanpicado"
},
"location": {
"country": {
"name": "Germany"
},
"city": "Berlin"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "The Eternal Sunshine of the Zero Build Pipeline",
"description": "For many years, we have migrated all our devtools to Node.js for the sake of simplicity: a common language (JS/TS), a large ecosystem (NPM), and a powerful engine. In the meantime, we moved a lot of computation tasks to the client-side thanks to PWA and JavaScript Hegemony.\n\nSo we made Webapps for years, developing with awesome reactive frameworks and bundling a lot of dependencies. We progressively moved from our simplicity to complex apps toolchains. We've become the new Java-like ecosystem. It sucks.\n \nIt's 2021, we've got a lot of new technologies to sustain our Users eXperience. It's time to have a break and rethink our tools rather than going faster and faster in the same direction. It's time to redesign the Developer eXperience. It's time for a bundle-free dev environment. It's time to embrace a new frontend building philosophy, still with our lovely JavaScript.\n \nIntroducing Snowpack, Vite, Astro, and other Bare Modules tools concepts!",
"people": [
{
"name": "m4dz 🥑🦄",
"about": "Principal Developer Advocate at ‹div›RIOTS - makers of Backlight, a Design Systems IDE built for Designers and Developers - m4dz is a curious animal. Former Frontend Dev, Devtools enthusiast, he has made the Developer eXperience (DX) his cherished topic. All the Web technologies are under his radar to get things ever simpler. His moto: \"Developers are users just like you.\" As a life-long dreamer his favorite book will ever remains \"Alice's Adventures in Wonderland\".",
"aboutShort": "Principal Developer Advocate at ‹div›RIOTS - makers of Backlight, a Design Systems IDE built for Designers and Developers - m4dz is a curious animal.",
"image": {
"url": "https://api.react-finland.fi/media/people/m4dz.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/m4d_z",
"homepage": "https://m4dz.net/"
},
"location": {
"country": {
"name": "France"
},
"city": "Lyon"
}
}
],
"urls": null
}
]
},
{
"begin": "10:00",
"end": "11:30",
"title": "Frameworks",
"sessions": [
{
"type": "TALK",
"title": "Aleph.js - Build your React app in Deno",
"description": "A demo on Aleph.js about good development experience and deno runtime.",
"people": [
{
"name": "Je Xia",
"about": "Web developer and graphic designer. Creator of Aleph.js and esm.sh.",
"aboutShort": "Web developer and graphic designer.",
"image": {
"url": "https://api.react-finland.fi/media/people/je.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/jexia_",
"homepage": "http://jex.me/"
},
"location": {
"country": {
"name": "China"
},
"city": "Beijing"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "SSR & SSG in NextJS",
"description": "In this talk we are going to have a look on how to use Server-Side-Rendering and Static-Site-Generation in NextJS to serve pages.",
"people": [
{
"name": "Nur Şah Ketene",
"about": "Managing Consultant @ Columbia Road, Advisor, Coach, Teacher.",
"aboutShort": "Managing Consultant @ Columbia Road, Advisor, Coach, Teacher.",
"image": {
"url": "https://api.react-finland.fi/media/people/nur.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/nursahketene",
"homepage": "https://nursahketene.com/"
},
"location": {
"country": {
"name": "Finland"
},
"city": "Helsinki"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Brief introduction to Nuxt",
"description": "In this brief introduction of Nuxt, we will learn Nuxt basics and how to build Git-files based content management system using Nuxt.js and its module system.",
"people": [
{
"name": "Krutie Patel",
"about": "I'm a front-end developer. I create interactive web stuff using Vue js and Nuxt js. Some other frameworks and libraries I also enjoy working with include GSAP, Laravel ⚡️ and Jamstack (JavaScript, APIs + Markup). I love writing ✏️ articles about what I learn and share with Vue/Nuxt community. You can find my blog-posts on my [ website](https://krutiepatel.com/blog), which is also created using 👑 Nuxt js.\n\nApart from this, I also love creating [colour-coded diagrams](https://krutiepatel.com/diagrams). I create them to capture and document my learning. Diagraming have been an effective tool in my learning journey of Laravel, Vue js and of course, my absolute favourite, Nuxt js.",
"aboutShort": "I'm a front-end developer.",
"image": {
"url": "https://api.react-finland.fi/media/people/krutie.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/KrutiePatel",
"homepage": "https://krutiepatel.com/"
},
"location": {
"country": {
"name": "Australia"
},
"city": ""
}
}
],
"urls": null
}
]
},
{
"begin": "12:00",
"end": "13:30",
"title": "Documentation",
"sessions": [
{
"type": "TALK",
"title": "Mysterious talk",
"description": "",
"people": [
{
"name": "Rachel Nabors",
"about": "React Core. Interactive storyteller. Infinite learner. Lightning before the thunder. Author of [Animation at Work](http://bkaprt.com/aaw), Google Dev Expert—Formerly W3C, MSFT. INFJ singleton",
"aboutShort": "React Core.",
"image": {
"url": "https://api.react-finland.fi/media/people/rachel.jpg"
},
"company": null,
"social": {
"twitter": "https://twitter.com/rachelnabors",
"homepage": "http://rachelnabors.com"
},
"location": {
"country": {
"name": "Great Britain"
},
"city": "London"
}
}
],
"urls": null
},
{
"type": "TALK",
"title": "Documenting components with stories",
"description": "Most documentation systems focus on text content of one form or another: WYSIWYG editors, markdown, code comments, and so forth. Storybook, the industry-standard component workshop, takes a very different approach, focusing instead on component examples, or **stories**.\n\nIn this demo, I will introduce an open format called Component Story Format (CSF).\n \nI will show how CSF can be used used to create interactive docs in Storybook, including auto-generated DocsPage and freeform MDX documentation. Storybook Docs is a convenient way to build a living production design system.\n \nI will then show how CSF stories can be used create novel forms of documentation, such as multiplayer collaborative docs, interactive design prototypes, and even behavioral documentation via tests.\n \nFinally, I will present the current status and outline a roadmap of improvements that are on their way in the coming months.",
"people": [
{
"name": "Michael Shilman",
"about": "Building Storybook and Chroma.",
"aboutShort": "Building Storybook and Chroma.",