My little one has never been a "good sleeper" unless he's snuggled up with me. I'm also convinced that crib mattresses are the most uncomfortable beds for him considering he never stayed asleep in his crib or the cosleeper.
At 12 months, I stopped even trying to get him to sleep in a crib. Instead, I made sure his room was completely baby proofed, I always use a video monitor that stays on and does not go into power saving mode, and I let him sleep on a folded up comforter on the floor and he'd sleep for two hours. Now at 18 months old, I decided he needs an actual bed but I didn't really want to go the toddler bed route because I wanted a super cozy mattress, and a bed frame he will be able to use for a long time. However, height was a concern. When he wakes up he never gets off his bed, he always lays there and just waits for me to come get him, but I still didn't want it too high *just in case*
I ended up purchasing a King Koil mattress, (super comfy!!) and then decided on a platform bed to avoid added height from a box spring and it has worked out perfectly! The bed I ordered from Amazon and it was on sale for only $84 and I'm very impressed by the quality and how easy it was to put together. I also added a bed safety rail like this one which is great because it swings down making it easy to change sheets and such.
If you're considering a bed for your little one and not sure whether to go the toddler bed route, maybe consider a low profile platform bed instead. It might not be the best choice for everyone, but my little one seems to love it! Keep in mind too that switching beds can be quite a change for babies so if you can transition them slowly using something familiar that might be best. Since my son is used to sleeping on top of a comforter, I've left that comforter on top of his bed so it's not a really big change at once, but this week we'll start getting used to the comforter being off and sleeping on the sheets 😄
The mattress, bed frame and safety rail together cost just under $300 and with great warranties in place for each item we should be all set for awhile :)