i'm so bored i started designing a fake stocks app this morning i might build with Swift to learn.
lot of stock apps optimize for density, assume you care about many stocks & require more tapping for basic info. kinda want the opposite: focus on fewer, bigger, one view
spent a bit more time today on this. need to figure out:
- stock card anatomy to fit pre/after hours info
- if i want to use Plaid to let people link their brokerage (+ UI to toggle price, positions etc)
- if i want to let people manually enter trades they've done
spending this Saturday morning learning how to use Swift Codable to deal with nested JSON using a dynamic key.. not as easy as I thought it would be 😬
Moved a chunk of the code Swift Playground to help debug.. really nice environment with live view and runtime values
I've got a lot of the UI functional with some basic polish. Have stocks saving in Core Data now.. just need to get the hard parts working: fetching/storing/manipulating stock data and charting. and card reordering.. Core Data doesn't make that easy.
Stonks app is alive! 🚨
I have real finance API data working and super basic charts. 😃😍
Excited with this given that I saw my first line of Swift 40 days ago. Would have been faster to make this if Swift types weren’t so annoying..
Some Stonks additions last few weeks 💸
- super dark mode optimized for oled p3 displays
- chart range selection + scrubbing
- better search
- pull to refresh for peace of mind (even w/ auto-polling)
- swipe to delete
- CoreData reordering in Edit view
- some particle emitters
Been building lots of stuff I haven't shared yet (soon!) but now exploring some fun micro-animations to help with new user education. I imagine a set of 3 similar to this after onboarding.
Mostly wired up now. Using the new iOS 14 PageTabViewStyle() along with GeometryReader + an interpolator to animate scale + opacity on swipe
Got annoyed with Core Data + CloudKit (syncing feels slow and sometimes unpredictable) and began looking into @Firebase.
Now that iOS 14 has SignInWithAppleButton() you need far less code to get Sign In With Apple working. Now to migrate all my Core Data code 😬...
Mostly migrated to Firebase. Bit of extra complexity from flattening my database to keep Firebase simple (didn’t like managing async code for subcollections).
But now it syncs between devices flawlessly and fast.. so I put in LazyVGrid to get iPad layout somewhat usable.#swiftui
Took the 3D app icon I made in @vectary and was able to import it into SceneKit and show in my settings page 🤯. #swiftui
The more people I talked to the more I found that folks have very particular ways they like to have their stock/holdings info displayed... so I went a bit crazy with this card customizer.
✨ Very work in progress but lets you mix up display settings ✨
Basically all custom UI
Realizing there's a ton of stuff I haven't shared yet...
📱🎨 Here's how I approached letting users change the app icon
(still work in progress, couldn't quite get a certain 3d effect on swipe as I liked so I disabled it for now. And these app icons are placeholder) #SwiftUI
This (flattening my data structure) was a bad idea. Retried what I couldn't get working in the past with separate collections and got it working well
That's the problem with learning while building the same app.. end up rewriting everything 3 times 😂😭
After living with the app, the horizontal carousel stats in the stock card aren't easy to use.
Wanted a quick way to peek at stats & holdings without feeling like you're going somewhere. #SwiftUI@StocketaApp
Still have issues to fix but I'm liking it✨
I was told you like multi-layer confetti with air resistance and gravity emulation (like iMessage confetti) 🎉 🎊 @StocketaApp
🌙 Late night coding.. part of the onboarding flow I’m redesigning for the 3rd time for @StocketaApp.
Interpolating pitch and roll from CoreMotion to adjust the UnitPoint center of a radial gradient that is masked by my view, which includes some text & little chart animations
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Excited to share what I've been up to at @RewindAI ✨
Rewind is a macOS app that fully utilizes the capabilities of Apple Silicon + Ventura to record everything you see, analyze it and make it searchable in real-time.
Can't find that tweet you know you saw once? Or wish you could go back 15 seconds to recover that long performance review you were writing before your browser crashed?
You can search or rewind time. Once you've found what you're looking for you can even copy text from it.
One of the main reasons I joined Rewind was for all the unique design challenges.
It's a full-screen, native macOS app (where I'm extensively using my Swift/SwiftUI skills 🥰) that has no peer.
There's lots of privacy considerations as well: the app is entirely local.
feels like everyone the last few days thinks they're an expert in what an edit button for twitter should look like and how it should work
"just make it time-limited"
"show version history"
"facebook does it!"
i don't have the energy or interest to debate this or go into every single scenario but I just wanted to add a bit of detail as to why real tweet editing is a bit more complex than it seems, as someone who spent 9 years designing things at twitter
lets start with the most important aspect - abuse
enabling real tweet editing can introduce a new abuse vector.
a user could tweet something abusive directed at another user. that user gets the abusive notification and sees it. the damage is done.
I've briefly touched crypto in the past. I first heard about and mined some bitcoin in 2011 (even mining on EC2 Tesla gpu clusters for fun) but didn't think much of it and ignored the space for years. Then got back into it, lost lots of money with trades and ignored crypto again
For years I had dozens of crypto-related terms muted on Twitter.
I didn't want to hear another person talking about HODLing, shitcoins or how crypto was doing to kill traditional finance overnight
Some tips for finding a 💍 💎 with my experience looking at diamonds over the last year+.
1) Only buy online
At first I thought buying in person at a trusted jeweler was the way to go. I even got direct introductions to jewelers and quickly realized you’ll pay a 20%+ premium.
If you hear a jeweler describe pricing based on the “Rapaport Guide”, a glorified Kelly Blue Book for diamonds that in a physical book/binder.. run.
This guide is largely irrelevant these days and jewelers point to it as justification to charge more beyond4cs.com/faq/rapaport-r…
There’s a lot to worry about when considering buying a diamond online. I had all the concerns: what if they swap the stone and blame me, what if it gets stolen at my building, if fedex won’t cover the claim, what if I want to return it and it gets lost in the mail..