Making a robot vacuum is not hard if you copy first-generation Roomba behavior instead of trying to recreate a lidar-mapping product. The simplest useful design randomly bounces around a room, detects cliffs and walls, runs a brush and pulls dust into a small bin with a centrifugal fan.
The suction system is the mechanical core. A tiny axial fan will not work; you need a blower-style centrifugal fan and a sealed air path. The brush matters more than suction on hard floors, because it lifts hair and crumbs into the airflow. Keep the dust bin small and removable so you can iterate.
Navigation can start with two bumper switches and three IR cliff sensors. Add wheel encoders later for coverage estimates. Mapping is optional; the first milestone is a robot that cleans under one table without falling down stairs or eating cables.