Clear Blue Design company logo.

We Make Software

That People Love

We take software product ideas from napkin sketch to launch.

Idea!
Napkin
Sketch
User Experience
Design
System Designs
Build

void onActionFieldClosed(final bool val) {
   if (val) {
       setState(() {
           if (_actionController.text.isEmpty) {
               actionText = "•••••••••";
           }
       });

    }

setState(() {
       _actionController.clear();
       appBarKey.currentState?.goToNewPosition();
   });

}

Launch

Our Team

Employee photo.
Chris
CEO
Employee photo.
Petr
Toolsmith
Employee photo.
Ama
Developer
Employee photo.
Snezhana
Developer
Employee photo.
Fedor
Designer
Employee photo.
Alexandra
Designer
Work with Us

Writing & Press

Petr Filipchyk • Jun 4, 2022
Exporting Full Elasticsearch Index as a JSON File

Because Elasticsearch Dev Tools and standard Elasticsearch search API limit the number of records to 10,000, the simplest way to export all of the index data as JSON file is to use the elasticsearch-dump tool: https://github.com/elasticsearch-dump/elasticsearch-dump. Underneath, it’s probably using either PIT (point-in-time) or scroll API, though why bother with those when someone created a great tool that does it all.

Petr Filipchyk • Sep 16, 2021
Free Azure FTPS Server with 1GB of Space

While we don’t often need an FTP server these days, when you need one, you need one. Azure Cloud is our default cloud provider for all of our projects, though we also occasionally use AWS and Google Cloud. Naturally, these were the first few places we checked, hoping they’d have a low-cost (if not free) managed FTP service. Of the three, only AWS has one out of the box — AWS Transfer Family. Sadly, it adds up to about $40/month to run (or thereabout). Not too bad, but feels too much just for a place to drop a few files once in a while.

Petr Filipchyk • Sep 7, 2021
AppStore Connect Permissions to Publish Apps

After embarrassing struggles of back-and-forth with our clients about what permissions they need to grant us to publish to the Apple AppStore, we decided to write it all down. Obviously, the simplest and probably generally preferred set up (at least for our one-app clients) is to add us in the “Admin” role on AppStore Connect. This allows the user to fully and independently configure the app in AppStore Connect as well as on the Developer Portal (ids, certificates, etc.).

Ben Hawkins • May 26, 2021
AppStore CoFlutter Pagination Classnnect Permissions to Publish Apps

Requirements for handling data are often very similar across screens. Pagination is often needed, as well as reloading/refreshing (not the same!), and knowing the various data states such as if there are any more pages, etc.While it may not be very difficult to implement these features individually, the repetition becomes hard to ignore.

Ben Hawkins • Apr 24, 2021
How-to: Simple Angular Debounce using RxJS

Debouncing is the practice of limiting the rate at which a function fires until after some cooling period. For example, many applications optimize the UX of their search features by presenting items as the user types. This usually involves debouncing the search function in order to avoid unnecessarily calling the server after every keystroke.

Petr Filipchyk • Mar 20, 2021
Make “Headless” Raspberry Pi VNC Open in 1080p

So, you’ve installed Raspberry Pi on your first board, figured out its IP address, enabled SSH, enabled VNC, connected to it “headless” from your computer. That’s exactly what I did following this wonderful tutorial from guys at Atomic Object. And…you see this:

Mar 3, 2021
Product Hunt Newsletter

Our TeamTime app is featured in the top ten on Product Hunt.

Petr Filipchyk • Oct 26, 2020
Yet Another Time Tracker, for Basecamp, but Done Right

We’ve tried pretty much every possible time tracking solution that claims to integrate with Basecamp. You can see lots of them here: Basecamp 3 Integrations.

Ben Hawkins • Jul 10, 2020
Creating Widgets with Builder Functions in Flutter

What is a builder function? 🤔
A builder is a Flutter design pattern in which the construction code of a widget is defined outside of its class. Builder functions are callback interfaces that pass data (often layout-specific) to the parent widget which returns a child based on that data.

Apr 4, 2019
LSU Lecture: Stripe Payments in an Ionic App

Implementation of in-app payments using Stripe and Firebase inside an Ionic 4 app.

Aug 7, 2018
Nexus Louisiana

Baton Rouge Entrepreneurs Behind Growing App for Peer-to-Peer Rentals of Idle Stuff

Jan 19, 2017
225 Magazine

Chris Dykes Imagines a Future Full of Ideas: TEDxLSU 2017 speaker interview

Dec 19, 2016
The Advocate

Few days remain for $940,000 left in available East Baton Rouge warrant recall refunds

Nov 22, 2016
WAFB

Citizens go online to collect $1M in refunded traffic fees (redbaton.org)

Chris Dykes • Nov 18, 2016
How I Learned to Stop Worrying and Love the Cloud

Can we all agree that the word “cloud” is just about the worst possible choice for instilling confidence in where you are being asked to store your data? The scientific definition represents a collection of minute particles that lacks real substance and is ephemeral in nature. Other uses of the word have been in reference to something that is threatening and ominous (“cloud of suspicion”, etc.). Simply terrible word choice!

Nov 7, 2016
TEDxLSU 2017 - Chain Reaction

Our CEO, Chris Dykes, is announced as one of the TEDxLSU 2017 speakers

Petr Filipchyk • Jun 22, 2016
Using ReportViewer in Local Processing Mode in Azure Web Sites/Apps

Microsoft ReportViewer (WebForms) doesn’t work out-of-the-box in Local Processing Mode (RDLC) in a .NET web app/api deployed to Azure Web Sites/Apps. This sad fact is also confirmed by one of the recent, official Azure blogs.
However, there’s a way to make it work, and here is a summary of steps to do it:

Nov 25, 2015
Business Report

Baton Rouge entrepreneur launches new app allowing users to share, cultivate ideas for community improvements