There are a lot of ways to do what you're asking; the short version is: Use the EC2 API to start/stop the instances that you need on a schedule that is required by your clients. But that opens a can of worms in terms of what the schedule is; what the client needs are; and so on.
Something that might help. Many moons ago I wrote a blog post which allowed end-users (after authenticating with Active Directory) to control their Workspaces instances without having to log into the AWS console.
It's not exactly the use case you're looking for but it can be customised: You don't have to use AD; you could just use Cognito to authenticate clients. You can change the Workspaces APIs for EC2 APIs. And so on.
Memory and CPU allocation for EC2 on Free Tier.asked 5 months ago
Errors migrating EC2 classic instances to VPCasked 21 days ago
AWS Backup - two ec2 instances are assigned as the protected services - but I see an EBS snapshot in the vault?asked 7 months ago
How to have client applications start/stop EC2 instancesasked 14 days ago
Long running ec2 instances are slower than fresh instances.asked 3 years ago
details of IAM role which is attached to ec2 instances with cloudshellAccepted Answerasked 4 months ago
How to Restrict Client machines to Ping EC2 Instances?asked 2 months ago
Bare Metal instances with KVMAccepted Answerasked 2 years ago
Unable to use Session Manager on EC2 instances in a private subnet with SSM VPC endpointAccepted Answerasked 3 years ago
Lightsail Vs EC2Accepted Answerasked 2 years ago