Common

Visual Workflow Automation Meets Intelligent Processing

Introducing Cocosplate AI: Visual Workflow Automation Meets Intelligent Processing

We’re excited to introduce you to Cocosplate AI, a platform that’s changing the game for teams who need intelligent automation without the complexity. If you’ve ever wished you could build sophisticated AI-powered workflows as easily as sketching a flowchart, you’re in for a treat.

What Is Cocosplate AI and Why Should You Care?

Cocosplate AI is a visual workflow automation platform that lets you build intelligent processes using a drag-and-drop interface. Think of it as your command center for orchestrating AI tasks, data processing, and business logic—all without writing a single line of code (unless you want to).

What makes it special? It bridges the gap between no-code simplicity and developer-level power. You get the speed of visual design with the flexibility to dive into Python when you need custom logic. Plus, it puts you in control of your data and model choices, which is increasingly critical in our privacy-conscious world.

What’s New and Exciting in March 2025

The latest release is packed with features that set Cocosplate apart from traditional automation tools:

Visual Workflow Design with UML-Style Diagrams: Build complex workflows using intuitive flowcharts that support conditional branching, parallel processing, and loop logic. It’s like designing a process map that actually executes itself.

Hybrid AI Model Support: Here’s where it gets interesting. You can seamlessly switch between cloud-based language models (OpenAI, Anthropic, Google) and your own local or custom models. Need GDPR compliance? Keep sensitive data on-premises with local LLMs. Want cutting-edge performance? Tap into cloud APIs. The choice is yours.

Python Integration for Power Users: While the visual interface handles 90% of use cases, you can embed custom Python scripts for specialized data transformations, API integrations, or mathematical operations. It’s the best of both worlds.

Smart Routing and Decision Logic: Built-in sentiment analysis, content classification, and dynamic branching mean your workflows can intelligently adapt based on the data they process.

Who Benefits Most?

Cocosplate AI shines for mid-sized businesses and operations teams who need enterprise-grade automation without enterprise-grade complexity. We’re seeing particular traction with:

  • Customer service teams automating ticket triage and response generation
  • Operations managers streamlining approval workflows and data processing
  • Marketing departments personalizing content at scale
  • Compliance teams needing data sovereignty and audit trails

If you’re tired of duct-taping together multiple tools or waiting weeks for IT to build custom solutions, Cocosplate is built for you.

Quick Wins: Use Cases to Try First

Here are some workflows you can build in an afternoon:

Intelligent Email Processing: Route incoming messages based on sentiment analysis, automatically escalate urgent requests, and generate draft responses using your choice of AI model.

Document Intelligence Pipeline: Extract data from invoices or contracts, validate against business rules, and trigger approval workflows—all while keeping sensitive data on your own infrastructure.

Customer Feedback Loop: Analyze survey responses, categorize themes, generate summary reports, and even trigger follow-up actions based on sentiment scores.

Multi-Language Support Automation: Detect language, route to appropriate local LLM for translation or response generation, maintaining data privacy for international customers.

Ready to Explore?

Cocosplate AI represents a new approach to intelligent automation—one that respects your need for both simplicity and control. Whether you’re automating your first workflow or replacing a patchwork of legacy tools, we think you’ll find it refreshingly capable.

Get started with our free trial at cocosplate.ai/trial, or dive into our comprehensive documentation to see what’s possible.

Stay tuned for upcoming deep-dives and case studies where we’ll show you exactly how teams are using Cocosplate to solve real business challenges. Have a use case in mind? We’d love to hear about it in the comments below!

Visual Workflow Automation Meets Intelligent Processing Read More »

The right Java bytecode version for Android

Android up to API level 23 does not support all possibilities of Java 8, the classes that the compiler generates have a version flag to denote which bytecode extensions can be inside of it. If you ever happen to hit an error like this during your build

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Exception parsing classes
        at com.android.dx.command.dexer.Main.processClass(Main.java:752)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)
        at com.android.dx.command.dexer.Main.access$1200(Main.java:85)
        at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)
        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        at com.android.dx.command.dexer.Main.processOne(Main.java:672)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
        at com.android.dx.command.dexer.Main.run(Main.java:277)
        at com.android.dx.command.dexer.Main.main(Main.java:245)
        at com.android.dx.command.Main.main(Main.java:106)
Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
        at com.android.dx.command.dexer.Main.parseClass(Main.java:764)
        at com.android.dx.command.dexer.Main.access$1500(Main.java:85)
        at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1684)
        at com.android.dx.command.dexer.Main.processClass(Main.java:749)
        ... 12 more
1 error; aborting

:app:transformClassesWithDexForDebug FAILED

you most likely included a class generated with a compiler target-level that was too advanced ( 34 hexadecimal in the case above is the level 52 of the Java 8 class format).
Android as of today supports all features of the JDK 7 compiler (see e.g. the release notes of the ADT plugin https://developer.android.com/tools/sdk/eclipse-adt.html).

In order to actually find the classes that were compiled against the wrong Java version you can use this command and check for anything that is >= 52

javap -v *.class | grep major 
# it'll report e.g.:
  major version: 50

To define which Java bytecode compatibility level to use and still have the latest jdk8 in your JAVA_HOME, you can use this in the build section of your Maven pom:

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>

 

The Gradle Java plugin is configured like this (the compatibility definition needs to be after applying the java plugin to take effect and gradle-android projects have this stored in the compileOptions instead as shown below)

allprojects {
    apply plugin: 'java'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
}

// Gradle-Android projects have this stored in the compileOptions instead:
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    // [..]
}

Source and target compatibility are usually set to the same level, you need to be careful and should know what you are doing if you set them to different values, for example linkage errors at runtime may occur if the classes refer to newer java apis that were not present earlier.

The right Java bytecode version for Android Read More »