When writing your project, you should adhere to best practices and standards. A service interface should always be placed in a *-api project. You can see the HelloService interface follows the same rule. The requirement is for your service interface to extend the Lagom service interface and provide a default implementation for the descriptor method. The descriptor is responsible for mapping the service to the underlying transport protocol:
    public interface HelloService extends Service { 
      ServiceCall<NotUsed, String> hello(String id); 
      ServiceCall<GreetingMessage, Done> useGreeting(String id); 
 
      @Override 
      default Descriptor descriptor() { 
        return named("hello").withCalls( 
          pathCall("/api/hello/:id",  this::hello), 
          pathCall("/api/hello/:id", this::useGreeting) ...