Slycora
Slycora is an app for iOS which takes in all the thoughts you have, rates them, and then advises you on what to do next. We created it for people such as myself whose ways of concentrating and staying motivated are different.
Inspiration
I had ADHD going undiagnosed for eight years and yet was still able to carry on with my career in software. One day a colleague asked me, "When was your ADHD diagnosed?" and I replied, "ADHD what now?" That was what made me start looking into it. I came across a number of tips and carried on from there. Eventually I took a position as CTO at a rapidly growing defence technology company. Realising that relying on hacks wasn't going to be sufficient, I got myself diagnosed and began taking medication. Things changed considerably as a result.
Yet despite using various hacks and taking the prescribed medications, I could not overcome the twenty minutes each morning when I looked at a list of forty items and then closed it again. Although the list was genuine, it never showed me where to begin, and the list was the issue. I had tried numerous apps, but none of them lasted more than a few weeks.
That is why we developed this product in order to deal with one issue: what should I do at this moment? Most productivity tools neglect that question.
How we built it
We number four in Tallinn. Jegor was in charge of full stack and ML. Egert looked after ML deployment and infrastructure. Marko dealt with creative direction and QA and I worked on product and architecture.
The app is developed using Swift for the iOS platform, while the backend makes use of Go with Hasura and Postgres. Auth0 is responsible for handling identity and RevenueCat takes care of the subscriptions. An LLM is used to convert your notes into structured tasks complete with dates, dependencies, and effort estimates.
It's very straightforward. You first record all the things that are in your head by either typing them or saying them out loud. You can send text from any app into Slycora, import items from Reminders, use the iPhone search function, the widgets, or Live Activity. If you have difficulty doing the capturing, then it won't happen and as a result the system will be empty. Then the scoring process examines each task to assess its relevance, urgency, and impact and gives a brief explanation for each one so that you can accept or reject it. Planning is carried out by setting an effort budget using three sliders (mind, body, and time), and the plan is based on what you actually have the capacity to do, not just what fits into your calendar.
The scoring model is our most important resource, which is why I'm holding the details close. The thing I explained above is what the users actually see and use.
Challenges we ran into
The difficult aspect is adaptive replanning. It's easy to draw up a plan once, but the real challenge comes when you have to rewrite it at 2 p.m. because a task has taken longer than expected or a deadline has changed. Since other things depend on the task that you've skipped, the main part of our effort has been making the new plan still seem achievable. We continue to improve it with each release since that is what determines the success or failure of the day.
Time is more complicated than it appears. For example, there's a monthly task set for the 31st in a February that has only 28 days. There's a rescheduling done at 11 p.m. that arranges your morning. A task created after 8 p.m. is still marked as being for today. A task appears as overdue and at the same time shows up in the agenda. There are fifteen tickets, all involving the same kind of problem.
The process of integrating RevenueCat was quick, but we did make an error which ended up taking up some of our time. We had only included the parts that we believed we needed and constructed the rest ourselves. As a result, after a person had made a payment, the purchase state and the login state became inconsistent. However, when we changed our approach and started using what RevenueCat provides, the bugs vanished.
What we learned
The launch got us into the store, but it didn't have a great effect on our figures. Being available and being findable are two separate matters. We carried out only one thing.
The product is working and the architecture is sound at the present time, but we still need to generate actual demand.
The surprise is this: at first I believed that scoring would be the difficult aspect, but it wasn't. We completed it earlier than scheduled. The true difficulty comes when the day goes wrong and the plan has to hold on. That is precisely where we will devote the next six months.
One final point regarding the audience: streaks and guilt don't work with this group, nor do they work with me.
Built With
- activitykit
- auth0
- docker
- gke
- go
- google-cloud
- grafana
- graphql
- hasura
- ios
- kubernetes
- postgresql
- revenuecat
- storekit
- swift
- widgetkit
Log in or sign up for Devpost to join the conversation.