I remember making "wave machines" in plastic bottles when I was younger.
You could say this is a more romantic version.
It's fairly easy to make. The hardest part is finding the tiny bottles.
I used glass bottles but you could use plastic, which can really float. If the small bottle can float you could skip the string step. Just make sure to weight the small bottle with enough sand to float at the right level.
Step 1: Gather Materials
2 bottles - 1 small enough to fit inside the other; labels removed, washed and dried. (I used a small sample of Tabasco for the small and a sea salt bottle for the large.)
Baby oil - enough for 2/3 of your large size bottle
Small amount of sand - to go inside your small bottle
Water - enough for 1/3 of your large bottle
Blue food coloring - or whatever color you want
Glue - appropriate for glass or your materials
Nylon craft string
Spouted Measuring Cup or pitcher
Small paper and pen
Step 2: Prep the Small Bottle
Write a small love note and roll it so it fits through the neck.
Glue the cap on.
Tie some nylon string around the bottle neck, but do not cut it from the spool yet.
Place a little more glue around the neck to secure the string.
Set it aside to dry completely.
Step 3: Prep the Large Bottle
Add food coloring until you reach your desired color.
Pour and fill about 1/3 of your large bottle.
Step 4: Put Them Together
Carefully wrap the string around the neck of the large bottle and pull until the small bottle is "floating" at the level you want.
Tie the string a few times to hold it in place. Cut the string.
Slowly pour the baby oil into the large bottle and fill to the top.
Glue the cap on and place more glue around the neck to secure the string.
Step 5: Decorate
Tie on buttons or a gift tag.