Is there a specific reason why you say "Designing application specifically for DynamoDB will take _a lot_ of time and effort".
Are you talking about migrating from RDBMS to DynamoDB?
Coz, my experience with DynamoDB designing was very similar to any other NoSQL DB.
You really need to consider you access patterns up front with DynamoDB. Any changes of those during application development can be very time consuming. There are limitations on how many local and global secondary indexes you can have. You also can’t easily add them to existing tables. However, you can use multiple databases to get the best of both worlds. At my employer, we typically store domain entities in DynamoDB as the source of truth. However, we replicate some entities to secondary databases like OpenSearch when we have access patterns that require adhoc querying.
A lot is transferrable to NoSQL and key-value in general, though DDB has plenty of quirks of it's own. Understanding your problem really is the key. A lot of problems turn out to be quite relational after all
You definitely can build just about anything with DDB, it's often just not worth the time when most can be solved by existing tools