Published inDreamwod tech·Mar 8, 2022How I built my tech startup as a solo developerTime flies! Here are some thoughts, tips, and mistakes after running a tech company as a solo developer for almost a year. What am I building? ❓ I had the idea that I wanted to build a Crossfit training app for gyms and athletes. I named it Dreamwod and just launched it on App Store…Golang6 min readGolang6 min read
Published inDreamwod tech·Nov 25, 2021Cloud Vision vs Flutter MLKit for OCR detection of Concept2 machineThis is a comparison of two OCR detection alternatives for the contents of the Concept 2 rowing machine LCD display. MLKit in Flutter vs Cloud Vision at Google Cloud. Background Dreamwod is a Crossfit app where a lot of athletes are using the Concept2 machines for biking, rowing, and skiing. These…Flutter4 min readFlutter4 min read
Published inDreamwod tech·Oct 24, 2021Sign in with Apple and Google in Flutter App + Golang backendThis article describes the signup and sign-in flow for users in the Dreamwod Flutter app using AppleId and Google with a backend in Golang. The Dreamwod app supports three ways of signing up, Email&Password, with Apple Id, or through Google. …Flutter4 min readFlutter4 min read
Published inDreamwod tech·Oct 8, 2021Flutter + Dio Framework + Best practicesThis article will describe best practices for REST communication in Flutter using the Dio http package. The Dreamwod app used the standard http package but we recently migrated to the Dio http package, this article will describe why and some best practices around the architecture. Background The Dreamwod app is talking…Flutter2 min readFlutter2 min read
Published inDreamwod tech·Apr 28, 2021Digital Signal Processing with golangDigital signal processing (DSP) in golang, frequency spectrum analysis with FFT, and r-peak detection. This article will show how golang can be used for digital signal processing (DSP) on a raw PPG or ECG heartbeat signal. We will use the fast Fourier transform (FFT) to look at the frequency spectrum…Golang4 min readGolang4 min read
Published inDreamwod tech·Feb 22, 2021Flutter bloc authentication flowPart 2 in the complete flutter app walkthrough. Designing an onboarding and authentication flow with the bloc framework. This is the second post in a series on how the Dreamwod app is built. The Dreamwod app is an iOS and Android app for CrossFit athletes where they can track their…Flutter4 min readFlutter4 min read
Published inDreamwod tech·Feb 9, 2021Complete Flutter app walkthrough part 1Components, best practices, and tools used to build a large Flutter app. This is the first post in a series on how the Dreamwod app is built. The Dreamwod app is an iOS and Android app for CrossFit athletes where they can track their progress and for CrossFit gyms that…Flutter6 min readFlutter6 min read
Published inDreamwod tech·Feb 8, 2021Asynchronous processing with Cloud Run and Pub/SubSecure asynchronous processing with Cloud Run through Pub/Sub. Background Cloud Run will throttle the CPU when there isn’t an active request processing. That means that it isn’t possible to spawn a new thread or goroutine to do background processing within a Cloud Run API. …Google Cloud Run3 min readGoogle Cloud Run3 min read
Published inDreamwod tech·Jan 18, 2021Migrating from GKE to Cloud RunMigrating a golang REST API from Kubernetes Engine (GKE) to Cloud Run Background Kubernetes at Google Cloud (GKE) was used during the development and the testing of the Dreamwod app (https://www.dreamwod.app). GKE has been working good but it has also been the most expensive and complicated part of the hosting. We…Google Cloud Run3 min readGoogle Cloud Run3 min read