Inspiration
As an indie dev its focus is a real issue and the currency to get things done simply because I don't have anyone looking over my shoulder or keeping track on me. Its not unusual for me to sit down ready to work and build but end up going down a rabbit hole on something or just sit there daydreaming. During the first week of shipaton I saw I post on X(twitter) where an indie dev was asking to pay someone to call them during their work session to keep them accountable, made me realise I'm not alone in my struggles.
What it does
Lock In is an app to help fix this problem by poking you when you should be focusing, keeping you accountable when you have no one else around to do it. To start you have to choose which apps on your Mac are allowed for your focus session. Then set up your work timer, set a total time and add breaks if you want and you’re good to go. Start the session timer and get to work. Lock In will now step in two cases, first if you open an app not approved for the session or second if you are inactive because your head is in the clouds Lock In will take over the screen and spam an alert with a mocking message to let you know you need to focus again on the task at hand. Optionally you can add goals and intentions to tick off as you work to help track what your doing.
How we built it
I built all of this natively in Xcode with Swift and SwiftUI. On the AI side I used a mix of Claude and Grok and while I did let those agents code sections and certain features I tried to not let it take over the whole project so I could keep track and feel engaged with the building process. The first version was very basic, app blocking and timer setup and gradually over the last couple of months started iterating and improving the features and how it now feels like a more complete project. The design on the first edition was from Claude which after some feedback I realised that it sucked pretty back so tried feeding it into Google Stitch to redo it into what it looks like now. Which probably will make an expert cringe still but I think is a vast improvement.
Challenges we ran into
Developing it along with AI there wasn't a huge amount of challenges in development itself, however challenges I faced came more shaping the product itself. The whole productivity space is pretty crowded as I'm sure your aware so using input from others and research it took quite a bit of iterating with suggestions from others to make the AppStore page get fairly decent impressions and views. I am personally terrible at design so after the first UI came out of Claude I got feedback to improve it so started with
Accomplishments that we're proud of
I'm super pleased with the amount of improvements I was able to make from the first version to what it is now. The input I received from various people really added to my perspective on different aspects of the project and just helped me to refine it into something many levels better than what I initially thought was "good enough"
What I learned
The whole building process was a huge learning experience really. I hadn't done too much with agents before this so trying to get the best out of them was good to now know. I found as well my eyes were opened up to how different my perspective is from that of a user and their first time using and navigating the project. I can see now how easy it is to get tunnel vision on the vision of the product but good to step out of that and build from an outsiders perspective.
What's next for Lock In - work focus
So the idea of blocking apps works well I think but I definitely thing I need to expand to connected apps on iPhones and iPads to either display the timer or to do list or even to block apps so there's no sneaky way around actually locking in when you should be. Also at the moment internet browsers are either allowed or not but I want to build extensions that will block or allow sites as this is a bit more accurate to what people will need. So lets see where that all goes.
Built With
- swift
- swiftdata
- swiftui
Log in or sign up for Devpost to join the conversation.