Join me on my journey to ship an app in 90 days from near-zero developer experience. - Explore the landscape of tools and resources together with me as I discover new things. - Learn with me as I make mistakes. - Experience the process that a beginner go
The 90 days has finally come to an end. In the beginning it felt like an endless amount of time but the end has really snuck up on me quickly. I want this final episode to be the one episode everyone listens to. This is where I summarise and illustrate the most important lessons I've learned over the past 90 days. 90 Days: This is just the tip of the ice-berg. Success and failure is not binary. Yes, my Handstand App was ambitious for a beginner. Partnering on projects with other people multiplies the complexity of getting things done. Coding work requires longer periods of un-distracted focus. Certain genres of music help immensely in getting into a good flow state. Shiny object syndrome for learning resources is totally normal, and happens to almost everyone. The best learning resources are structured resources that you can complete from start to finish. iOS development is hard. Both for beginners and experienced developers alike. Keeping a simple approach to learning is better. Allow for rest when needed. Life does, and certainly WILL get in the way. Expect that. Don't hold your personal project too close to your heart. DO show the world what you're working on. I spent over 100 hours just getting my audio online for this podcast. Bali is a tough place to find focus. I probably averaged just 4 hours of actual productivity per day. 7 days per week. I probably left about 50% of my potential on the table Pacing is important when it comes to learning iOS development (and software engineering in general). Learning ABOUT iOS development is almost just as important as LEARNING iOS development. Yes, being a purely native iOS developer is still a very much viable option. Building apps is NOT just about code. Developer machines do well to have a larger SSD. At least 512GB. How long does it take to learn this? It took me around 20 days to find my feet in iOS development. Learn from BOTH easy resources, AND hard resources. Progressively overload yourself. A podcast is a POWERFUL form of public accountability. Set goals and deadlines to stay on track. Jack's final hack: Keep it fun! It's a marathon so you should enjoy the journey! Checking out... I will do more updates in the future, but it's time for me to take a break from podcasting. Thanks for listening everyone, I hope you learned something new!
Discussion: Youtube is dangerous. If you can avoid touching it for learning, it's better. Progress Update: Did my breathwork practice. Inspiration and realisations ensued. Lecture 12 Stanford iOS (This one is a long one!) Working through the final lectures of Stanford iOS now, and will continue on with Hacking with Swift after this. I find myself procrastinating the Stanford lectures a bit because it's hard for me right now. Final life update: Rainy season has arrived in Bali. Working with Dylan on the breathwork app. Feeling about 80% burnt out. My next challenge is to recover my energy and vitality. dev90x.com
Discussion: Unwrap is finished, now it's time to finish off Stanford. Stanford is much harder, and still above my ability level. I learned a lot from Unwrap, and I feel like it was the perfect glossary of the language fundamentals. Setting my sights on 100 Days of SwiftUI Progress Update: Finished Optionals on Unwrap, and finished Unwrap! Finished Lecture 11 of Stanford iOS. Running at probably 80% burnt-out. Excited to take some real down-time. Learning how important a larger SSD is for development. Turns out that having tough workouts every morning is eating away at my energy during the day a little. I feel like I just need to come home and powernap during the middle of the day. dev90x.com
Discussion: A bundle size oriented approach to a content based app. Progress Update: Finished Protocols in Unwrap - up to the last section on Optionals. Mapped out a data budget for the app binary - targeting a binary that is under 200mb with video and audio content. 200mb is a download threshold for allowing downloads over cellular It's also a good idea to ship smaller apps for download UX Figured out that we can get 100 minutes of mp4 content to fit in around 50mb - which should take care of the “60 second explanations” within budget. Learned how Duolingo does their animations Checked out a bunch of the most popular cocopods packages Watching benchmark tests for the new M1 Pros and Max's Checking out the open source Unwrap app source files to learn from the architecture. Protocol oriented programming. Checked out Dylan's new villa - which will be the new office/work space. Chilled out and relaxed a bit with Dylan. dev90x.com
Discussion: Going from easy materials to hard materials. Keeping things fun. In order to grow, you need to move out of your comfort zone. The way you do one thing, is the way you do many things. Realising it's ok to need someone to push you a little. Progress Update: Finished Classes in Unwrap. Onto Protocols. Adjusting to hard morning workouts. dev90x.com
Discussion: Halloween was fun. Got stuck in a traffic jam for 40 minutes at 4am on my way home. You don't need alcohol to party. Final week of the podcast. Progress Update: Wrote a simple coding question to the Hacking with swift community, and after writing it out, immediately realised the answer. Lesson learned - ask dumb questions and you might just answer the question yourself. More lessons from Unwrap - it turns out that classes do in fact always need initialisers and memberwise initialisers are only available for structs. Still curious as to how this compares with Protocols. dev90x.com
Discussion: Trying to organise fun weekend plans with groups of people, while simultaneously deep focusing on work, is almost impossible. I understand why entrepreneurs, executives, and engineers use nootropics to gain focus. I understand why people have to have huge noise cancelling headphones on. I understand why engineers hate meetings I understand why managers and engineers don't get along Lesson? Don't swim against the current. Progress Update: Unwrap lessons - Structs - complete. 3 more sections to go. To do: finish reading Dylans breathwork book. Market research - new breathwork books, new science, new apps. Morning workout #6 - missing my morning routine again. Ecstatic dance was just what I needed last night. Did an evening relaxing breathwork sequence last night it was good. I fell asleep instantly after that. dev90x.com
Discussion: Estimating the value of an idea. Progress Update: Unwrap app lessons - Structs Planning out the project timeline Planning out team members Mapping burn rate Breathwork practice using different music Morning workout Market Research Sizing Conversion Rates User acquisition costs Initial user projections Company valuation Pre-market value Market size estimations dev90x.com
Discussion: It's essential to practice the things that you build an app for. It's essential to be a user of your own app. Progress Update: Fulfilled a promise to help a friend. Met up and spoke to Dylan Researched app name ideas Talking about audio recording setups Researching the most popular breathwork series from Alo moves Morning start is the most popular Did the morning start video on Alo and took away a few key lessons. dev90x.com
Discussion: Becoming a morning workout person is a huge change for me. Get an early start on the day Actually have a good use for the coffee I am drinking. Boost my emotions and brain function. Maintain a more consistent training program. Progress Update: Started reading my first programming book: Mastering Swift 5.3 - not the most current but it's what I have for now. Finished section 6 in Unwrap: closures. I still don't fully get why closures are such a big thing. I'm sure once I start using them in practice I will understand better. A bit of jamming in a swift playground. Started section 7 for structs. Still learning a little piece of the language with each lesson - this is paced really nicely and the perfect difficulty level for me, even though I thought it was beginner-ish. Started lecture 11 Stanford. Keen to get going on 100 days of SwiftUI but I want to focus and finish one thing at a time. Design Session with Dylan Pricing model - annual vs monthly Content duration. In app currency for unlocking pro content concept. Agreed on using data to make design decisions rather than opinion. Not aiming to be the best app - aiming to be the number 1 app. Working against perfectionism. Obviously we also want to be the best app. Designing a sense of progression through skill level. Designing programs. dev90x.com
Discussion: This 90 days has been a bit of a rollercoaster ride. Pushing my own limits to stay consistent on something big. One month of strict keto - transformed my health. Getting sick. Getting burnt out after getting sick and not taking proper rest. Developing an intense crush on my friend and then being rejected (twice). Asking for help on the handstander project. Working with Harry. Pivoting the app project to a new app, and new partner. Working with Dylan. Buying an iPhone and switching over from Android. Learning Xcode. Learning Swift. Learning about iOS development in general. Building a demo app for handstander. Training an action detection model. Learning a lot about A.I and machine learning. Choosing between UIKit and SwiftUI. Beginning the journey of learning SwiftUI. On track to launch something big. Progress Update: 7 Lessons from Unwrap Finished lecture 10 of Stanford Missed out of video 3/3 of the ios architect crash course because it was on a timer. Carved out some down time in the middle of the day for a nap to catch up on sleep. Did my breathwork. Did my morning workout (transitioning to morning workouts rather than afternoon). Did my 100 handstands. dev90x.com
Discussion: In case you're wondering, nope, I'm still not good again yet. A little better though. Progress Update: Loader screen into Homing in on some good name ideas. Getting clearer on the core design and UX. Finished lecture 2 of iOS architect crash course. dev90x.com
Discussion: I wanted this podcast to be an honest overview of my life. Suppressing my feelings for someone close to me as slowly eaten away at my energy, vitality, and ability to focus and be productive. Other important aspects of my life were sacrificed in order to maintain a disciplined approach to this new endeavour. Certain things can only be ignored for so long until you burst at the seams. Creating space for intimacy in my life. It seems like everyone I know is going through relationship turmoil right now, so it's not just me. I'm going to refocus my life to address these neglected areas. I wonder if I'm doing this the hard way. I think of the scene from Castaway where Tom Hanks is trying to light a fire rubbing sticks together, and he just hurts himself because he's trying too hard using the wrong technique. Progress update: Decided on a high level direction for the app name - shying away from yogic traditions. Learned that the volume dimming of music is not a good user experience. Explaining breathwork concepts to people is a challenging endeavour. The design of this app is very important - so I've been thinking less about code and more about design. dev90x.com
Discussion: Finding the perfect app that we are not competing with. Reading reviews Progress Update: More lessons from Unwrap Practicing breathwork with different music Scanning the Google Play Store for breathwork apps dev90x.com
Discussion: As it turns out, Dylan has a really good contact in Silicon Valley. Progress Update: Doing my breathwork practice with a different playlist Testing the Wim Hof Method app More lessons from Unwrap 20 minutes code Jam in a playground Building some SwiftUI views Meeting with Dylan - talking about Design and a phone call to a girl in Silicon Valley, talking about building apps. dev90x.com
Discussion: Realising that most new project concepts start on paper, and not in Xcode. The more you ideate, the less you code. Deciding on which project to pour my life-blood into. Strategising on a way to navigate the equity conversation now that a new opportunity is on my doorstep. Progress Update: 4 more lessons from Unwrap. Back into the design phase. Initial design work on the Breathwork app. Lot's of research into equity splitting, vesting schedules etc. Listening to really old podcast episodes from 2015 dev90x.com
Discussion New Macbook pros - I am unsure about the upgrade. New business opportunity - an app with Dylan Werner. Progress Update: Watched lecture 1/3 of iOS architect crash course - pretty salesy 2 Lessons from Unwrap app 20 minutes code jam in a Playground Watched the Apple presentation. Started a new project in Coda for the breathwork app.
Life Update: Feeling under the weather again Fasting went well Breathwork was challenging again Discussion: I anticipated this would happen... many hours being spent on things other than development. Harry has begun working on the screen designs. Progress Update: 3 hour session with Harry Equity agreement Roles and responsibilities Marketing strategy Funding Strategies Screen designs Read a very comprehensive new article from Paul Hudson Decided to narrow my focus in the materials I am consuming to plow through things faster and get less distracted. dev90x.com
Discussion: Drank alcohol and slept poorly Lacking motivation to really get things moving today Feeling a bit unfocused. Crushed my breathwork practice (again). Learned that it feels a lot better to get big things done rather than lots of little things. Progress Update: A lot of random things. One Full module from the unwrap app New resources roundup Apple developer news website let's build that app! blog has some really great explanation articles. Not tutorials per-se... more so explanations. Scanned the app store for developer news apps - found iDev but it is subscription only, no free version. One line of code in a playground Engaged in the Hacking with Swift Slack Planned my week ahead in detail Added Bucket list, and Ideal Habits, into my life planner document. dev90x.com
Discussion: Morning routine: Wake up average around 6am, sometimes later, sometimes earlier. Make a warm beverage. Sip beverage while doing Indonesian study on Duolingo Bathroom Breathwork practice Second warm beverage iOS study time commences. Stanford iOS course lectures on YouTube Unwrap app mini lessons. Note taking Googling random questions that come to mind YouTubing random questions that come to mind Often getting sidetracked by the youtube algorithm, or a question chain that goes deeper. Around town - podcasts Under the radar is number 1 - listened to around 43 episodes - goal is to listen to all 200 or so. I like the 30 minute time cap format - the information is more condensed and succinct. Swift by Sundell or Stacktrace is number 2 - if I ever ran out of pre-downloaded episodes. (for some reason I cannot stream podcast episodes from my LTE connection here in Bali) My one line of code: Swift Playgrounds - testing language concepts, mostly concepts that come up from doing the unwrap lessons. So many little language quirks to test and understand. Work from home. Sessions with Harry Focus on design aspects and community engagement. I've got a book lined up on my phone for when I finish the Unwrap course My plan is to move into the 100 Days of Hacking with Swift course as a daily do-er. Progress Update: Another 3 lessons in Unwrap. dev90x.com
Discussion: When opportunity strikes... Progress Update: 9 Lessons on Unwrap Looked for facebook groups specific to iOS engineers in Bali Worked with Satya for 2 hours. (Took 3 hours) dev90x.com
Discussion: Engaging the community Asking users questions Responding to feedback Design Sprint with Harry Learning code 1 line of code Progress Update: Posted in the facebook group for the first time Responded to some feedback on Instagram. Wrote a long life update email to my parents explaining my situation with the project. Some lessons of Unwrap Played in a playground a bit - 1 line of code, done. Downloaded an example project from Github for Giphy on iOS Engaged the Hacking with Swift Slack Community. Half of lecture 9 Stanford iOS dev90x.com
Discussion: My current strategy is to learn by watching others implementing code, to expose myself to as much code as possible, in as many different contexts as possible. Having a strong understanding of code is a lot about recognising patterns and their contexts. You can only gain this by experiencing a lot of patterns and a lot of contexts. Progress Update: Lecture 7 of Stanford iOS Lecture 8 of Stanford iOS Some Youtube tutorials Playing around with Enums in a Playground. Some lessons from the Unwrap app. dev90x.com
Discussion: Demo app is written in UIKit SwiftUI is the long-term future. Progress Update: Worked with Harry for 2 hours on the Design sprint in Miro. Created a new Git Branch for the logic implementation Life Update: Helmet was stolen - got a new helmet Transitioning away from restaurants, preparing food at home - shopping Internet cut out in the middle of the day. Refuelled my scooter. dev90x.com
Discussion: Breaking the impossible down into the possible. Progress Update: 14 learn to code 2 challenges (Done!) Trying to implement firebase pods Ran into some roadblocks with pods and M1 Finished watching Stanford Lecture 6 Designed a little path to pro - programmer for myself 1 hour meeting with Harry going over the Miro board dev90x.com
Discussion: I'm in the flow - didn't even watch the last episode of Ted Lasso yet. Just keep on struggling through the confusion. Progress Update: Did my one line of code! Watched a lot of video content. Youtube, Apple, Hacking with Swift. Learning how to calculate duration between two events. Learning how to implement Core Location Learned that it's difficult to implement Core Location in a playground. Learned locations can be accurate to: metres, 10 metres, 100 metres, 3000 metres. That the GPS location can take some time to come back, so it might need to be run asynchronously. Realised I need a separate class to handle the handstand sessions, separate to the logic class that I've been working on. Life update: Back into budgeting and tracking expenses. dev90x.com
Discussion: Swift Playgrounds is the best place to test code. Writing simulation functions has helped improve my coding abilities. Progress Update: Working on Handstand Logic V2 (got my one line of code in). Implementing a handstand timer using the timer function may not be the best way. Learning different ways of finding the duration between events. Need to learn how combine works. Need to learn a lot of things. dev90x.com
Discussion: Getting back into the zone can be done with music. When music is playing, focus is happening. Just pick music without lyrics. Progress Update: Last night: 4 challenges from Learn to Code 2. Built Handstand Logic V1. Handstand Logic V1 failed! Because... it does't hold enough memory Handstand Logic V2 is now under construction. Handstand Leaderboard is live! Get the longest hold! dev90x.com
Discussion: Spending time cleaning up and re-organising the project. Removing that which is not important makes space for that which is important. An organised project hub is one that gets used. Progress Update: Last night: 1 coding challenge in Learn to code 2 Loaded apps onto Harry's phone that will not expire Tested the background segmentation app to see how it affects the vision model. Tinkered with the segmentation app to get my 1 line of code in. Wrote up a V1 summary of the various app screens Cleaned up project documents in coda dev90x.com
Discussion: A simple 1% better at development. Learning Git. Spending considerable time back in the app feature design. Project Updates: Trying to try a new iOS 15 app that does image segmentation requests using vision Finally set up github - using Github Desktop to manage the entire process. Looked into the Apple Developer Academy in Indonesia - potentially a place to hire from close to home. Updated phone to iOS 15. Updated to Xcode 13. Still have not done my 1 line of code today (yet). Honesty Hour! Cheating too much on keto - it's time to get back on the train! I've had one shot of coffee in the last 2 weeks. Going strong on tea only. Watching too much TV - Ted Lasso hooked me. After Ted Lasso I'm done with TV for a while. dev90x.com
Discussion: Domain name strategy Progress Update: Worked with Satya on the Empowered Journal Buying new domain name Recreating google account Recreating instagram Redesigning the handstand survey One puzzle in learn to code 2 dev90x.com
Discussion: Writing code is a complex problem solving process that needs to be exercised as often as possible. I'm going to implement a new habit of writing or modifying at least 1 line of code every day. I expect this will not be as straightforward as it sounds. Will likely require reading a decent amount of code first as a pre-requisite to making any modifications. Progress Update: Crafting the leaderboard in Coda Video editing workflow set up Re-organising the Handstander Project in Coda - ticking off all the old questions and tasks. Learn to Code 2 - completed 1 challenge. Tried to cheat at it, and by trying to cheat I learned a lot. dev90x.com
Discussion: Trying to plan group events in a time when restriction rollouts are applying to unvaccinated people. Increased complexity to account for in what used to be ordinary tasks. Progress Update: Working on the “how” of the handstand leaderboard product. Checking out handstand competitions on YouTube. dev90x.com
Discussion: I couldn't sleep last night. Cigarette smoke in my room Missed dinner and was hungry My snack gave me mild food poisoning, lol. Dopamine detox FTW! Supposed to have a dopamine detox day today, but the podcast... The podcast is a consistency challenge. Can I be consistent with something for 90 days straight? I was going to save mentioning this until the end, but... I don't exactly recommend doing this. I would probably be watching Ted Lasso right now if it weren't for the podcast though. Good news: Did yoga, breathwork and meditation this morning with my friend Ester, and I feel inspired to make this a habit again. Progress Update: 7 coding challenges in Swift playgrounds Initialising objects Initialising objects with properties arguments and parameters using switch case correctly Made the Coda account for Handstander, and started the leaderboard page The new iPhones have better battery, which spells good news for apps like Handstander. dev90x.com
Progress Update: Finally a proud member of the Apple Developer Program! New strategy: Validate app ideas manually before building them. Longest Handstand Leaderboard (Do people want to compete on a leaderboard?) Building and engaging our community Various different challenge modes can be manually validated via the community. New Ideas: Handstand Heat Map - a map grid which shows where handstands are happening around the world. Change the colour of grid squares by doing handstands. King of the grid game - plant your flag by doing the most handstands on that grid square. People can click the grid to go to your profile. Handstands near me - the app sends notifications to people in the nearby area for you to connect to/follow. Get followers by doing handstands. dev90x.com
Discussion: Things are getting serious now. The ambition is high. Progress Update: Serious day of work - 8am to 3pm non stop. Reaching out to a UX designer who worked on Fitness Ally Learning about monetization strategies Market sizing research Learning from Swing Vision Brainstorming dev90x.com
Discussion: Running into friends while working from cafes. Progress Update: Designing data structures Learning how to pull GPS coordinates into my code Learning how to implement a timer to keep track of handstand duration. dev90x.com
Discussion: It's funny how you can do something one time, then try to do it again and run into roadblocks the second time. Progress Update: Plugged in Handstand Vision 2 into the Xcode project. Created a basic git system on my mac. Implemented my first working sound effect into the app. Unfortunately it creates a lag effect while the code tried to continue running synchronously. Need to find a way to run the sounds effect on a different thread? Implemented the basic logic structure in my code using switch statements and arrays of labels. Harry has his bunch of progress items as well
Discussion: So much ideation and brainstorming. Feature concepts. What's important right now. Moving the project forward. Progress Update: Worked with Harry for 5 hours Branding discussion Logo talk Roles and responsibilities Plan to discuss payment and equity split dev90x.com
Discussion: Talking to Felix, an experienced ML programmer who has worked in robotics, I realised I am no longer a beginner when it comes to training AI models, and I am approaching expertise when it comes to training an action classifier for an iOS app. Progress Update: Completed a data set for ideal handstand conditions of just over 20 videos. Tested the model in ideal scenarios, and it performs decently well on all of them. It's probably time to build the logic layer now and implement that into the app for further testing. Developer program still pending. Learned that apps auto delete themselves from your phone after 7 days if you have not paid for the developer program. dev90x.com
Discussion: The limitations of Apple Vision Strange scenes Occluded body parts Can't find the face Thinks it's a shadow Progress Update: Handstand Vision V2 has been trained, and is an improvement on V1 Better recognition of entries Better recognition of exits Less confused about other types of inversions Learned more of the limitations of Apple Vision dev90x.com
Discussion: Having another person involved: Doubles the size of the accessible network Smooths out the workflow Holds more consistent momentum Brings in a division of labour Increases the team skill-pool Increases quality of brainstorming Enables reflective feedback It also complicates a few things: Division of value and equity Progress Update: Purchased the Apple Developer program for $150AUD Downloaded more videos Edited a lot of videos Probably around 80 more clips Did some logic verification on some videos Created a list of ideal data requirements for my own reference to potentially teach others how to do this. Built out more folder structure for the data. dev90x.com
Discussion: Portfolio project VS serious app project. Progress Update: Downloaded more data Handstand walking Edge case data - scenes with mirror reflections. Sunset background, silhouette foreground. Scenes with crowds of people Designing the logic system 1D, 2D, 3D 1 second delay, 2 second delay, 3 second delay. More comparisons on video compression and vision quality. The drop-off point seems to be after 95% compressed. Marginal gains from 95-90% compression. Good performance on less than 90% compressed. Talking branding with Harry and Dylan Redesigning the folder structure for the training data dev90x.com
Progress Update: 1 hour business call with Harry Discussed target market Discussed community targeting strategy Talked about the initial app features Identified some issues Talked about cheating and the impact of that on the game experience for others Mapped out some of the logic for the Handstand Judge Realised that every logic sequence should begin with “other” as the starting pose, and end with “other” as the final finishing pose. Downloaded more data from Instagram 40 more videos to edit and sort now Continued to build the model stress test dataset to see how it performs on the toughest edge cases. Did some trend analysis for handstands in google trends to find the most popular search term. (Which is Handstand (Yoga Pose)) Organic Google search traffic is definitely not a viable marketing strategy Did a compression test to see how much compression reduced the accuracy of Apple's Vision - surprising results. Tested out the competition properly - handstand quest app test. Realised there has never really been an easy way to track handstands until handstander. dev90x.com
Discussion: Getting back into training the AI - takes some time to get back into the flow of it. Re-designing the training data set Creating a collection of edge test data - random and strange videos Do I put all things that are not handstands into the “other” pose - even headstands? Pole-dancing videos give really interesting 3D postures where the camera is static, and the person is moving around. Dancing videos give a great dynamic overview of movement patterns to test the model against. Progress Update: 120 training cycles yielded 91/70. 240 training cycles yielded 92/73 (+1%, +3% accuracy) dev90x.com
Discussion First time experimenting with a work trade The focus was mostly on Handstander Progress Update Testing the app on an iPhone X for the first time. Running at a lower framerate but still seems to work at getting predictions. iPhone X is probably the lowest that can be supported Created an Instagram for Handstander New Community group chat for collecting data in Telegram Data collection strategy combined with alpha release strategy. Started work on branding and aesthetic design dev90x.com
Discussion: Now that I have a much better codebase to work from, it is enabling me to iterate faster on the core design and features. The main priority is to improve the performance of the predictions so that it's getting it correct every time. Progress Update: Changed the confidence threshold for the pose predictions from 60% to 35% so now I can see the feedback of all the low confidence predictions as well. Realised if I am to design a prediction smoothing and logic system, I will need to continue to include many different pose classes to be trained into the model - which means maintaining correct volumes of training data for each class as opposed to throwing everything into an “Other” class and just keeping handstands as the primary. I will experiment with this now to see how it works. dev90x.com
Discussion: Strategy: just take tutorials and customise them to my needs. Problem: Not a lot of tutorials available to suit my specific need. Problem: Most tutorials are for completely different apps. Problem: Most tutorials focus on learning UI and views - whereas my core app does not need this yet. Problem: Vision framework applications (from what I can see so far) use a lot of complex structures of the language. Strategy: take bits and pieces from example apps and open source apps and stitch them together. Problem: Requires understanding the code Which requires understanding pretty much the entire project. It takes a long time to read and understand another project for me. Strategy: Hire someone else to build the entire thing for me. Requires an iOS specialist - not a flutter developer. Not as common or easy to find. Requires a step back to project management and managing someone else doing the work. Requires capital - I could probably do it with under 5k, but that's more than I can currently afford. Doesn't result in as much learning for myself. Cannot be a portfolio piece to showcase my development ability. Strategy: build it all from scratch myself. Requires that I gain swift fluency as I will be implementing my own custom design. Most people take around 6 months to learn iOS app development from scratch. And this might even be a difficult project for someone who's spent 6 months already. At this rate, I will run out of time. Strategy: hybrid approach. Learn swift Copy as much as I can from other projects What is the minimum amount that I need to learn? Understand all the basics of Swift Understand object oriented programming How classes behave How structs behave Understand project architecture and design patterns dev90x.com
Discussion: I think the project has to be a fuck yeah for you to be pumped up about the small wins, because the small wins can be monumentally difficult sometimes. Progress update: Good feedback from my instagram posts - all positive so far. People are wowed by the vision skeletons - that seems to be the thing that attracts attention to the app Some people want me to build features to help with yoga I realised that the camera is a necessity - the user has to be able to see that they are in the scene, and being captured properly. I was thinking to remove the camera video feed view to save on battery, but I don't think that will work. Anxious about my crappy code turning into a mess Life update: Heading to the mountains for a day! dev90x.com
Progress Update: Handstand Vision is plugged in!! The sample videos are on Instagram, and the first round of reactions are coming in. Learned the correct way to refactor class names. Refactor and rename is the way to go in Xcode. Next Steps: Re-train the ML Model to include more, and better data. Implement a basic counting system. Implement audio feedback Get some beta testers dev90x.com
Discussion: What does the new gear mean for me? Apple Watch integrations Wide angle front facing cameras on the iPad Progress Update: Watched the Apple Event to check out the new tech Apple is pushing a lot of fitness applications to have Apple watch features. Cool to see they featured Swing Vision again in this. Hacking around the Action and Vision app Making my own comments where I might find useful snippets of code. I can come back to these later and use them as inspiration for my own code design. Re-watching the Apple video explanation of the code powering this app. Getting slightly more out of it the second time through. General research - google, stack overflow, and youtube. Found a new project called “Guess my exercise”! dev90x.com