├── .github └── workflows │ └── swift.yml ├── README.md ├── Script ├── migration.swift └── on_merge.swift ├── Submission ├── .md ├── amberwu.md ├── anatoledebierre.md ├── aryanchaubal.md ├── ataberkturan.md ├── audreywang.md ├── ayushsingh.md ├── bartłomiejpluta.md ├── bedirekim.md ├── berkinceylan.md ├── bonsungkoo.md ├── bryanzanovirahman.md ├── byeonjinha.md ├── carlvoller.md ├── chemapf.md ├── chubohan.md ├── conradcrawford.md ├── cynaracosta.md ├── daegunchoi.md ├── davidmazzeo.md ├── davindjayadi.md ├── devanshudevchaudhary.md ├── diegohenriquesilvaoliveira.md ├── donchia.md ├── eunbicho.md ├── frankchu.md ├── fredp.md ├── furkanhancı.md ├── gaeunlee.md ├── garvshah.md ├── geetanshatrey.md ├── haotianzheng.md ├── henribredt.md ├── hugoqueinnec.md ├── hyunjunshin.md ├── ishaanbedi.md ├── jakubflorek.md ├── jiachen.md ├── jonathan.md ├── joãomedeiros.md ├── juancamposjr..md ├── judongseok.md ├── juhapark.md ├── juhwalee.md ├── kaijunzhu.md ├── karandeepsingh.md ├── kaspermunchjensen.md ├── kennethchew.md ├── keshavkhaneja.md ├── leonböttger.md ├── lexlinejohnson.md ├── linborong.md ├── lucaswang.md ├── luizaraujo.md ├── m.bertantarakçıoğlu.md ├── madhavgulati.md ├── matheusdantas.md ├── matthewchristopheralbert.md ├── maxtsai.md ├── minkyeongko.md ├── nathanielfargo.md ├── omarabusharar.md ├── oscarfridh.md ├── patriciasampaio.md ├── paulocésar.md ├── peteryaacoub.md ├── riccardopersello.md ├── ridohendrawan.md ├── ryandu.md ├── sampoder.md ├── saschasalles.md ├── sérgioruediger.md ├── taekhwanhan.md ├── tamerlansatualdypov.md ├── vedantmalhotra.md ├── vincentspitale.md ├── vitorgrechikuninari.md ├── xikailiu.md ├── yaoyaowu.md ├── yauhenistsefankou.md ├── yiweiwang.md ├── yunhooh.md └── zhuhaoyu.md ├── Template.md └── logo.png /.github/workflows/swift.yml: -------------------------------------------------------------------------------- 1 | # This workflow will build a Swift project 2 | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift 3 | 4 | name: README.md Generator 5 | 6 | on: 7 | push: 8 | branches: [ "main" ] 9 | 10 | jobs: 11 | build: 12 | 13 | runs-on: macos-latest 14 | 15 | steps: 16 | - name: Checkout repository 17 | uses: actions/checkout@v4 18 | - name: Generate README.md and push changes 19 | run: | 20 | swift Script/on_merge.swift > README.md 21 | git config user.name github-actions 22 | git config user.email github-actions@github.com 23 | git add . 24 | git commit -m "Generated README.md based on new entry" 25 | git push 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WWDC 2022 - Swift Student Challenge 2 | ![WWDC2022 Logo](logo.png) 3 | 4 | List of student submissions for the WWDC 2022 - Swift Student Challenge. 5 | 6 | ### How to add your submission? 7 | 1. [Click here](https://github.com/wwdc/2022/edit/main/Template.md) to fork this repository and edit the `Template.md` file. 8 | 2. Fill out the document based on the example in the comment below. 9 | 3. Make a new Pull Request and wait for the review. 10 | 11 | #### How to update your submission? 12 | If you would like to update your submission status please find your file in `Submission` directory. Edit file, update status and create Pull Request. 13 | 14 | ### Submissions 15 | 16 | | Name | Source | Video | Technologies | Status | 17 | |-----:|:------:|:-----------:|:-------------|:------:| 18 | |[Amber Wu](https://github.com/wyy511511)|[GitHub](https://github.com/wyy511511/HockeyTourWithBingDwenDwen)|-|SwiftUI, ARKit, ARQuickLook|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 19 | |[Anatole Debierre](https://github.com/a2br)|[GitHub](https://github.com/a2br/vote)|[YouTube](https://www.youtube.com/watch?v=414azCHcAgk)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 20 | |[Aryan Chaubal](https://github.com/chaubss)|[GitHub](https://github.com/chaubss/Turing-Machine-WWDC22)|-|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 21 | |[Ataberk Turan](https://github.com/ataberkturan)|[GitHub](https://github.com/ataberkturan/ParkinsonAI)|-|SwiftUI, Combine, CoreML, PencilKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 22 | |[Audrey Wang](https://github.com/audreyolaf)|[GitHub](https://github.com/audreyolaf/Theia)|[YouTube](https://youtu.be/bLVWnQGnx9s)|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 23 | |[Ayush Singh](https://github.com/Ayush21082)|[GitHub](https://github.com/Ayush21082/Flip-The-Cup)|[YouTube](https://youtu.be/1zy_tqStrtA)|SwiftUI, SceneKit, ARKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 24 | |[Bartłomiej Pluta](https://github.com/bpluta)|[GitHub](https://github.com/bpluta/Pwnground)|-|SwiftUI, Combine|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 25 | |Bedir Ekim|[GitHub](https://github.com/BedirEkim/Securencrypt-WWDC22)|-|SwiftUI, Vision|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 26 | |Berkin Ceylan|[GitHub](https://github.com/berkinceylan/WWDC22)|-|SwiftUI, CoreML|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 27 | |[Bon Sung Koo](https://github.com/terry-koo)|[GitHub](https://github.com/terry-koo/WWDC_Colors_SwiftUI)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 28 | |[Bryanza Novirahman](https://github.com/bryanzanr)|[GitHub](https://github.com/bryanzanr/drawer)|[YouTube](https://youtu.be/ZIRQrQKmxsQ)|SwiftUI|![Rejected](https://img.shields.io/badge/rejected-firebrick?style=for-the-badge)| 29 | |[Byeon Jinha](https://github.com/Byeonjinha)|[GitHub](https://github.com/Byeonjinha/CooC_Archive)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 30 | |[Carl Voller](https://www.linkedin.com/in/carl-ian-voller)|[GitHub](https://github.com/Portatolova/WWDC2022-Wholesome)|-|SwiftUI, PencilKit, CoreML, NaturalLanguage|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 31 | |[Chema PF](https://github.com/clxsrdev)|[GitHub](https://github.com/clxsrdev/Mixin-UP)|[YouTube](https://youtu.be/qkMU5xHEZ_8)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 32 | |[Chubo Han](https://github.com/soulwinter)|[GitHub](https://github.com/soulwinter/Genetics-Lab)|[YouTube](https://www.youtube.com/watch?v=-1Vt5Ta_dYw)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 33 | |[Conrad Crawford](https://cnrad.dev)|[GitHub](https://github.com/cnrad/polyvisual)|-|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 34 | |[Cynara Costa](https://www.linkedin.com/in/cynaracosta/)|[GitHub](https://github.com/CynaraCosta/graviNewton-WWDC22)|[YouTube](https://www.youtube.com/watch?v=kbO4dDJVx-A)|SwiftUI, AVKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 35 | |[Daegun Choi](https://github.com/ChoiysApple)|[GitHub](https://github.com/ChoiysApple/Asteroids-Plus)|[YouTube](https://youtu.be/OffJ0KTX0mI)|SwiftUI, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 36 | |[David Mazzeo](https://github.com/TheIntelCorei9)|[GitHub](https://github.com/TheIntelCorei9/Swift-Student-Challenge)|-|UIKit, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 37 | |[Davin Djayadi](https://github.com/davindj)|[GitHub](https://github.com/davindj/cofi)|-|SwiftUI, SceneKit, Combine|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 38 | |[Devanshu Dev Chaudhary](https://github.com/devdchaudhary)|[GitHub](https://github.com/devdchaudhary/A-Girls-Epiphany)|-|SwiftUI, SpriteKit, Speech|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 39 | |[Diego Henrique Silva Oliveira](https://github.com/DiegoHSO)|[GitHub](https://github.com/DiegoHSO/DinnerRun.git)|[YouTube](https://youtu.be/OOMrZj_hsI8)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 40 | |[Don Chia](https://donchia.tech)|[GitHub](https://github.com/DonChiaQE/ReGen)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 41 | |[Eunbi Cho](https://github.com/Eunbi-Cho)|[GitHub](https://github.com/Eunbi-Cho/Feel-the)|-|SwiftUI, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 42 | |[Frank Chu](https://twitter.com/cyongfrank)|[GitHub](https://github.com/yongfrank/OhMyFlag-WWDC22)|[Video](https://twitter.com/cyongfrank/status/1518663840463872000)|SwiftUI, Core Data, PencilKit, DocC|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 43 | |Fred P|[GitHub](https://github.com/fredpi/WWDC2022)|-|SwiftUI, UIKit, Core Graphics|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 44 | |[Furkan Hancı](https://github.com/furkanhancisecond)|[GitHub](https://github.com/FurkanHanciSecond/LearnSwiftUI)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 45 | |[Gaeun Lee](https://github.com/rriver2)|[GitHub](https://github.com/rriver2/WWDC--Ep-)|[YouTube](https://www.youtube.com/watch?v=X5ij9X1Gq-A)|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 46 | |[Garv Shah](https://github.com/garv-shah)|[GitHub](https://github.com/garv-shah/Swift-Student-Challenge-2022)|-|SwiftUI, SceneKit, ARKit, Combine|![Rejected](https://img.shields.io/badge/rejected-firebrick?style=for-the-badge)| 47 | |[Geetansh Atrey](https://github.com/geetanshatrey)|[GitHub](https://github.com/geetanshatrey/Vault)|-|SwiftUI, CryptoKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 48 | |[Haotian Zheng](https://haotianzheng.com/)|[GitHub](https://github.com/JustinFincher/WWDC2022-SwiftUINodeEditor)|[YouTube](https://youtu.be/B6D3y49WOEQ)|SwiftUI, Combine, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 49 | |[Henri Bredt](https://henribredt.de)|[GitHub](https://github.com/henribredt/Typography-WWDC22)|[YouTube](https://www.youtube.com/watch?v=AiK6CGgM71w)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 50 | |[Hugo Queinnec](https://github.com/hugoqnc)|[GitHub](https://github.com/hugoqnc/Split)|-|SwiftUI, Vision|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 51 | |[Hyunjun Shin](https://github.com/greenthings)|[GitHub](https://github.com/greenthings/GreenWorld)|-|SwiftUI, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 52 | |[Ishaan Bedi](https://github.com/ishaanbedi)|[GitHub](https://github.com/ishaanbedi/Chipify-WWDC22)|[YouTube](https://youtu.be/bWf6gNBQSB8)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 53 | |[Jakub Florek](https://github.com/MAJKFL)|[GitHub](https://github.com/MAJKFL/Audioqe-WWDC22)|[YouTube](https://youtu.be/TnayjRjrYp8)|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 54 | |[Jia Chen](https://github.com/jiachenyee)|[GitHub](https://github.com/jiachenyee/WWDC22-SSC)|-|SwiftUI, UIKit, SceneKit, ARKit|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 55 | |[Jonathan](https://github.com/fuzzynat26)|[GitHub](https://github.com/FuzzyNat26/build-with-math)|-|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 56 | |[João Medeiros](https://github.com/jpcm2)|[GitHub](https://github.com/jpcm2/JungleRescue)|-|SwiftUI, SpriteKit, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 57 | |[Ju DongSeok](https://github.com/MojitoBar)|[GitHub](https://github.com/MojitoBar/SpaceHash)|-|SwiftUI, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 58 | |[Juan Campos Jr.](https://github.com/PiggyGamingYT3)|[GitHub](https://github.com/PiggyGamingYT3/Unwind)|-|SwiftUI, MapKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 59 | |[Juha Park](https://github.com/juhapark21)|[GitHub](https://github.com/juhapark21/WWDC22-DefaultAppsARGlasses)|-|SwiftUI, RealityKit, ARKit|![Winner](https://img.shields.io/badge/winner-green?style=for-the-badge)| 60 | |[Juhwa Lee](https://github.com/Juhwa-Lee1023)|[GitHub](https://github.com/Juhwa-Lee1023/Hangeul)|-|SwiftUI, UIKit, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 61 | |[Kaijun Zhu](https://kaijunzhu.com)|[GitHub](https://github.com/Heyya-x)|-|SwiftUI, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 62 | |[Karandeep Singh](https://sg.linkedin.com/in/karandeep-singh-635888213)|[GitHub](https://github.com/ConfuseIous/ASLearn)|-|UIKit, SwiftUI, CoreML, AVKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 63 | |[Kasper Munch Jensen](https://github.com/KaffeDiem)|[GitHub](https://github.com/KaffeDiem/DrawBeatMaker)|-|SwiftUI, AVFoundation, PencilKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 64 | |[Kenneth Chew](https://github.com/kthchew/)|[GitHub](https://github.com/kthchew/wwdc22-mystack)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 65 | |Keshav Khaneja|[GitHub](https://github.com/3u1s/eoqe)|-|SwiftUI, manim, AVPlayer, CGPaths|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 66 | |[Leon Böttger](https://github.com/leonboe1)|[GitHub](https://github.com/leonboe1/SortApp)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 67 | |[Lexline Johnson](https://github.com/codeswift27)|[GitHub](https://github.com/codeswift27/quantum-entanglement.git)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 68 | |[Lin Bo Rong](https://github.com/rong1002)|[GitHub](https://github.com/rong1002/2022WWDC_Swift-Student-Challenge_Burn-Calories)|[YouTube](https://www.youtube.com/watch?v=UTRDFw31SUA&t)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 69 | |[Lucas Wang](https://github.com/Lucas-ZX-W)|[GitHub](https://github.com/Lucas-ZX-W/gaze_control)|-|SwiftUI, ARKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 70 | |[Luiz Araujo](https://github.com/LuizAraujo2020)|-|[YouTube](https://youtu.be/VHeL9B65_gM)|SwiftUI, SceneKit, SpriteKit, GameplayKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 71 | |[M. Bertan Tarakçıoğlu](https://medium.com/@bertan.tarakcioglu)|[GitHub](https://github.com/BertanT/BlinkBoard-WWDC22)|-|SwiftUI, Core Animation, Vision|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 72 | |[Madhav Gulati](https://github.com/MadhavGulati/)|[GitHub](https://github.com/MadhavGulati/GeneCloning)|[YouTube](https://youtu.be/j0WaM1uHiiQ)|SwiftUI, AVFoundation, ARKit, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 73 | |[Matheus Dantas](https://github.com/dantoso)|[GitHub](https://github.com/dantoso/WWDC22Submission)|-|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 74 | |[Matthew Christopher Albert](https://github.com/MatthewCAlbert)|[GitHub](https://github.com/MatthewCAlbert/wwdc2022-submission)|-|SwiftUI, AVKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 75 | |Max Tsai|[GitHub](https://github.com/ming-zhe-02/The-Fake-News)|[YouTube](https://www.youtube.com/watch?v=scV6d8G3EZw)|SwiftUI|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 76 | |[Minkyeong Ko](https://github.com/Minkyeong-Ko)|[GitHub](https://github.com/Minkyeong-Ko/Freeboard)|[YouTube](https://youtu.be/XXkhVd-ziIw)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 77 | |Nathaniel Fargo|[GitHub](https://github.com/theParadox42/Waves)|-|SwiftUI, Canvas, Math/Physics|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 78 | |[Omar Abusharar](https://github.com/omartheturtle/)|[GitHub](https://github.com/omartheturtle/SwiftStudentChallenge2022)|-|SwiftUI, UIKit, SpriteKit, ARQuickLook|![Rejected](https://img.shields.io/badge/rejected-firebrick?style=for-the-badge)| 79 | |[Oscar Fridh](https://www.linkedin.com/in/oscar-fridh-03279b125/)|[GitHub](https://github.com/OscarFridh/WWDC22)|[YouTube](https://www.youtube.com/watch?v=Yvlz3F5ZXkg)|ARKit, RealityKit, SwiftUI, UIKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 80 | |[Patricia Sampaio](https://github.com/patysiq)|[GitHub](https://github.com/patysiq/SagittariusA_WWDC2022)|-|AVFoundation, SceneKit , SwiftUI, UIKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 81 | |[Paulo César](https://github.com/Nyffi)|[GitHub](https://github.com/Nyffi/WWDC22-SwiftStudentChallenge)|-|SpriteKit, SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 82 | |[Peter Yaacoub](https://github.com/Yaacoub)|[GitHub](https://github.com/Yaacoub/Swift-Student-Challenge/tree/main/WWDC%202022)|[YouTube](https://youtu.be/t4NQSHLIbaw)|AVFoundation, CoreGraphics, SwiftUI, UIKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 83 | |[Riccardo Persello](https://github.com/persello)|[GitHub](https://github.com/persello/ssc22)|-|Accelerate, AVFoundation, SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 84 | |[Rido Hendrawan](https://github.com/ridohendrawan)|[GitHub](https://github.com/ridohendrawan/WWDC22-Chinese-Porcelain)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 85 | |[Ryan Du](https://github.com/ryendu)|[GitHub](https://github.com/ryendu/GradientDescend)|[YouTube](https://www.youtube.com/watch?v=TINWpa961VE)|SwiftUI, AVFoundation, SceneKit, CoreMotion|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 86 | |[Sam Poder](https://github.com/sampoder)|[GitHub](https://github.com/sampoder/whack-a-mole)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 87 | |[Sascha Salles](https://github.com/saschasalles)|[GitHub](https://github.com/saschasalles/Athletic-Robot.swiftpm)|-|ARKit, Vision, CreateML, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 88 | |[Sérgio Ruediger](https://github.com/sruediger)|[GitHub](https://github.com/sruediger/WWDC2022CTF)|-|SwiftUI, Combine, CoreGraphics, CryptoKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 89 | |[TaekhwanHan](https://github.com/TaekH)|[GitHub](https://github.com/TaekH/WWDC22_MedicineReminder)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 90 | |[Tamerlan Satualdypov](https://github.com/onl1ner)|[GitHub](https://github.com/onl1ner/Morse)|-|SwiftUI, AVFoundation|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 91 | |[Vedant Malhotra](https://github.com/vedantapps)|[GitHub](https://github.com/vedantapps/SaveWWDC)|[YouTube](https://youtu.be/um2HbaI8xqA)|SwiftUI, UIKit, ARKit, PencilKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 92 | |[Vincent Spitale](https://github.com/vincentspitale)|[GitHub](https://github.com/vincentspitale/SSC2022)|[YouTube](https://youtu.be/vQM8yTbGguQ)|SwiftUI, PencilKit, VisionKit, MetalKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 93 | |[Vitor Grechi Kuninari](https://www.wwdcscholars.com/s/32CD09B0-46A3-4D89-A10F-AF9984766715)|[GitHub](https://github.com/VitorGK/WWDC22-Swift-Student-Challenge)|-|SwiftUI, SpriteKit|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 94 | |[Xikai Liu](https://github.com/iamGeoWat)|[GitHub](https://github.com/iamGeoWat/WWDC22)|[Video](https://www.bilibili.com/video/BV1W34y1p7M3/)|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 95 | |[Yaoyao Wu](https://github.com/wyy511511)|[GitHub](https://github.com/wyy511511/HockeyTourWithBingDwenDwen)|-|SwiftUI, ARKit, ARQuickLook|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 96 | |Yauheni Stsefankou|[GitHub](https://github.com/stefjen07/WWDC22-NeuralNetworks)|-|SwiftUI, SpriteKit, CoreGraphics|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 97 | |[Yiwei Wang](https://github.com/wangyiwei2015)|[GitHub](https://github.com/wangyiwei2015/ColorCodeChallenge)|-|SwiftUI|![Accepted](https://img.shields.io/badge/accepted-green?style=for-the-badge)| 98 | |[Yunho Oh](https://github.com/Helloyunho)|[GitHub](https://github.com/Helloyunho/about_computer_bits)|[YouTube](https://youtu.be/V8Zhc-dDbVI)|SwiftUI|![Rejected](https://img.shields.io/badge/rejected-firebrick?style=for-the-badge)| 99 | |Zhu Haoyu|[GitHub](https://github.com/underthestars-zhy/Date-Planner.swiftpm)|[Video](https://www.bilibili.com/video/BV18Y4y187Gj/)|SwiftUI, ARKit, Speech, UIKit, CoreMotion|![Submitted](https://img.shields.io/badge/submitted-slategrey?style=for-the-badge)| 100 | 101 | ##### Total: 82 | Accepted: 69 102 | -------------------------------------------------------------------------------- /Script/migration.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | struct Submission { 4 | let name: String 5 | let status: Status 6 | let technologies: [String] 7 | 8 | let aboutMeUrl: URL? 9 | let sourceUrl: URL? 10 | let videoUrl: URL? 11 | 12 | enum Status: String { 13 | case submitted = "Submitted" 14 | case accepted = "Accepted" 15 | case winner = "Winner" 16 | case distinguished = "Distinguished" 17 | case rejected = "Rejected" 18 | case unknown = "Unknown" 19 | 20 | var iconURLString: String { 21 | switch self { 22 | case .submitted: 23 | "https://img.shields.io/badge/submitted-slategrey?style=for-the-badge" 24 | case .accepted: 25 | "https://img.shields.io/badge/accepted-green?style=for-the-badge" 26 | case .winner: 27 | "https://img.shields.io/badge/winner-green?style=for-the-badge" 28 | case .distinguished: 29 | "https://img.shields.io/badge/distinguished-goldenrod?style=for-the-badge" 30 | case .rejected: 31 | "https://img.shields.io/badge/rejected-firebrick?style=for-the-badge" 32 | case .unknown: 33 | "https://img.shields.io/badge/unknown-grey?style=for-the-badge" 34 | } 35 | } 36 | } 37 | 38 | var row: String { 39 | let nameRow = if let aboutMeUrl { 40 | "[\(name)](\(aboutMeUrl.absoluteString))" 41 | } else { 42 | "\(name)" 43 | } 44 | 45 | let sourceRow: String = if let sourceUrl { 46 | "[GitHub](\(sourceUrl.absoluteString))" 47 | } else { 48 | "-" 49 | } 50 | 51 | let videoUrl = if let videoUrl { 52 | "[YouTube](\(videoUrl.absoluteString))" 53 | } else { 54 | "-" 55 | } 56 | 57 | let technologiesRow = technologies.joined(separator: ", ") 58 | 59 | let statusRow: String = "![\(status.rawValue)](\(status.iconURLString))" 60 | 61 | return "|" + [ 62 | nameRow, 63 | sourceRow, 64 | videoUrl, 65 | technologiesRow, 66 | statusRow 67 | ].joined(separator: "|") + "|" 68 | } 69 | } 70 | 71 | let migration = """ 72 | |[Anatole Debierre](https://github.com/a2br)|[GitHub](https://github.com/a2br/vote)|[YouTube](https://www.youtube.com/watch?v=414azCHcAgk)|SwiftUI|Accepted| 73 | |[Aryan Chaubal](https://github.com/chaubss)|[GitHub](https://github.com/chaubss/Turing-Machine-WWDC22)||SwiftUI, AVFoundation|Accepted| 74 | |[Ataberk Turan](https://github.com/ataberkturan)|[GitHub](https://github.com/ataberkturan/ParkinsonAI)||SwiftUI, Combine, CoreML, PencilKit|Accepted| 75 | |[Audrey Wang](https://github.com/audreyolaf)|[GitHub](https://github.com/audreyolaf/Theia)|[YouTube](https://youtu.be/bLVWnQGnx9s)|SwiftUI, AVFoundation|Accepted| 76 | |[Ayush Singh](https://github.com/Ayush21082)|[GitHub](https://github.com/Ayush21082/Flip-The-Cup)|[YouTube](https://youtu.be/1zy_tqStrtA)|SwiftUI, SceneKit, ARKit|Accepted| 77 | |[Bartłomiej Pluta](https://github.com/bpluta)|[GitHub](https://github.com/bpluta/Pwnground)||SwiftUI, Combine|Accepted| 78 | |Bedir Ekim|[GitHub](https://github.com/BedirEkim/Securencrypt-WWDC22)||SwiftUI, Vision|Accepted| 79 | |Berkin Ceylan|[GitHub](https://github.com/berkinceylan/WWDC22)||SwiftUI, CoreML|Submitted| 80 | |[Bryanza Novirahman](https://github.com/bryanzanr)|[GitHub](https://github.com/bryanzanr/drawer)|[YouTube](https://youtu.be/ZIRQrQKmxsQ)|SwiftUI|Rejected| 81 | |[Byeon Jinha](https://github.com/Byeonjinha)|[GitHub](https://github.com/Byeonjinha/CooC_Archive)||SwiftUI|Accepted| 82 | |[Carl Voller](https://www.linkedin.com/in/carl-ian-voller)|[GitHub](https://github.com/Portatolova/WWDC2022-Wholesome)||SwiftUI, PencilKit, CoreML, NaturalLanguage|Accepted| 83 | |[Chubo Han](https://github.com/soulwinter)|[GitHub](https://github.com/soulwinter/Genetics-Lab)|[YouTube](https://www.youtube.com/watch?v=-1Vt5Ta_dYw)|SwiftUI|Accepted| 84 | |[Conrad Crawford](https://cnrad.dev)|[GitHub](https://github.com/cnrad/polyvisual)||SwiftUI, AVFoundation|Accepted| 85 | |[Cynara Costa](https://www.linkedin.com/in/cynaracosta/)|[GitHub](https://github.com/CynaraCosta/graviNewton-WWDC22)|[YouTube](https://www.youtube.com/watch?v=kbO4dDJVx-A)|SwiftUI, AVKit|Accepted| 86 | |[Daegun Choi](https://github.com/ChoiysApple)|[GitHub](https://github.com/ChoiysApple/Asteroids-Plus)|[YouTube](https://youtu.be/OffJ0KTX0mI)|SwiftUI, SpriteKit |Accepted| 87 | |[Davin Djayadi](https://github.com/davindj)|[GitHub](https://github.com/davindj/cofi)||SwiftUI, SceneKit, Combine |Accepted| 88 | |[Diego Henrique Silva Oliveira](https://github.com/DiegoHSO)|[GitHub](https://github.com/DiegoHSO/DinnerRun.git)|[YouTube](https://youtu.be/OOMrZj_hsI8)|SwiftUI|Accepted| 89 | |[Don Chia](https://donchia.tech)|[GitHub](https://github.com/DonChiaQE/ReGen)||SwiftUI|Accepted| 90 | |[Eunbi Cho](https://github.com/Eunbi-Cho)|[GitHub](https://github.com/Eunbi-Cho/Feel-the)||SwiftUI, SpriteKit|Accepted| 91 | |[Frank Chu](https://twitter.com/cyongfrank)|[GitHub](https://github.com/yongfrank/OhMyFlag-WWDC22)|[Twitter](https://twitter.com/cyongfrank/status/1518663840463872000)|SwiftUI, Core Data, PencilKit, DocC|Submitted| 92 | |[Furkan Hancı](https://github.com/furkanhancisecond)|[GitHub](https://github.com/FurkanHanciSecond/LearnSwiftUI)|[YouTube]( https://www.youtube.com/watch?v=N4pqwTHG2EA)|SwiftUI|Accepted| 93 | |[Gaeun Lee](https://github.com/rriver2)|[GitHub](https://github.com/rriver2/WWDC--Ep-)|[Youtube](https://www.youtube.com/watch?v=X5ij9X1Gq-A)|SwiftUI, AVFoundation|Accepted| 94 | |[Garv Shah](https://github.com/garv-shah)|[GitHub](https://github.com/garv-shah/Swift-Student-Challenge-2022)||SwiftUI, SceneKit, ARKit, Combine|Rejected| 95 | |[Geetansh Atrey](https://github.com/geetanshatrey)|[GitHub](https://github.com/geetanshatrey/Vault)||SwiftUI, CryptoKit|Accepted| 96 | |[Haotian Zheng](https://haotianzheng.com/)|[GitHub](https://github.com/JustinFincher/WWDC2022-SwiftUINodeEditor)|[YouTube](https://youtu.be/B6D3y49WOEQ)|SwiftUI, Combine, SpriteKit|Accepted| 97 | |[Henri Bredt](https://henribredt.de)|[GitHub](https://github.com/henribredt/Typography-WWDC22)|[YouTube](https://www.youtube.com/watch?v=AiK6CGgM71w)|SwiftUI|Accepted| 98 | |[Hugo Queinnec](https://github.com/hugoqnc)|[GitHub](https://github.com/hugoqnc/Split)||SwiftUI, Vision|Accepted| 99 | |[Hyunjun Shin](https://github.com/greenthings)|[GitHub](https://github.com/greenthings/GreenWorld)||SwiftUI, SpriteKit|Accepted| 100 | |[Ishaan Bedi](https://github.com/ishaanbedi)|[GitHub](https://github.com/ishaanbedi/Chipify-WWDC22)|[YouTube](https://youtu.be/bWf6gNBQSB8)|SwiftUI|Accepted| 101 | |[Jakub Florek](https://github.com/MAJKFL)|[GitHub](https://github.com/MAJKFL/Audioqe-WWDC22)|[YouTube](https://youtu.be/TnayjRjrYp8)|SwiftUI, AVFoundation|Accepted| 102 | |[Jia Chen](https://github.com/jiachenyee)|[GitHub](https://github.com/jiachenyee/WWDC22-SSC)||SwiftUI, UIKit, SceneKit, ARKit|Submitted| 103 | |[João Medeiros](https://github.com/jpcm2)|[GitHub](https://github.com/jpcm2/JungleRescue)||SwiftUI, SpriteKit, AVFoundation|Accepted| 104 | |[Jonathan](https://github.com/fuzzynat26)|[GitHub](https://github.com/FuzzyNat26/build-with-math)||SwiftUI, AVFoundation|Accepted| 105 | |[Ju DongSeok](https://github.com/MojitoBar)|[GitHub](https://github.com/MojitoBar/SpaceHash)||SwiftUI, SpriteKit|Accepted| 106 | |[Juhwa Lee](https://github.com/Juhwa-Lee1023)|[GitHub](https://github.com/Juhwa-Lee1023/Hangeul)||SwiftUI, UIKit, AVFoundation|Accepted| 107 | |[Karandeep Singh](https://sg.linkedin.com/in/karandeep-singh-635888213)|[GitHub](https://github.com/ConfuseIous/ASLearn)||UIKit, SwiftUI, CoreML, AVKit |Accepted| 108 | |[Kasper Munch Jensen](https://github.com/KaffeDiem)|[GitHub](https://github.com/KaffeDiem/DrawBeatMaker)||SwiftUI, AVFoundation, PencilKit|Accepted| 109 | |[Kenneth Chew](https://github.com/kthchew/)|[GitHub](https://github.com/kthchew/wwdc22-mystack)||SwiftUI|Accepted| 110 | |[Lexline Johnson](https://github.com/codeswift27)|[GitHub](https://github.com/codeswift27/quantum-entanglement.git)||SwiftUI|Accepted| 111 | |[Lin Bo Rong](https://github.com/rong1002)|[GitHub](https://github.com/rong1002/2022WWDC_Swift-Student-Challenge_Burn-Calories)|[YouTube](https://www.youtube.com/watch?v=UTRDFw31SUA&t)|SwiftUI|Accepted| 112 | |[Luiz Araujo](https://github.com/LuizAraujo2020)||[YouTube](https://youtu.be/VHeL9B65_gM)|SwiftUI, SceneKit, SpriteKit, GameplayKit|Accepted| 113 | |[M. Bertan Tarakçıoğlu](https://medium.com/@bertan.tarakcioglu)|[GitHub](https://github.com/BertanT/BlinkBoard-WWDC22)||SwiftUI, Core Animation, Vision|Accepted| 114 | |[Madhav Gulati](https://github.com/MadhavGulati/)|[GitHub](https://github.com/MadhavGulati/GeneCloning)|[YouTube](https://youtu.be/j0WaM1uHiiQ)|SwiftUI, AVFoundation, ARKit, SpriteKit|Accepted| 115 | |[Matthew Christopher Albert](https://github.com/MatthewCAlbert)|[GitHub](https://github.com/MatthewCAlbert/wwdc2022-submission)||SwiftUI, AVKit|Accepted| 116 | |Max Tsai|[GitHub](https://github.com/ming-zhe-02/The-Fake-News)|[YouTube](https://www.youtube.com/watch?v=scV6d8G3EZw)|SwiftUI|Submitted| 117 | |[Minkyeong Ko](https://github.com/Minkyeong-Ko)|[GitHub](https://github.com/Minkyeong-Ko/Freeboard)|[YouTube](https://youtu.be/XXkhVd-ziIw)|SwiftUI|Accepted| 118 | |Nathaniel Fargo|[Github](https://github.com/theParadox42/Waves)| |SwiftUI, Canvas, Math/Physics|Submitted| 119 | |[Omar Abusharar](https://github.com/omartheturtle/)|[GitHub](https://github.com/omartheturtle/SwiftStudentChallenge2022)|Later?|SwiftUI, UIKit, SpriteKit, ARQuickLook|Rejected| 120 | |[Oscar Fridh](https://www.linkedin.com/in/oscar-fridh-03279b125/)|[GitHub](https://github.com/OscarFridh/WWDC22)|[YouTube](https://www.youtube.com/watch?v=Yvlz3F5ZXkg)|ARKit, RealityKit, SwiftUI, UIKit|Accepted| 121 | |[Patricia Sampaio](https://github.com/patysiq)|[GitHub](https://github.com/patysiq/SagittariusA_WWDC2022)||AVFoundation, SceneKit , SwiftUI, UIKit|Accepted| 122 | |[Paulo César](https://github.com/Nyffi)|[GitHub](https://github.com/Nyffi/WWDC22-SwiftStudentChallenge)||SpriteKit, SwiftUI|Accepted| 123 | |[Peter Yaacoub](https://github.com/Yaacoub)|[GitHub](https://github.com/Yaacoub/Swift-Student-Challenge/tree/main/WWDC%202022)|[YouTube](https://youtu.be/t4NQSHLIbaw)|AVFoundation, CoreGraphics, SwiftUI, UIKit|Accepted| 124 | |[Riccardo Persello](https://github.com/persello)|[GitHub](https://github.com/persello/ssc22)||Accelerate, AVFoundation, SwiftUI|Accepted| 125 | |[Rido Hendrawan](https://github.com/ridohendrawan)|[GitHub](https://github.com/ridohendrawan/WWDC22-Chinese-Porcelain)||SwiftUI|Accepted| 126 | |[Ryan Du](https://github.com/ryendu)|[GitHub](https://github.com/ryendu/GradientDescend)|[YouTube](https://www.youtube.com/watch?v=TINWpa961VE)|SwiftUI, AVFoundation, SceneKit, CoreMotion|Accepted| 127 | |[Sam Poder](https://github.com/sampoder)|[GitHub](https://github.com/sampoder/whack-a-mole)||SwiftUI|Accepted| 128 | |[Sascha Salles](https://github.com/saschasalles)|[GitHub](https://github.com/saschasalles/Athletic-Robot.swiftpm)||ARKit, Vision, CreateML, AVFoundation|Accepted| 129 | |[Sérgio Ruediger](https://github.com/sruediger)|[GitHub](https://github.com/sruediger/WWDC2022CTF)||SwiftUI, Combine, CoreGraphics, CryptoKit|Accepted| 130 | |[Tamerlan Satualdypov](https://github.com/onl1ner)|[GitHub](https://github.com/onl1ner/Morse)||SwiftUI, AVFoundation|Accepted| 131 | |[Vedant Malhotra](https://github.com/vedantapps)|[GitHub](https://github.com/vedantapps/SaveWWDC)|[YouTube](https://youtu.be/um2HbaI8xqA)|SwiftUI, UIKit, ARKit, PencilKit|Accepted| 132 | |[Vincent Spitale](https://github.com/vincentspitale)|[GitHub](https://github.com/vincentspitale/SSC2022)|[YouTube](https://youtu.be/vQM8yTbGguQ)|SwiftUI, PencilKit, VisionKit, MetalKit|Accepted| 133 | |[Vitor Grechi Kuninari](https://www.wwdcscholars.com/s/32CD09B0-46A3-4D89-A10F-AF9984766715)|[GitHub](https://github.com/VitorGK/WWDC22-Swift-Student-Challenge)||SwiftUI, SpriteKit|Accepted| 134 | |[Xikai Liu](https://github.com/iamGeoWat)|[GitHub](https://github.com/iamGeoWat/WWDC22)|[Bilibili](https://www.bilibili.com/video/BV1W34y1p7M3/)|SwiftUI|Accepted| 135 | |Yauheni Stsefankou|[GitHub](https://github.com/stefjen07/WWDC22-NeuralNetworks)||SwiftUI, SpriteKit, CoreGraphics|Accepted| 136 | |[Yiwei Wang](https://github.com/wangyiwei2015)|[GitHub](https://github.com/wangyiwei2015/ColorCodeChallenge)| |SwiftUI|Accepted| 137 | |[Yunho Oh](https://github.com/Helloyunho)|[GitHub](https://github.com/Helloyunho/about_computer_bits)|[YouTube](https://youtu.be/V8Zhc-dDbVI)|SwiftUI|Rejected| 138 | """ 139 | 140 | let lines = migration.split(separator: "\n") 141 | 142 | func getNameAndAboutMeUrl(for line: String?) -> (name: String, aboutMeUrl: URL?)? { 143 | guard let line else { return nil } 144 | let pattern = "\\[(.*?)\\]\\((.*?)\\)" 145 | 146 | guard let regex = try? NSRegularExpression(pattern: pattern, options: []) else { return nil } 147 | 148 | if let match = regex.firstMatch(in: line, options: [], range: NSRange(line.startIndex..., in: line)) { 149 | if let nameRange = Range(match.range(at: 1), in: line) { 150 | let name = String(line[nameRange]) 151 | 152 | 153 | let url: URL? = if let urlRange = Range(match.range(at: 2), in: line) { 154 | URL(string:String(line[urlRange])) 155 | } else { nil } 156 | 157 | return (name: name, aboutMeUrl: url) 158 | } 159 | } 160 | 161 | return (name: line, aboutMeUrl: nil) 162 | } 163 | 164 | func getUrl(from line: String?) -> URL? { 165 | guard let line else { return nil } 166 | let pattern = "\\[.*?\\]\\((.*?)\\)" 167 | 168 | guard let regex = try? NSRegularExpression(pattern: pattern, options: []) else { return nil } 169 | 170 | if let match = regex.firstMatch(in: line, options: [], range: NSRange(line.startIndex..., in: line)) { 171 | if let urlRange = Range(match.range(at: 1), in: line) { 172 | return URL(string: String(line[urlRange])) 173 | } 174 | } 175 | 176 | return nil 177 | } 178 | 179 | func getStatus(from line: String?) -> Submission.Status { 180 | guard let line else { return .unknown } 181 | return .init(rawValue: line) ?? .unknown 182 | } 183 | 184 | var submissions = [Submission]() 185 | for line in lines { 186 | let columns = line 187 | .trimmingCharacters(in: .whitespacesAndNewlines) 188 | .split(separator: "|", omittingEmptySubsequences: false) 189 | .map { $0.trimmingCharacters(in: .whitespacesAndNewlines) } 190 | .dropFirst().dropLast() 191 | let values = getNameAndAboutMeUrl(for: columns.first) 192 | let sourceUrl = getUrl(from: columns[2]) 193 | let videoUrl = getUrl(from: columns[3]) 194 | let technologies = columns[4].split(separator: ", ") 195 | let status = getStatus(from: columns.last) 196 | 197 | guard let name = values?.name else { continue } 198 | let submission = Submission( 199 | name: name, 200 | status: status, 201 | technologies: technologies.map { String($0) }, 202 | aboutMeUrl: values?.aboutMeUrl, 203 | sourceUrl: sourceUrl, 204 | videoUrl: videoUrl 205 | ) 206 | 207 | submissions.append(submission) 208 | } 209 | 210 | extension Submission { 211 | var entityFile: String { 212 | """ 213 | Name: \(name) 214 | Status: \(status.rawValue) 215 | Technologies: \(technologies.joined(separator: ", ")) 216 | 217 | AboutMeUrl: \(aboutMeUrl == nil ? "" : aboutMeUrl!.absoluteString) 218 | SourceUrl: \(sourceUrl == nil ? "" : sourceUrl!.absoluteString) 219 | VideoUrl: \(videoUrl == nil ? "" : videoUrl!.absoluteString) 220 | 221 | 231 | 232 | """ 233 | } 234 | } 235 | 236 | for submission in submissions { 237 | let filename = submission.name 238 | .replacingOccurrences(of: "Name:", with: "") 239 | .trimmingCharacters(in: .whitespacesAndNewlines) 240 | .lowercased() 241 | .replacingOccurrences(of: " ", with: "") + ".md" 242 | 243 | try? submission.entityFile.write(toFile: "Submission/\(filename)", atomically: true, encoding: .utf8) 244 | } 245 | -------------------------------------------------------------------------------- /Script/on_merge.swift: -------------------------------------------------------------------------------- 1 | // 2 | // on_merge.swift 3 | // 4 | // A simple script to process files and generate a README.md file. 5 | // It's not supposed to be pretty, it's supposed to work. 😉 6 | // 7 | // Created by Piotr Jeremicz on 4.02.2025. 8 | // 9 | 10 | import Foundation 11 | 12 | // MARK: - Constants 13 | let year = 2022 14 | let name = "Swift Student Challenge" 15 | 16 | let templateFileName = "Template.md" 17 | let submissionsDirectoryName = "Submission" 18 | 19 | let template = #""" 20 | Name: 21 | Status: 22 | Technologies: 23 | 24 | AboutMeUrl: 25 | SourceUrl: 26 | VideoUrl: 27 | 28 | 38 | 39 | """# 40 | 41 | // MARK: - Find potential Template.md files 42 | let fileManager = FileManager.default 43 | let rootFiles = (try? fileManager.contentsOfDirectory(atPath: ".")) ?? [] 44 | let potentialTemplateFiles = rootFiles.filter { $0.hasSuffix(".md") && $0 != "README.md" } 45 | 46 | // MARK: - Load potential template files 47 | var potentialTemplates = [(filename: String, content: String)]() 48 | for file in potentialTemplateFiles { 49 | guard let content = try? String(contentsOfFile: file, encoding: .utf8) else { continue } 50 | potentialTemplates.append((filename: file, content: content)) 51 | } 52 | 53 | // MARK: - Validate potential template files and prepare new filename 54 | var validatedTemplates = [(originalFilename: String, newFilename: String, content: String)]() 55 | for potentialTemplate in potentialTemplates { 56 | let lines = potentialTemplate.content.split(separator: "\n") 57 | 58 | guard lines.count >= 6 else { continue } 59 | guard lines[0].hasPrefix("Name:") else { continue } 60 | guard lines[1].hasPrefix("Status:") else { continue } 61 | guard lines[2].hasPrefix("Technologies:") else { continue } 62 | guard lines[3].hasPrefix("AboutMeUrl:") else { continue } 63 | guard lines[4].hasPrefix("SourceUrl:") else { continue } 64 | guard lines[5].hasPrefix("VideoUrl:") else { continue } 65 | 66 | let newFilename = lines[0] 67 | .replacingOccurrences(of: "Name:", with: "") 68 | .trimmingCharacters(in: .whitespacesAndNewlines) 69 | .lowercased() 70 | .replacingOccurrences(of: " ", with: "") + ".md" 71 | 72 | validatedTemplates.append( 73 | ( 74 | originalFilename: potentialTemplate.filename, 75 | newFilename: newFilename, 76 | content: potentialTemplate.content 77 | ) 78 | ) 79 | } 80 | 81 | // MARK: - Create Submission directory 82 | if !fileManager.fileExists(atPath: submissionsDirectoryName) { 83 | try? fileManager.createDirectory(atPath: submissionsDirectoryName, withIntermediateDirectories: true, attributes: nil) 84 | } 85 | 86 | // MARK: - Relocate validated template file and rename it 87 | for validatedTemplate in validatedTemplates { 88 | do { 89 | // First remove, later create new one. If the removal will fail the result will not produce two independent files. 90 | try fileManager.removeItem(atPath: "\(validatedTemplate.originalFilename)") 91 | try validatedTemplate.content.write( 92 | toFile: "\(submissionsDirectoryName)/\(validatedTemplate.newFilename)", 93 | atomically: true, 94 | encoding: .utf8 95 | ) 96 | } catch { 97 | continue 98 | } 99 | } 100 | 101 | // MARK: - Clean template file 102 | try? template.write(toFile: "Template.md", atomically: true, encoding: .utf8) 103 | 104 | // MARK: - Submission model 105 | struct Submission { 106 | let name: String 107 | let status: Status 108 | let technologies: [String] 109 | 110 | let aboutMeUrl: URL? 111 | let sourceUrl: URL? 112 | let videoUrl: URL? 113 | 114 | enum Status: String { 115 | case submitted = "Submitted" 116 | case accepted = "Accepted" 117 | case winner = "Winner" 118 | case distinguished = "Distinguished" 119 | case rejected = "Rejected" 120 | case unknown = "Unknown" 121 | 122 | var iconURLString: String { 123 | switch self { 124 | case .submitted: 125 | "https://img.shields.io/badge/submitted-slategrey?style=for-the-badge" 126 | case .accepted: 127 | "https://img.shields.io/badge/accepted-green?style=for-the-badge" 128 | case .winner: 129 | "https://img.shields.io/badge/winner-green?style=for-the-badge" 130 | case .distinguished: 131 | "https://img.shields.io/badge/distinguished-goldenrod?style=for-the-badge" 132 | case .rejected: 133 | "https://img.shields.io/badge/rejected-firebrick?style=for-the-badge" 134 | case .unknown: 135 | "https://img.shields.io/badge/unknown-grey?style=for-the-badge" 136 | } 137 | } 138 | } 139 | 140 | var row: String { 141 | let nameRow = if let aboutMeUrl { 142 | "[\(name)](\(aboutMeUrl.absoluteString))" 143 | } else { 144 | "\(name)" 145 | } 146 | 147 | let sourceRow: String = if let sourceUrl { 148 | "[GitHub](\(sourceUrl.absoluteString))" 149 | } else { 150 | "-" 151 | } 152 | 153 | let videoUrl = if let videoUrl { 154 | "[\(videoUrl.absoluteString.contains("youtu") ? "YouTube" : "Video")](\(videoUrl.absoluteString))" 155 | } else { 156 | "-" 157 | } 158 | 159 | let technologiesRow = technologies.joined(separator: ", ") 160 | 161 | let statusRow: String = "![\(status.rawValue)](\(status.iconURLString))" 162 | 163 | return "|" + [ 164 | nameRow, 165 | sourceRow, 166 | videoUrl, 167 | technologiesRow, 168 | statusRow 169 | ].joined(separator: "|") + "|" 170 | } 171 | } 172 | 173 | // MARK: - Load all submission files into Submission model 174 | let submissionFiles = (try? fileManager.contentsOfDirectory(atPath: submissionsDirectoryName)) ?? [] 175 | 176 | func toValue(_ string: String.SubSequence, key: String) -> String? { 177 | let value = String(string) 178 | .replacingOccurrences(of: key, with: "") 179 | .trimmingCharacters(in: .whitespacesAndNewlines) 180 | 181 | return value.isEmpty ? nil : value 182 | } 183 | 184 | extension URL { 185 | var isValid: Bool { 186 | self.scheme != nil && self.host != nil 187 | } 188 | } 189 | 190 | var submissions = [Submission]() 191 | for submissionFile in submissionFiles { 192 | guard let content = try? String(contentsOfFile: "\(submissionsDirectoryName)/\(submissionFile)", encoding: .utf8) else { continue } 193 | 194 | let lines = content.split(separator: "\n") 195 | guard lines.count >= 6 else { continue } 196 | 197 | let name: String? = if lines[0].hasPrefix("Name:") { 198 | toValue(lines[0], key: "Name:") 199 | } else { nil } 200 | 201 | let status: Submission.Status? = if lines[1].hasPrefix("Status:"), let value = toValue(lines[1], key: "Status:") { 202 | .init( 203 | rawValue: value 204 | ) 205 | } else { nil } 206 | 207 | let technologies: [String] = if lines[2].hasPrefix("Technologies:"), let value = toValue(lines[2], key: "Technologies:") { 208 | value.split(separator: ", ").map { String($0) } 209 | } else { [] } 210 | 211 | let aboutMeUrl: URL? = if lines[3].hasPrefix("AboutMeUrl:"), let value = toValue(lines[3], key: "AboutMeUrl:"), let url = URL(string: value), url.isValid { 212 | url 213 | } else { nil } 214 | 215 | let sourceUrl: URL? = if lines[4].hasPrefix("SourceUrl:") , let value = toValue(lines[4], key: "SourceUrl:"), let url = URL(string: value), url.isValid { 216 | url 217 | } else { nil } 218 | 219 | let videoUrl: URL? = if lines[5].hasPrefix("VideoUrl:"), let value = toValue(lines[5], key: "VideoUrl:"), let url = URL(string: value), url.isValid { 220 | url 221 | } else { nil } 222 | 223 | guard let name else { continue } 224 | submissions.append( 225 | .init( 226 | name: name, 227 | status: status ?? .unknown, 228 | technologies: technologies, 229 | aboutMeUrl: aboutMeUrl, 230 | sourceUrl: sourceUrl, 231 | videoUrl: videoUrl 232 | ) 233 | ) 234 | } 235 | 236 | //AboutMeUrl 237 | //SourceUrl 238 | //VideoUrl 239 | 240 | // MARK: - Generate new README.md file from template 241 | var readmeFile: String { 242 | """ 243 | # WWDC \(year) - \(name) 244 | ![WWDC\(year) Logo](logo.png) 245 | 246 | List of student submissions for the WWDC \(year) - \(name). 247 | 248 | ### How to add your submission? 249 | 1. [Click here](https://github.com/wwdc/\(year)/edit/main/Template.md) to fork this repository and edit the `Template.md` file. 250 | 2. Fill out the document based on the example in the comment below. 251 | 3. Make a new Pull Request and wait for the review. 252 | 253 | #### How to update your submission? 254 | If you would like to update your submission status please find your file in `Submission` directory. Edit file, update status and create Pull Request. 255 | 256 | ### Submissions 257 | 258 | | Name | Source | Video | Technologies | Status | 259 | |-----:|:------:|:-----------:|:-------------|:------:| 260 | \(submissions.sorted(by: { $0.name < $1.name}).map(\.row).joined(separator: "\n")) 261 | 262 | ##### Total: \(submissions.count) | Accepted: \(submissions.filter { $0.status == .accepted }.count) 263 | """ 264 | } 265 | 266 | print(readmeFile) 267 | -------------------------------------------------------------------------------- /Submission/.md: -------------------------------------------------------------------------------- 1 | Name: 2 | Status: 3 | Technologies: 4 | 5 | AboutMeUrl: 6 | SourceUrl: 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/amberwu.md: -------------------------------------------------------------------------------- 1 | Name: Amber Wu 2 | Status: Accepted 3 | Technologies: SwiftUI, ARKit, ARQuickLook 4 | 5 | AboutMeUrl: https://github.com/wyy511511 6 | SourceUrl: https://github.com/wyy511511/HockeyTourWithBingDwenDwen 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/anatoledebierre.md: -------------------------------------------------------------------------------- 1 | Name: Anatole Debierre 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/a2br 6 | SourceUrl: https://github.com/a2br/vote 7 | VideoUrl: https://www.youtube.com/watch?v=414azCHcAgk 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/aryanchaubal.md: -------------------------------------------------------------------------------- 1 | Name: Aryan Chaubal 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/chaubss 6 | SourceUrl: https://github.com/chaubss/Turing-Machine-WWDC22 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/ataberkturan.md: -------------------------------------------------------------------------------- 1 | Name: Ataberk Turan 2 | Status: Accepted 3 | Technologies: SwiftUI, Combine, CoreML, PencilKit 4 | 5 | AboutMeUrl: https://github.com/ataberkturan 6 | SourceUrl: https://github.com/ataberkturan/ParkinsonAI 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/audreywang.md: -------------------------------------------------------------------------------- 1 | Name: Audrey Wang 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/audreyolaf 6 | SourceUrl: https://github.com/audreyolaf/Theia 7 | VideoUrl: https://youtu.be/bLVWnQGnx9s 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/ayushsingh.md: -------------------------------------------------------------------------------- 1 | Name: Ayush Singh 2 | Status: Accepted 3 | Technologies: SwiftUI, SceneKit, ARKit 4 | 5 | AboutMeUrl: https://github.com/Ayush21082 6 | SourceUrl: https://github.com/Ayush21082/Flip-The-Cup 7 | VideoUrl: https://youtu.be/1zy_tqStrtA 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/bartłomiejpluta.md: -------------------------------------------------------------------------------- 1 | Name: Bartłomiej Pluta 2 | Status: Accepted 3 | Technologies: SwiftUI, Combine 4 | 5 | AboutMeUrl: https://github.com/bpluta 6 | SourceUrl: https://github.com/bpluta/Pwnground 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/bedirekim.md: -------------------------------------------------------------------------------- 1 | Name: Bedir Ekim 2 | Status: Accepted 3 | Technologies: SwiftUI, Vision 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/BedirEkim/Securencrypt-WWDC22 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/berkinceylan.md: -------------------------------------------------------------------------------- 1 | Name: Berkin Ceylan 2 | Status: Submitted 3 | Technologies: SwiftUI, CoreML 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/berkinceylan/WWDC22 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/bonsungkoo.md: -------------------------------------------------------------------------------- 1 | Name: Bon Sung Koo 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/terry-koo 6 | SourceUrl: https://github.com/terry-koo/WWDC_Colors_SwiftUI 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/bryanzanovirahman.md: -------------------------------------------------------------------------------- 1 | Name: Bryanza Novirahman 2 | Status: Rejected 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/bryanzanr 6 | SourceUrl: https://github.com/bryanzanr/drawer 7 | VideoUrl: https://youtu.be/ZIRQrQKmxsQ 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/byeonjinha.md: -------------------------------------------------------------------------------- 1 | Name: Byeon Jinha 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/Byeonjinha 6 | SourceUrl: https://github.com/Byeonjinha/CooC_Archive 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/carlvoller.md: -------------------------------------------------------------------------------- 1 | Name: Carl Voller 2 | Status: Accepted 3 | Technologies: SwiftUI, PencilKit, CoreML, NaturalLanguage 4 | 5 | AboutMeUrl: https://www.linkedin.com/in/carl-ian-voller 6 | SourceUrl: https://github.com/Portatolova/WWDC2022-Wholesome 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/chemapf.md: -------------------------------------------------------------------------------- 1 | Name: Chema PF 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/clxsrdev 6 | SourceUrl: https://github.com/clxsrdev/Mixin-UP 7 | VideoUrl: https://youtu.be/qkMU5xHEZ_8 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/chubohan.md: -------------------------------------------------------------------------------- 1 | Name: Chubo Han 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/soulwinter 6 | SourceUrl: https://github.com/soulwinter/Genetics-Lab 7 | VideoUrl: https://www.youtube.com/watch?v=-1Vt5Ta_dYw 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/conradcrawford.md: -------------------------------------------------------------------------------- 1 | Name: Conrad Crawford 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://cnrad.dev 6 | SourceUrl: https://github.com/cnrad/polyvisual 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/cynaracosta.md: -------------------------------------------------------------------------------- 1 | Name: Cynara Costa 2 | Status: Accepted 3 | Technologies: SwiftUI, AVKit 4 | 5 | AboutMeUrl: https://www.linkedin.com/in/cynaracosta/ 6 | SourceUrl: https://github.com/CynaraCosta/graviNewton-WWDC22 7 | VideoUrl: https://www.youtube.com/watch?v=kbO4dDJVx-A 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/daegunchoi.md: -------------------------------------------------------------------------------- 1 | Name: Daegun Choi 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit 4 | 5 | AboutMeUrl: https://github.com/ChoiysApple 6 | SourceUrl: https://github.com/ChoiysApple/Asteroids-Plus 7 | VideoUrl: https://youtu.be/OffJ0KTX0mI 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/davidmazzeo.md: -------------------------------------------------------------------------------- 1 | Name: David Mazzeo 2 | Status: Accepted 3 | Technologies: UIKit, SpriteKit 4 | 5 | AboutMeUrl: https://github.com/TheIntelCorei9 6 | SourceUrl: https://github.com/TheIntelCorei9/Swift-Student-Challenge 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/davindjayadi.md: -------------------------------------------------------------------------------- 1 | Name: Davin Djayadi 2 | Status: Accepted 3 | Technologies: SwiftUI, SceneKit, Combine 4 | 5 | AboutMeUrl: https://github.com/davindj 6 | SourceUrl: https://github.com/davindj/cofi 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/devanshudevchaudhary.md: -------------------------------------------------------------------------------- 1 | Name: Devanshu Dev Chaudhary 2 | Status: Submitted 3 | Technologies: SwiftUI, SpriteKit, Speech 4 | 5 | AboutMeUrl: https://github.com/devdchaudhary 6 | SourceUrl: https://github.com/devdchaudhary/A-Girls-Epiphany 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/diegohenriquesilvaoliveira.md: -------------------------------------------------------------------------------- 1 | Name: Diego Henrique Silva Oliveira 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/DiegoHSO 6 | SourceUrl: https://github.com/DiegoHSO/DinnerRun.git 7 | VideoUrl: https://youtu.be/OOMrZj_hsI8 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/donchia.md: -------------------------------------------------------------------------------- 1 | Name: Don Chia 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://donchia.tech 6 | SourceUrl: https://github.com/DonChiaQE/ReGen 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/eunbicho.md: -------------------------------------------------------------------------------- 1 | Name: Eunbi Cho 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit 4 | 5 | AboutMeUrl: https://github.com/Eunbi-Cho 6 | SourceUrl: https://github.com/Eunbi-Cho/Feel-the 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/frankchu.md: -------------------------------------------------------------------------------- 1 | Name: Frank Chu 2 | Status: Submitted 3 | Technologies: SwiftUI, Core Data, PencilKit, DocC 4 | 5 | AboutMeUrl: https://twitter.com/cyongfrank 6 | SourceUrl: https://github.com/yongfrank/OhMyFlag-WWDC22 7 | VideoUrl: https://twitter.com/cyongfrank/status/1518663840463872000 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/fredp.md: -------------------------------------------------------------------------------- 1 | Name: Fred P 2 | Status: Accepted 3 | Technologies: SwiftUI, UIKit, Core Graphics 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/fredpi/WWDC2022 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/furkanhancı.md: -------------------------------------------------------------------------------- 1 | Name: Furkan Hancı 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/furkanhancisecond 6 | SourceUrl: https://github.com/FurkanHanciSecond/LearnSwiftUI 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/gaeunlee.md: -------------------------------------------------------------------------------- 1 | Name: Gaeun Lee 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/rriver2 6 | SourceUrl: https://github.com/rriver2/WWDC--Ep- 7 | VideoUrl: https://www.youtube.com/watch?v=X5ij9X1Gq-A 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/garvshah.md: -------------------------------------------------------------------------------- 1 | Name: Garv Shah 2 | Status: Rejected 3 | Technologies: SwiftUI, SceneKit, ARKit, Combine 4 | 5 | AboutMeUrl: https://github.com/garv-shah 6 | SourceUrl: https://github.com/garv-shah/Swift-Student-Challenge-2022 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/geetanshatrey.md: -------------------------------------------------------------------------------- 1 | Name: Geetansh Atrey 2 | Status: Accepted 3 | Technologies: SwiftUI, CryptoKit 4 | 5 | AboutMeUrl: https://github.com/geetanshatrey 6 | SourceUrl: https://github.com/geetanshatrey/Vault 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/haotianzheng.md: -------------------------------------------------------------------------------- 1 | Name: Haotian Zheng 2 | Status: Accepted 3 | Technologies: SwiftUI, Combine, SpriteKit 4 | 5 | AboutMeUrl: https://haotianzheng.com/ 6 | SourceUrl: https://github.com/JustinFincher/WWDC2022-SwiftUINodeEditor 7 | VideoUrl: https://youtu.be/B6D3y49WOEQ 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/henribredt.md: -------------------------------------------------------------------------------- 1 | Name: Henri Bredt 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://henribredt.de 6 | SourceUrl: https://github.com/henribredt/Typography-WWDC22 7 | VideoUrl: https://www.youtube.com/watch?v=AiK6CGgM71w 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/hugoqueinnec.md: -------------------------------------------------------------------------------- 1 | Name: Hugo Queinnec 2 | Status: Accepted 3 | Technologies: SwiftUI, Vision 4 | 5 | AboutMeUrl: https://github.com/hugoqnc 6 | SourceUrl: https://github.com/hugoqnc/Split 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/hyunjunshin.md: -------------------------------------------------------------------------------- 1 | Name: Hyunjun Shin 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit 4 | 5 | AboutMeUrl: https://github.com/greenthings 6 | SourceUrl: https://github.com/greenthings/GreenWorld 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/ishaanbedi.md: -------------------------------------------------------------------------------- 1 | Name: Ishaan Bedi 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/ishaanbedi 6 | SourceUrl: https://github.com/ishaanbedi/Chipify-WWDC22 7 | VideoUrl: https://youtu.be/bWf6gNBQSB8 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/jakubflorek.md: -------------------------------------------------------------------------------- 1 | Name: Jakub Florek 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/MAJKFL 6 | SourceUrl: https://github.com/MAJKFL/Audioqe-WWDC22 7 | VideoUrl: https://youtu.be/TnayjRjrYp8 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/jiachen.md: -------------------------------------------------------------------------------- 1 | Name: Jia Chen 2 | Status: Submitted 3 | Technologies: SwiftUI, UIKit, SceneKit, ARKit 4 | 5 | AboutMeUrl: https://github.com/jiachenyee 6 | SourceUrl: https://github.com/jiachenyee/WWDC22-SSC 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/jonathan.md: -------------------------------------------------------------------------------- 1 | Name: Jonathan 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/fuzzynat26 6 | SourceUrl: https://github.com/FuzzyNat26/build-with-math 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/joãomedeiros.md: -------------------------------------------------------------------------------- 1 | Name: João Medeiros 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/jpcm2 6 | SourceUrl: https://github.com/jpcm2/JungleRescue 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/juancamposjr..md: -------------------------------------------------------------------------------- 1 | Name: Juan Campos Jr. 2 | Status: Accepted 3 | Technologies: SwiftUI, MapKit 4 | 5 | AboutMeUrl: https://github.com/PiggyGamingYT3 6 | SourceUrl: https://github.com/PiggyGamingYT3/Unwind 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/judongseok.md: -------------------------------------------------------------------------------- 1 | Name: Ju DongSeok 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit 4 | 5 | AboutMeUrl: https://github.com/MojitoBar 6 | SourceUrl: https://github.com/MojitoBar/SpaceHash 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/juhapark.md: -------------------------------------------------------------------------------- 1 | Name: Juha Park 2 | Status: Winner 3 | Technologies: SwiftUI, RealityKit, ARKit 4 | 5 | AboutMeUrl: https://github.com/juhapark21 6 | SourceUrl: https://github.com/juhapark21/WWDC22-DefaultAppsARGlasses 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/juhwalee.md: -------------------------------------------------------------------------------- 1 | Name: Juhwa Lee 2 | Status: Accepted 3 | Technologies: SwiftUI, UIKit, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/Juhwa-Lee1023 6 | SourceUrl: https://github.com/Juhwa-Lee1023/Hangeul 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/kaijunzhu.md: -------------------------------------------------------------------------------- 1 | Name: Kaijun Zhu 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit 4 | 5 | AboutMeUrl: https://kaijunzhu.com 6 | SourceUrl: https://github.com/Heyya-x 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/karandeepsingh.md: -------------------------------------------------------------------------------- 1 | Name: Karandeep Singh 2 | Status: Accepted 3 | Technologies: UIKit, SwiftUI, CoreML, AVKit 4 | 5 | AboutMeUrl: https://sg.linkedin.com/in/karandeep-singh-635888213 6 | SourceUrl: https://github.com/ConfuseIous/ASLearn 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/kaspermunchjensen.md: -------------------------------------------------------------------------------- 1 | Name: Kasper Munch Jensen 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation, PencilKit 4 | 5 | AboutMeUrl: https://github.com/KaffeDiem 6 | SourceUrl: https://github.com/KaffeDiem/DrawBeatMaker 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/kennethchew.md: -------------------------------------------------------------------------------- 1 | Name: Kenneth Chew 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/kthchew/ 6 | SourceUrl: https://github.com/kthchew/wwdc22-mystack 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/keshavkhaneja.md: -------------------------------------------------------------------------------- 1 | Name: Keshav Khaneja 2 | Status: Submitted 3 | Technologies: SwiftUI, manim, AVPlayer, CGPaths 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/3u1s/eoqe 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/leonböttger.md: -------------------------------------------------------------------------------- 1 | Name: Leon Böttger 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/leonboe1 6 | SourceUrl: https://github.com/leonboe1/SortApp 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/lexlinejohnson.md: -------------------------------------------------------------------------------- 1 | Name: Lexline Johnson 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/codeswift27 6 | SourceUrl: https://github.com/codeswift27/quantum-entanglement.git 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/linborong.md: -------------------------------------------------------------------------------- 1 | Name: Lin Bo Rong 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/rong1002 6 | SourceUrl: https://github.com/rong1002/2022WWDC_Swift-Student-Challenge_Burn-Calories 7 | VideoUrl: https://www.youtube.com/watch?v=UTRDFw31SUA&t 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/lucaswang.md: -------------------------------------------------------------------------------- 1 | Name: Lucas Wang 2 | Status: Accepted 3 | Technologies: SwiftUI, ARKit 4 | 5 | AboutMeUrl: https://github.com/Lucas-ZX-W 6 | SourceUrl: https://github.com/Lucas-ZX-W/gaze_control 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/luizaraujo.md: -------------------------------------------------------------------------------- 1 | Name: Luiz Araujo 2 | Status: Accepted 3 | Technologies: SwiftUI, SceneKit, SpriteKit, GameplayKit 4 | 5 | AboutMeUrl: https://github.com/LuizAraujo2020 6 | SourceUrl: 7 | VideoUrl: https://youtu.be/VHeL9B65_gM 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/m.bertantarakçıoğlu.md: -------------------------------------------------------------------------------- 1 | Name: M. Bertan Tarakçıoğlu 2 | Status: Accepted 3 | Technologies: SwiftUI, Core Animation, Vision 4 | 5 | AboutMeUrl: https://medium.com/@bertan.tarakcioglu 6 | SourceUrl: https://github.com/BertanT/BlinkBoard-WWDC22 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/madhavgulati.md: -------------------------------------------------------------------------------- 1 | Name: Madhav Gulati 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation, ARKit, SpriteKit 4 | 5 | AboutMeUrl: https://github.com/MadhavGulati/ 6 | SourceUrl: https://github.com/MadhavGulati/GeneCloning 7 | VideoUrl: https://youtu.be/j0WaM1uHiiQ 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/matheusdantas.md: -------------------------------------------------------------------------------- 1 | Name: Matheus Dantas 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/dantoso 6 | SourceUrl: https://github.com/dantoso/WWDC22Submission 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/matthewchristopheralbert.md: -------------------------------------------------------------------------------- 1 | Name: Matthew Christopher Albert 2 | Status: Accepted 3 | Technologies: SwiftUI, AVKit 4 | 5 | AboutMeUrl: https://github.com/MatthewCAlbert 6 | SourceUrl: https://github.com/MatthewCAlbert/wwdc2022-submission 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/maxtsai.md: -------------------------------------------------------------------------------- 1 | Name: Max Tsai 2 | Status: Submitted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/ming-zhe-02/The-Fake-News 7 | VideoUrl: https://www.youtube.com/watch?v=scV6d8G3EZw 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/minkyeongko.md: -------------------------------------------------------------------------------- 1 | Name: Minkyeong Ko 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/Minkyeong-Ko 6 | SourceUrl: https://github.com/Minkyeong-Ko/Freeboard 7 | VideoUrl: https://youtu.be/XXkhVd-ziIw 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/nathanielfargo.md: -------------------------------------------------------------------------------- 1 | Name: Nathaniel Fargo 2 | Status: Submitted 3 | Technologies: SwiftUI, Canvas, Math/Physics 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/theParadox42/Waves 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/omarabusharar.md: -------------------------------------------------------------------------------- 1 | Name: Omar Abusharar 2 | Status: Rejected 3 | Technologies: SwiftUI, UIKit, SpriteKit, ARQuickLook 4 | 5 | AboutMeUrl: https://github.com/omartheturtle/ 6 | SourceUrl: https://github.com/omartheturtle/SwiftStudentChallenge2022 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/oscarfridh.md: -------------------------------------------------------------------------------- 1 | Name: Oscar Fridh 2 | Status: Accepted 3 | Technologies: ARKit, RealityKit, SwiftUI, UIKit 4 | 5 | AboutMeUrl: https://www.linkedin.com/in/oscar-fridh-03279b125/ 6 | SourceUrl: https://github.com/OscarFridh/WWDC22 7 | VideoUrl: https://www.youtube.com/watch?v=Yvlz3F5ZXkg 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/patriciasampaio.md: -------------------------------------------------------------------------------- 1 | Name: Patricia Sampaio 2 | Status: Accepted 3 | Technologies: AVFoundation, SceneKit , SwiftUI, UIKit 4 | 5 | AboutMeUrl: https://github.com/patysiq 6 | SourceUrl: https://github.com/patysiq/SagittariusA_WWDC2022 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/paulocésar.md: -------------------------------------------------------------------------------- 1 | Name: Paulo César 2 | Status: Accepted 3 | Technologies: SpriteKit, SwiftUI 4 | 5 | AboutMeUrl: https://github.com/Nyffi 6 | SourceUrl: https://github.com/Nyffi/WWDC22-SwiftStudentChallenge 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/peteryaacoub.md: -------------------------------------------------------------------------------- 1 | Name: Peter Yaacoub 2 | Status: Accepted 3 | Technologies: AVFoundation, CoreGraphics, SwiftUI, UIKit 4 | 5 | AboutMeUrl: https://github.com/Yaacoub 6 | SourceUrl: https://github.com/Yaacoub/Swift-Student-Challenge/tree/main/WWDC%202022 7 | VideoUrl: https://youtu.be/t4NQSHLIbaw 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/riccardopersello.md: -------------------------------------------------------------------------------- 1 | Name: Riccardo Persello 2 | Status: Accepted 3 | Technologies: Accelerate, AVFoundation, SwiftUI 4 | 5 | AboutMeUrl: https://github.com/persello 6 | SourceUrl: https://github.com/persello/ssc22 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/ridohendrawan.md: -------------------------------------------------------------------------------- 1 | Name: Rido Hendrawan 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/ridohendrawan 6 | SourceUrl: https://github.com/ridohendrawan/WWDC22-Chinese-Porcelain 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/ryandu.md: -------------------------------------------------------------------------------- 1 | Name: Ryan Du 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation, SceneKit, CoreMotion 4 | 5 | AboutMeUrl: https://github.com/ryendu 6 | SourceUrl: https://github.com/ryendu/GradientDescend 7 | VideoUrl: https://www.youtube.com/watch?v=TINWpa961VE 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/sampoder.md: -------------------------------------------------------------------------------- 1 | Name: Sam Poder 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/sampoder 6 | SourceUrl: https://github.com/sampoder/whack-a-mole 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/saschasalles.md: -------------------------------------------------------------------------------- 1 | Name: Sascha Salles 2 | Status: Accepted 3 | Technologies: ARKit, Vision, CreateML, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/saschasalles 6 | SourceUrl: https://github.com/saschasalles/Athletic-Robot.swiftpm 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/sérgioruediger.md: -------------------------------------------------------------------------------- 1 | Name: Sérgio Ruediger 2 | Status: Accepted 3 | Technologies: SwiftUI, Combine, CoreGraphics, CryptoKit 4 | 5 | AboutMeUrl: https://github.com/sruediger 6 | SourceUrl: https://github.com/sruediger/WWDC2022CTF 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/taekhwanhan.md: -------------------------------------------------------------------------------- 1 | Name: TaekhwanHan 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/TaekH 6 | SourceUrl: https://github.com/TaekH/WWDC22_MedicineReminder 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/tamerlansatualdypov.md: -------------------------------------------------------------------------------- 1 | Name: Tamerlan Satualdypov 2 | Status: Accepted 3 | Technologies: SwiftUI, AVFoundation 4 | 5 | AboutMeUrl: https://github.com/onl1ner 6 | SourceUrl: https://github.com/onl1ner/Morse 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/vedantmalhotra.md: -------------------------------------------------------------------------------- 1 | Name: Vedant Malhotra 2 | Status: Accepted 3 | Technologies: SwiftUI, UIKit, ARKit, PencilKit 4 | 5 | AboutMeUrl: https://github.com/vedantapps 6 | SourceUrl: https://github.com/vedantapps/SaveWWDC 7 | VideoUrl: https://youtu.be/um2HbaI8xqA 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/vincentspitale.md: -------------------------------------------------------------------------------- 1 | Name: Vincent Spitale 2 | Status: Accepted 3 | Technologies: SwiftUI, PencilKit, VisionKit, MetalKit 4 | 5 | AboutMeUrl: https://github.com/vincentspitale 6 | SourceUrl: https://github.com/vincentspitale/SSC2022 7 | VideoUrl: https://youtu.be/vQM8yTbGguQ 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/vitorgrechikuninari.md: -------------------------------------------------------------------------------- 1 | Name: Vitor Grechi Kuninari 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit 4 | 5 | AboutMeUrl: https://www.wwdcscholars.com/s/32CD09B0-46A3-4D89-A10F-AF9984766715 6 | SourceUrl: https://github.com/VitorGK/WWDC22-Swift-Student-Challenge 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/xikailiu.md: -------------------------------------------------------------------------------- 1 | Name: Xikai Liu 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/iamGeoWat 6 | SourceUrl: https://github.com/iamGeoWat/WWDC22 7 | VideoUrl: https://www.bilibili.com/video/BV1W34y1p7M3/ 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/yaoyaowu.md: -------------------------------------------------------------------------------- 1 | Name: Yaoyao Wu 2 | Status: Accepted 3 | Technologies: SwiftUI, ARKit, ARQuickLook 4 | 5 | AboutMeUrl: https://github.com/wyy511511 6 | SourceUrl: https://github.com/wyy511511/HockeyTourWithBingDwenDwen 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/yauhenistsefankou.md: -------------------------------------------------------------------------------- 1 | Name: Yauheni Stsefankou 2 | Status: Accepted 3 | Technologies: SwiftUI, SpriteKit, CoreGraphics 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/stefjen07/WWDC22-NeuralNetworks 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/yiweiwang.md: -------------------------------------------------------------------------------- 1 | Name: Yiwei Wang 2 | Status: Accepted 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/wangyiwei2015 6 | SourceUrl: https://github.com/wangyiwei2015/ColorCodeChallenge 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/yunhooh.md: -------------------------------------------------------------------------------- 1 | Name: Yunho Oh 2 | Status: Rejected 3 | Technologies: SwiftUI 4 | 5 | AboutMeUrl: https://github.com/Helloyunho 6 | SourceUrl: https://github.com/Helloyunho/about_computer_bits 7 | VideoUrl: https://youtu.be/V8Zhc-dDbVI 8 | 9 | 19 | -------------------------------------------------------------------------------- /Submission/zhuhaoyu.md: -------------------------------------------------------------------------------- 1 | Name: Zhu Haoyu 2 | Status: Submitted 3 | Technologies: SwiftUI, ARKit, Speech, UIKit, CoreMotion 4 | 5 | AboutMeUrl: 6 | SourceUrl: https://github.com/underthestars-zhy/Date-Planner.swiftpm 7 | VideoUrl: https://www.bilibili.com/video/BV18Y4y187Gj/ 8 | 9 | 19 | -------------------------------------------------------------------------------- /Template.md: -------------------------------------------------------------------------------- 1 | Name: 2 | Status: 3 | Technologies: 4 | 5 | AboutMeUrl: 6 | SourceUrl: 7 | VideoUrl: 8 | 9 | 19 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wwdc/2022/181a5b2e7827996a272cd7b71104a2eeca1cfe85/logo.png --------------------------------------------------------------------------------