[iOS+Android] [9.99$ -> Free Lifetime] Hourly Journal : Text, Voice & Photos

I’ve been working on Hourly Journal, a simple journaling app built around writing a quick entry every hour. The idea is pretty simple: instead of sitting down once at night and trying to remember everything that happened, you capture small moments throughout your day.
It’s free and has no ads. I’m giving away free access because I’d genuinely like to get more people using it and hear what they think. If you like journaling or want to start a small daily habit, give it a try and let me know what you think.

iOS:

https://apps.apple.com/us/app/hourly-journal-time-tracker/id6797029123

Android:

https://play.google.com/store/apps/details?id=com.atriidev.hourlyjournal

u/OverallAd9984 — 19 hours ago

[App] [Promo] Beautiful Feelings Wheel app with Haptics & Easter Eggs

i'm working on a beautiful-looking feelings wheel app which lets you stay more aware of your emotional state.

the app can ask specific questions like:

  • the context

  • what happened

  • what they you'll do

  • what gift you will give to yourself

  • etc.

so that the uou can feel better. also there is an ai insights feature in it. this is optional. you can turn this off

I have added smooth animations and this beautiful-looking feeling wheel with cool sound effects.

right now this application is in development but here is the Pre-register link. if you pre-register for this app, you will get 50% off for the lifetime once the app will be live.

u/OverallAd9984 — 3 days ago
▲ 20 r/cursor

Why does CURSOR need this permission?

last time i denied my mac froze & i had to restart

u/OverallAd9984 — 4 days ago

Added Sound Effects

So I have added sound effects in my feelings wheel application. I have used eleven labs to generate the sound effect and ChatGPT for getting sound effect prompts. It's my first time adding these kinds of things in my application. Let me know if the sound is good or not

You can pre-register: https://feelings-wheel.atherio.dev/

u/OverallAd9984 — 4 days ago

AdSense disabled for “associated with a disabled account” even though I never had another AdSense account. What should I do?

​

I'm trying to understand what happened and what I should do next.

About 1–2 weeks ago, I created my first AdSense account using my Google account for my website.

Shortly after creating it, AdSense disabled the account, saying it was associated with another disabled AdSense account.

The confusing part is that I had never personally owned or used AdSense before this. This was my first AdSense account.

Last week, I also applied for YouTube monetization using a different Google account. My YouTube channel was accepted for monetization, but today I found out that the AdSense account was disabled.

One possible explanation is that friends or family members may have logged into their own Google/AdSense accounts while using the same Wi-Fi network or IP address as me. I personally don't have another AdSense account and have never intentionally created multiple accounts or tried to bypass an AdSense restriction.

I have already submitted an appeal explaining this situation and said I'm willing to provide any verification or information Google needs.

I'm pretty confused about what I should do now.

Has anyone experienced this specific “associated with a disabled account” issue when they genuinely didn't own the other account?

Should I keep appealing, contact Google support through another channel, or is there something specific I should check first?

Also, could sharing the same Wi-Fi/IP with another person's AdSense account actually cause this kind of association?

Any advice from someone who has successfully resolved this would be appreciated.

u/OverallAd9984 — 7 days ago
▲ 0 r/cursor

Why Cursor isn't letting me add my api key for openrouter?

not able to enter api key & base url?

u/OverallAd9984 — 7 days ago

KMP Starter Template just hit 150 stars

My open-source KMP Starter Template just reached 150 GitHub stars, so I wanted to share it here.

It's a multi-module Kotlin Multiplatform boilerplate for Android and iOS, built around Clean Architecture.

It handles a lot of the boring setup that I find myself repeating in every KMP project:

  • Remote Config
  • In-app purchases with RevenueCat
  • Analytics with Mixpanel
  • Koin
  • DataStore
  • Room
  • Multiple languages
  • InAppReview / InAppUpdate
  • Native bindings
  • UI utilities and components
  • Logging
  • Platform/version utilities

The main idea is to spend less time setting up infrastructure and more time building the actual app.

I've also been working on turning its modules into libraries, so existing KMP projects can adopt individual features without having to fork the entire template.

150 stars isn't huge by GitHub standards, but seeing people actually use and star something I originally built because I was tired of repeating my own setup feels pretty good.

Repo: https://github.com/DevAtrii/Kmp-Starter-Template

Would love to hear what KMP developers think is missing from the template.

u/OverallAd9984 — 9 days ago
▲ 13 r/cursor

Why is Composer-2.5-fast both in Cursor & Other Models? Costing me twice?

hit my usage limit in 10 days!! can anyone explain to me why composer 2.5 in both other & cursor models?

u/OverallAd9984 — 12 days ago
▲ 121 r/KotlinMultiplatform+1 crossposts

I’ve Done the Impossible - Jetpack Glance + WidgetKit = WARP

I've been working on **WARP** (**W**idget **A**bstraction, **R**endering **P**ipeline), an open-source Kotlin Multiplatform library for building Android & iOS home screen widgets from a single API.

I couldn't find any KMP widget library, so I decided to build one.

The goal is simple:

Write widget UI once in Kotlin, render it natively on:
- Android (Jetpack Glance)
- iOS (WidgetKit + SwiftUI)

A widget looks like this:

```kotlin
WarpColumn {
WarpText("Counter")
WarpRow {
WarpButton("-", onClick = CounterActions.Decrement.asClickAction())
WarpText(state.count.toString())
WarpButton("+", onClick = CounterActions.Increment.asClickAction())
}
}
```

Internally WARP works like this:

```text
Compose-like Kotlin UI

WarpNode Tree

JSON

Android Glance / WidgetKit
```

Features so far:
- Android (Jetpack Glance) renderer
- iOS (WidgetKit + SwiftUI) renderer
- Shared click handlers
- Local assets support (Android drawables, SF Symbols, local images)
- Shared widget state
- Support Glance Premitive composables

GitHub:
https://github.com/DevAtrii/Warp

I'm planning to publish the first Maven artifacts (and Swift Package for the iOS renderer) in the next few days.

I'd really appreciate architectural feedback before I stabilize the API. If you like the project, please consider giving it a ⭐ on GitHub. It really motivates me

u/OverallAd9984 — 13 days ago
▲ 4 r/Kotlin

KMP WARP - Widget Abstraction Rendering Pipeline

While building my KMP apps, I needed home screen widgets on both Android and iOS.

I assumed there would already be a KMP widgets library.

There wasn't.

Since Shipaton has a category for Kotlin libraries this year, I decided to build one.

It's called WARP (Widget Abstraction Rendering Pipeline).

The goal isn't to recreate Compose or SwiftUI. The goal is to let developers describe widget UI once in Kotlin and render it natively using each platform's widget framework.

Instead of this:

Android UI → Glance
iOS UI     → WidgetKit + SwiftUI

you write:

WarpColumn {
    WarpText("Counter")
    WarpRow {
        WarpButton("-", onClick = CounterActions.Decrement.asClickAction())
        WarpText(state.count.toString())
        WarpButton("+", onClick = CounterActions.Increment.asClickAction())
    }
}

which becomes:

Compose-like Kotlin UI
          ↓
     WarpNode Tree
          ↓
         JSON
          ↓
Android Glance / SwiftUI WidgetKit

The idea is that common code never knows about Glance or WidgetKit. It only produces a serializable tree describing the widget.

Some implementation details:

  • Uses Compose Runtime only to build the tree (no Compose UI)
  • Tree is fully serializable with kotlinx.serialization
  • Typed click actions instead of serializing lambdas
  • Shared click handlers across Android & iOS
  • Native renderers consume the same JSON
  • State-driven recomposition through composeWarp(state)

Current architecture is split into:

  • warp-runtime

    • Compose-like DSL
    • Compose → WarpNode
    • JSON serialization
    • Action model
    • State & recomposition
  • warp-ui

    • Android Glance renderer
    • iOS WidgetKit + SwiftUI renderer
    • Shared click dispatch
    • Swift bridge using spm4Kmp
  • warp-widgets

    • High-level widget APIs
    • Common widget definitions
    • Jetpack Glance-like developer experience

Current status:

  • Android renderer ✓
  • iOS renderer ✓
  • Shared click handlers ✓
  • Counter demo ✓
  • API still evolving

I'm currently looking for architectural feedback before I stabilize things.

Some questions I'm thinking about:

  • Should JSON be the transport layer or should I pass the object tree directly?
  • Should click handlers stay typed or become string-based?
  • Is Compose Runtime the right abstraction for authoring widgets?
  • What widget APIs would you expect before calling this usable?

Repository:

https://github.com/DevAtrii/Warp

I'd appreciate any feedback from people building KMP libraries or cross-platform tooling.

u/OverallAd9984 — 14 days ago

Introducing WARP — write KMP home-screen widgets once, render on Glance + WidgetKit

Building a Kotlin Multiplatform widgets library because I couldn't find one

While building my KMP apps, I needed home screen widgets on both Android and iOS.

I assumed there would already be a KMP widgets library.

There wasn't.

Since Shipaton has a category for Kotlin libraries this year, I decided to build one.

It's called WARP (Widget Abstraction Rendering Pipeline).

The goal isn't to recreate Compose or SwiftUI. The goal is to let developers describe widget UI once in Kotlin and render it natively using each platform's widget framework.

Instead of this:

Android UI → Glance
iOS UI     → WidgetKit + SwiftUI

you write:

WarpColumn {
    WarpText("Counter")
    WarpRow {
        WarpButton("-", onClick = CounterActions.Decrement.asClickAction())
        WarpText(state.count.toString())
        WarpButton("+", onClick = CounterActions.Increment.asClickAction())
    }
}

which becomes:

Compose-like Kotlin UI
          ↓
     WarpNode Tree
          ↓
         JSON
          ↓
Android Glance / SwiftUI WidgetKit

The idea is that common code never knows about Glance or WidgetKit. It only produces a serializable tree describing the widget.

Some implementation details:

  • Uses Compose Runtime only to build the tree (no Compose UI)
  • Tree is fully serializable with kotlinx.serialization
  • Typed click actions instead of serializing lambdas
  • Shared click handlers across Android & iOS
  • Native renderers consume the same JSON
  • State-driven recomposition through composeWarp(state)

Current architecture is split into:

  • warp-runtime

    • Compose-like DSL
    • Compose → WarpNode
    • JSON serialization
    • Action model
    • State & recomposition
  • warp-ui

    • Android Glance renderer
    • iOS WidgetKit + SwiftUI renderer
    • Shared click dispatch
    • Swift bridge using spm4Kmp
  • warp-widgets

    • High-level widget APIs
    • Common widget definitions
    • Jetpack Glance-like developer experience

Current status:

  • Android renderer ✓
  • iOS renderer ✓
  • Shared click handlers ✓
  • Counter demo ✓
  • API still evolving

I'm currently looking for architectural feedback before I stabilize things.

Some questions I'm thinking about:

  • Should JSON be the transport layer or should I pass the object tree directly?
  • Should click handlers stay typed or become string-based?
  • Is Compose Runtime the right abstraction for authoring widgets?
  • What widget APIs would you expect before calling this usable?

Repository:

https://github.com/DevAtrii/Warp

I'd appreciate any feedback from people building KMP libraries or cross-platform tooling.

u/OverallAd9984 — 14 days ago
▲ 27 r/Kotlin

I don't think shared Compose Multiplatform UI is the future for iOS (yet)

During last year's Shipaton, I built SubFox (https://subfox.app), a subscription manager using Compose Multiplatform.

Almost a year later, I realized the iOS version was basically dead.

Not because the app solves a bad problem, but because the experience wasn't what iOS users expect.

Some things I noticed:

  • App size was over 100 MB

  • UI felt sluggish

  • It never really felt native

  • Most users didn't even finish onboarding

So for this year's Shipaton, I changed my approach completely while building Hourly Journal (https://hourlyjournal.app).

I'm still using Kotlin Multiplatform for business logic, networking, database, etc., but I no longer share the UI.

Android uses Compose.

iOS is built entirely in SwiftUI while calling shared Kotlin through a shared module.

The difference has been huge. The new iOS app is around 8–10 MB instead of ~100 MB, and the experience finally feels like a proper iOS app.

My biggest criticism of JetBrains is that they seem too focused on making Compose run everywhere instead of solving the real problem: giving users an amazing platform-specific experience.

I'd much rather see something closer to what Expo has with Native UI, where business logic stays shared but the framework renders real platform-native components. That feels like a much stronger long-term direction than trying to make every platform look and behave the same.

Maybe I'm wrong, but it also feels like the Kotlin ecosystem moves much slower than the React Native/Expo ecosystem when it comes to solving practical developer problems.

Curious what other KMP developers think. Have you had a similar experience, or has Compose UI on iOS worked well for your apps?

Read Full Article

👉 Why I Stopped Sharing UI in Compose Multiplatform for iOS

Hourly Journal Shared UI Demo

u/OverallAd9984 — 18 days ago

I don't think shared Compose Multiplatform UI is the future for iOS (yet)

I don't think shared Compose Multiplatform UI is the future for iOS (yet)

During last year's Shipaton, I built SubFox (https://subfox.app), a subscription manager using Compose Multiplatform.

Almost a year later, I realized the iOS version was basically dead.

Not because the app solves a bad problem, but because the experience wasn't what iOS users expect.

Some things I noticed:

  • App size was over 100 MB
  • UI felt sluggish
  • It never really felt native
  • Most users didn't even finish onboarding

So for this year's Shipaton, I changed my approach completely while building Hourly Journal (https://hourlyjournal.app).

I'm still using Kotlin Multiplatform for business logic, networking, database, etc., but I no longer share the UI.

Android uses Compose. iOS is built entirely in SwiftUI while calling shared Kotlin through a shared module.

The difference has been huge. The new iOS app is around 8–10 MB instead of ~100 MB, and the experience finally feels like a proper iOS app.

My biggest criticism of JetBrains is that they seem too focused on making Compose run everywhere instead of solving the real problem: giving users an amazing platform-specific experience.

I'd much rather see something closer to what Expo has with Native UI, where business logic stays shared but the framework renders real platform-native components. That feels like a much stronger long-term direction than trying to make every platform look and behave the same.

Maybe I'm wrong, but it also feels like the Kotlin ecosystem moves much slower than the React Native/Expo ecosystem when it comes to solving practical developer problems.

Curious what other KMP developers think. Have you had a similar experience, or has Compose UI on iOS worked well for your apps?

Read Full Article

👉 Why I Stopped Sharing UI in Compose Multiplatform for iOS

u/OverallAd9984 — 18 days ago

My Android app makes $500–$1,000/month, how much could I sell it for?

I have an Android app that’s been consistently making around **$500–$1,000 per month for the past 18 months**.

I’m thinking about selling it, but I’ve never sold an app before and honestly have no idea where to start.

Where do you guys usually sell profitable apps? Also, what would be a reasonable valuation for an app with this revenue?

Would really appreciate hearing from anyone who has bought or sold an app before. Your experience would mean a lot!

also is there any buyer 🙂

Edited:

  • no paid ads
  • only ASO
  • 40k total installs
u/OverallAd9984 — 1 month ago

built a CLI to generate my KMP Starter Template projects 🚀

​

I got tired of spending 2–3 hours renaming packages and removing unused modules every time I started a new KMP project.

So I built a CLI for my open-source KMP Starter Template.

Just enter your project details and it generates a ready-to-use project.zip with the correct package name and only the modules you need.

It supports both:

- creating a new project

- adding KMP Starter libraries to an existing project

Still in alpha, so I'd love your feedback 🙌

https://github.com/DevAtrii/Kmp-Starter-Template#getting-started

u/OverallAd9984 — 1 month ago
▲ 122 r/Urdu+1 crossposts

I wrote this, rate out of 10

اب میں خود میں ہی سرخرو ہو جاؤں گا، اب میں خالق کی مخلوق کے پاس نہیں جاؤں گا۔

  • Athar Zaman

I mean the poetry not the writing

u/KingAcrobatic2148 — 2 months ago