Sign in

Johan Forsell

@joforselldev.bsky.social
314 followers 282 following 716 posts

Grade school teacher turned iOS developer, currently at Tibber. Maker of bartab.info and vitrineminis.com. Posting mostly nerdy stuff.

PostsRepliesMedia
Johan Forsell @joforselldev.bsky.social · 29/06/2026
Been getting more and more requests for Bartab features while being busy with Vitrine. One of them is a self checkout feature, customers make orders and use a given PIN code to put it on their tab. #buildinpublic #indiedev
2111
Johan Forsell @joforselldev.bsky.social · 29/06/2026
Vitrine 1.0.3 with support for comments on public miniatures sent for review to push to beta testers. Vacation mode has slowed down development but we’re still moving forward! #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #buildinpublic #tabletop
0101
Johan Forsell @joforselldev.bsky.social · 21/06/2026
This is pretty wild: I’m approaching $10k proceeds from the App Store. By no means an app business I can lean on completely, but quite a ways from my expectations back in 2022 when I released Bartab after building it as a means for learning how to code. Consistency is key! #buildinpublic
1170
Johan Forsell @joforselldev.bsky.social · 19/06/2026
Seeing my best month to date, app revenue wise. 🥳 A combination of Bartab subs, uptick in lifetime purchases and the Vitrine launch. What’s interesting is this is still at sub 150 monthly downloads, so the hardest part of app business is still the biggest bottleneck; distribution 🙃 #buildinpublic
1110
Johan Forsell @joforselldev.bsky.social · 18/06/2026
Okay this wasn’t as cumbersome to implement as I feared. Still needs some ironing out of course, but I like this already! Next up: Vitrine user mentions and bug chasing. #miniatures #paintingminiatures #minipainting #warhammer #wargames #wepaintminis #tabletop #paintingwarhammer #buildinpublic
082
Johan Forsell @joforselldev.bsky.social · 15/06/2026
When I’m not building apps I’m building… other things. Now that this is done I can go back to focusing on updates to Vitrine and Bartab!
270
Johan Forsell @joforselldev.bsky.social · 09/06/2026
I’m getting rid of the profile settings and merging a purged version with the existing profile view. I feel like this makes for a more coherent and easily digestible experience. #miniatures #paintingminiatures #minipainting #warhammer #wargames #wepaintminis #tabletop #buildinpublic
060
Johan Forsell @joforselldev.bsky.social · 08/06/2026
Vitrine is now live on the App Store and Google Play! 🎉 It made the first lifetime premium sale 10 minutes after release, which feels like a good signal 🤩 Go get it now! #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #minipainting #tabletop #buildinpublic
1112
Johan Forsell @joforselldev.bsky.social · 03/06/2026
Less than a week until release! Release builds up for review with Apple and Google, last thing to go in them is this substitute paint feature. Don’t forget to preorder for 50% off any Premium plan! #miniatures #minipainting #wepaintminis #warhammer #wargames #buildinpublic #indiedev
0102
Johan Forsell @joforselldev.bsky.social · 29/05/2026
Hey, look at that! 200 likes! I’m basically TikTok famous! #buildinpublic #indiedev
090
Johan Forsell @joforselldev.bsky.social · 29/05/2026
You can now wishlist paints, or mark owned paints as running low or empty. These’ll then show in a cohesive shopping list for the next time you’re at the hobby store! #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #paintingwarhammer #tabletop #buildinpublic
391
Johan Forsell @joforselldev.bsky.social · 26/05/2026
Creators get credit and a showroom link on each copy made from their paint recipes. There’s also a copy count to help gauge interest for any recipe and a push notification when copied. #miniatures #minipainting #paintingminiatures #wepaintminis #warhammer #wargaming #buildinpublic #indiedev
081
Johan Forsell @joforselldev.bsky.social · 26/05/2026
Want a showroom of your own? You can reserve your handle today at vitrineminis.com/reserve to make sure you get the handle you’re familiar with, then link it with your account after launch on June 8. #miniatures #minipainting #wepaintminis #paintingminiatures #buildinpublic #indiedev
091
Johan Forsell @joforselldev.bsky.social · 26/05/2026
You can now see directly in the feed if a miniature has paint recipes attached to it. Paint recipes are also now available from the details screen, so you can get there with fewer taps. #miniatures #minipainting #paintingminiatures #wepaintminis #warhammer #wargaming #buildinpublic #indiedev
0131
Johan Forsell @joforselldev.bsky.social · 22/05/2026
Made some small improvements to the showroom miniature screen. Makes browsing even more enjoyable! Don’t forget to preorder Vitrine for 50% off any premium plan 😊 vitrineminis.com #miniatures #minipainting #warhammer #wargaming #buildinpublic #indiedev
1120
Johan Forsell @joforselldev.bsky.social · 22/05/2026
New build coming up with push notifications! Only likes for now, but want to also add counter + notifications for when someone copies one of your recipes. Also, ground work for when comments are added 👀 #miniatures #minipainting #warhammer #wargames #paintingminiatures #buildinpublic #indiedev
091
Johan Forsell @joforselldev.bsky.social · 19/05/2026
Links from sharing specific miniatures was broken and is getting fixed. While fixing that, I realized you should probably be notified when you’re trying to share a miniature that isn’t part of your public showroom. #miniatures #minipainting #warhammer #wargames #buildinpublic #indiedev
071
Johan Forsell @joforselldev.bsky.social · 19/05/2026
Showrooms in Vitrine are now much easier to manage, with a dedicated settings view that gives you an overview of what’s public and what isn’t. You can now also opt out of showing up in the feed, while keeping your showroom public. #miniatures #minipainting #buildinpublic #indiedev #warhammer
030
Johan Forsell @joforselldev.bsky.social · 17/05/2026
Ok, hear me out… What if Vitrine helped you reduce your pile of shame by facilitating painting challenges between you and your friends? You choose your opponent, set the time limit and number of finished minis required. Would you challenge someone? #miniatures #minipainting #buildinpublic
140
Johan Forsell @joforselldev.bsky.social · 17/05/2026
Another ergonomics improvement, automatically filling in appropriate tags when selecting a model. Another fantastic idea from a beta tester 🤩 #miniatures #minipainting #miniaturepainting #paintingminiatures #warhammer #wargames #buildinpublic #indiedev
0101
Johan Forsell @joforselldev.bsky.social · 17/05/2026
Showrooms no longer show miniatures without images and collections now properly get images or composed mosaics. Random showroom flow is now much more ergonomic and logic is in place to prevent showing the same showroom in close succession. #miniatures #minipainting #buildinpublic #indiedev
050
Johan Forsell @joforselldev.bsky.social · 15/05/2026
Added an additional category for tags/filters; edition. And a specialized empty state when you’re searching early for 11th edition 😅 We’ll see if Vitrine or 11th drops first! #miniatures #paintingminiatures #minpainting #warhammer #wargames #wepaintminis #tabletop #buildinpublic #indiedev
072
Johan Forsell @joforselldev.bsky.social · 14/05/2026
Recipe steps were in need of a little cleanup, especially on iOS. Still considering the order, maybe the image and notes should be more prominent? You only reference paints once per step, when you take them out. I also really want to enable videos here 👀 #miniatures #minipainting #buildinpublic
050
Johan Forsell @joforselldev.bsky.social · 14/05/2026
Vitrine for Android got the green light from Google! ✅ Should be available for preorder as soon as I figure out how to set it up 😅 Get in before June 8th for a 50% discount on any Premium plan 👀 vitrineminis.com #miniatures #minipainting #buildinpublic #indiedev
090
Johan Forsell @joforselldev.bsky.social · 13/05/2026
First two short form videos out! Looks like I’m doing fine relative to my non-existing following on TikTok. 🤣 Instagram pretty much just crickets though… #buildinpublic #indiedev
071
Johan Forsell @joforselldev.bsky.social · 12/05/2026
Vitrine on iOS now officially available for pre-order! 🥳 (Android on the way) Pre-order now to unlock a 50% discount on any premium plan! More info at vitrineminis.com. #miniatures #minipainting #wepaintminis #wargames #warhammer #40k #tabletop #paintingminiatures
183
Johan Forsell @joforselldev.bsky.social · 11/05/2026
Website updated! ✅ It’s now a proper landing page instead of a teaser with a beta signup. There’s also a press kit available at /press so now I need to start finding contact info to everyone! Check it out at vitrineminis.com! #miniatures #minipainting #wargames #warhammer #buildinpublic #indiedev
093
Johan Forsell @joforselldev.bsky.social · 11/05/2026
Vitrine on iOS greenlit by Apple review 🥳 Final touches for Android, then that’s up for review too. Now to focus on the dreaded marketing stuff 🫣 planning some short form videos, trying for App Store feature and posting to reddit. #buildinpublic #indiedev
160
Johan Forsell @joforselldev.bsky.social · 08/05/2026
You can also now add an entire range of paints, which will hopefully save the biggest paint collectors some time. If you add a 3D printed mini you can now add a link to the model so others can find it too! #miniatures #minipainting #paintingminiatures #wargaming #warhammer #buildinpublic #indiedev
040
Johan Forsell @joforselldev.bsky.social · 08/05/2026
I can’t help myself 🫣 these are the last features before release, promise! You can now manually add paints missing from the database. They’ll be queued for vetting for the database, but you can use them yourself right away. #miniatures #minipainting #wargaming #warhammer #buildinpublic #indiedev
290
Johan Forsell @joforselldev.bsky.social · 08/05/2026
Discover feed is now live on web too! No app, no login, just browse beautiful painted miniatures and discover the showrooms of talented painters 🤩 Check it out at app.vitrineminis.com #miniatures #minipainting #paintingminiatures #warhammer #tabletop #wargames #buildinpublic #indiedev
052
Johan Forsell @joforselldev.bsky.social · 07/05/2026
Likes, among other things, coming up in new builds today! Also present: - Report function (see video feat my Brrr integration 😁) - Fetching images from R2 - Stricter handle limitations #miniatures #minipainting #warhammer #wargames #buildinpublic #indiedev
081
Johan Forsell @joforselldev.bsky.social · 06/05/2026
Vitrine is starting to feel pretty polished, with some rough edges handled and performance improvements in place. One last thing I wanted in before release is feedback on showcase miniatures, so here’s a like button! #miniatures #minipainting #wargames #warhammer #buildinpublic #indiedev
3113
Johan Forsell @joforselldev.bsky.social · 04/05/2026
Significant performance improvements coming up in the next build. Working the cache layer much more heavily and leveraging Supabase image transforms to fetch resized images (eg. for thumbnails). Also adjusted paint mixes to use parts instead of percentages. #miniatures #minipainting #buildinpublic
060
Johan Forsell @joforselldev.bsky.social · 01/05/2026
More UX improvements! Instead of me trying to decide states that kind of work for everyone, users can set up states that mesh well with THEIR workflow. Each state belongs to phase backlog, in progress or completed to keep statistics working. #miniatures #miniaturepainting #buildinpublic #indiedev
191
Johan Forsell @joforselldev.bsky.social · 01/05/2026
A lot of refining getting done lately. All the big v1 features are in place, so most of my time now is spent sanding down sharp edges UX-wise. Among other things recipes got cover images and cover image/title UI got an update. #miniatures #miniaturepainting #wargames #buildinpublic #indiedev
060
Johan Forsell @joforselldev.bsky.social · 27/04/2026
New beta build out for Android, introducing the new Discover feed here too! Also a bunch of QoL changes + fix to a SyncEngine bug that even caused data loss in some cases 😱 Join here: vitrineminis.com #miniatures #paintingminiatures #warhammer #wargames #wepaintminis #buildinpublic #indiedev
074
Johan Forsell @joforselldev.bsky.social · 24/04/2026
In the new Discover tab you can still find showrooms directly but also search for paint recipes by tag and free text. The recipe screen is also getting a sizeable update, including a toggle between overview and step-by-step. This format is now consistent between session mode, freeform and browsing.
000
Johan Forsell @joforselldev.bsky.social · 24/04/2026
Big things cooking for Vitrine. Among other things, the next beta builds will feature an overhaul to the Showroom tab (now the Discover tab). Join the beta at vitrineminis.com #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #tabletop #buildinpublic #indiedev
173
Johan Forsell @joforselldev.bsky.social · 22/04/2026
Made some changes to the miniature screen. Photos are the centerpiece of any miniature so should be presented accordingly. You can now choose which one to use as cover and reorder the photos. Join the beta at vitrineminis.com #miniatures #miniaturepainting #warhammer #wargames #buildinpublic
061
Johan Forsell @joforselldev.bsky.social · 21/04/2026
Well look at that, Bartab is getting some love too 😍 Still have things planned for it, but the main problem remains: distribution. 🙃 Might’ve messed up my ASO because downloads keep dipping… I’ll get back to it eventually, but for now it’ll have to sit where it is. #buildinpublic
Screenshot from App Store Connect:

Tavern Owner: BJ's Sports Bar 1 day ago
& Lounge
*****
BJs Sports Bar -McClellanville
iOS | Version 2.4 | United States
Ive been using this Bartab app X 2 years and have tweaked it to take care of my bar tabs with quick and efficient transaction handling.
I'ma computer guy so I added a lil extra flare to make my drink and for menu comfortable to use to include leaving drink prep instructions for anyone working with me. Keep going with this app and I bet you will rate it quite right up there with the best.
050
Johan Forsell @joforselldev.bsky.social · 20/04/2026
Ok this is a start! Just need to wait for the paint barcodes mapping database to fill up 🙃 #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #paintingwarhammer #tabletop #buildinpublic #indiedev #iosdev #androiddev
0112
Johan Forsell @joforselldev.bsky.social · 20/04/2026
Added shared global tags for input. This is primarily setting up for future iterations of sharing, to aid discovery of miniatures and paint recipes. Join the beta at vitrineminis.com! #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #tabletop #buildinpublic
172
Johan Forsell @joforselldev.bsky.social · 19/04/2026
I want the paint library to be as ergonomic as possible, because logging/finding paints isn’t fun. Here’s a neat addition with color sorting. #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #paintingwarhammer #tabletop #buildinpublic #indiedev
0103
Johan Forsell @joforselldev.bsky.social · 18/04/2026
Yes, sorry I was unclear 😅 I want this custom behavior which doesn’t fly with the system segmented picker.
120
Johan Forsell @joforselldev.bsky.social · 18/04/2026
Any way to make the segmented picker at the top liquid glassy like the tab view control at the bottom? Have messed around with both #SwiftUI and #UIKit but can’t find any APIs to replicate it. Is the only recourse to drop down to metal? 🫠 #buildinpublic #indiedev #iosdev
350
Johan Forsell @joforselldev.bsky.social · 17/04/2026
Very grateful for all the beta feedback coming in! Here’s another requested change, to make filling your paint library much less cumbersome. Join the beta at vitrineminis.com #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #tabletop #buildinpublic #indiedev
094
Johan Forsell @joforselldev.bsky.social · 15/04/2026
What’s that, you wanted to share the nicely animated progression of your collection instead? Say no more! #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #paintingwarhammer #tabletop #buildinpublic #indiedev
162
Johan Forsell @joforselldev.bsky.social · 15/04/2026
Added easy sharing with ShareLink and ImageRenderer! There’s a toggle for including your showroom handle or not 😊 Join the beta or the waitlist here: vitrineminis.com #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #tabletop #buildinpublic #indiedev
082
Johan Forsell @joforselldev.bsky.social · 14/04/2026
Time to own your shame and take control of the growing gray pile! Would this push you to the hobby desk or just add onto the dread? 😅 #miniatures #paintingminiatures #miniaturepainting #warhammer #wargames #wepaintminis #paintingwarhammer #tabletop #buildinpublic #indiedev
182