Skip links

Supercharge your workflow.

Welcome to CloudCTL

A company founded in 2022, specializing in development and the Cloud. Our mission: to offer quality solutions, anticipate future market needs and transform technological challenges into growth opportunities for our customers. With an expert team, we accompany you towards success by offering innovative and efficient solutions.

Our vision

Excellence

We are passionate about excellence, and every line of code reflects our absolute commitment to quality and perfection.

Innovation

As pioneers of innovation, we design innovative solutions that push back the limits of technology, opening up new horizons for progress.

Customer focus

More than a company, we’re a committed partner, anticipating customer needs and offering tailor-made experiences, building lasting, meaningful relationships.

Built-in Developer Tools

We help you create high-quality content quickly and easily without sacrificing quality.

Supercharge your workflow.

package main

import (
  "context"
  "fmt"
  "log/slog"
  "os"
  language "cloud.google.com/go/language/apiv2"
	"cloud.google.com/go/language/apiv2/languagepb"
	"google.golang.org/api/option"
)
type SentimentAnalyzer struct {
	client *language.Client
	logger *slog.Logger
}
func main() {
	ctx := context.Background()
	logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
	sentimentAnalyzer, err := NewSentimentAnalyzer(ctx, logger)
	if err != nil {
		logger.Error(fmt.Sprintf
		("Failed to create Sentiment Analyzer: %s", err))
		os.Exit(1)
	}

	// The clientMessage to analyze
	clientMessage := "I love working with CloudCtl. It's amazing!"

	happy, err := sentimentAnalyzer.HappyClient(ctx, clientMessage)
	if err != nil {
		logger.Error(fmt.Sprintf("Failed to analyze text: %s", err))
		os.Exit(1)
	}
	if happy {
		logger.Info("Happy Client")
	} else {
		logger.Warn("Unsatisfied Client")
	}
}

func NewSentimentAnalyzer(ctx context.Context, logger *slog.Logger) 
(*SentimentAnalyzer, error) {
	client, err := language.NewClient
	(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
	if err != nil {
		return nil, err
	}
	return &SentimentAnalyzer{
		client: client,
		logger: logger,
	}, nil
}

func (sa *SentimentAnalyzer) 
HappyClient(ctx context.Context, text string) (bool, error) {
	analyze, err := sa.AnalyzeSentiment(ctx, text)
	if err != nil {
		return false, err
	}
	return analyze.DocumentSentiment.Score > 0.7, nil
}

func (sa *SentimentAnalyzer) 
AnalyzeSentiment(ctx context.Context, text string) 
(*languagepb.AnalyzeSentimentResponse, error) {
	resp, err := sa.client.AnalyzeSentiment
	(ctx, &languagepb.AnalyzeSentimentRequest{
		Document: &languagepb.Document{
			Source: &languagepb.Document_Content{
				Content: text,
			},
			Type: languagepb.Document_PLAIN_TEXT,
		},
		EncodingType: languagepb.EncodingType_UTF8,
	})
	if err != nil {
		return nil, fmt.Errorf("AnalyzeSentiment: %w", err)
	}

	return resp, nil
}

Services

Software development

We are committed to offering a complete software development service, from needs analysis to ongoing maintenance. We design robust architectures with cutting-edge technologies such as Python, GoLang, Java and Scala for reliable, scalable solutions.

Cloud

Our expertise lies in the migration and management of cloud infrastructures, offering customized strategies for the secure transition of applications and data to the cloud, guaranteeing our customers expert management to maximize the benefits of the cloud.

AI integration

Artificial Intelligence as an integral part of our services. Leveraging innovative tools to offer solutions based on machine learning models for predictive data analysis, automating repetitive tasks and tailoring services to our customers' needs.

Devops

By combining Kubernetes for container orchestration and Ansible for task automation, our automated deployment and orchestration service offers a robust, flexible and highly automated solution for development and operations teams.

Have any question? Find answer here.

Some frequently asked questions about our AI software dashboard.

The Latest News & Trends

Contact us

    🍪 This website uses cookies to improve your web experience.