Custom software development & consulting

We develop video processing embedded software for our clients. Our responsibility is video processing pipelines of any complexity. We provide full cycle of software development from concept to final testing and technical support. We also provide training for the client's engineering team so that the client can independently maintain and develop the project in future. In development we use all our software libraries. Type of development:

  • Embedded software for security cameras.

  • Embedded software or wearable camera systems.

  • Embedded WEB interface for devices.

Technology

We develop application and libraries in C++ (>= C++17). Projects are designed as CMake projects. We use node.js and React to create web interfaces (device control interface). We use only our own software libraries. As well, we develop solutions for object detection based on neural networks (only integration into video processing pipelines for different platforms). We do not train neural networks. Also, we do not develop cryptographic solutions.

Licensing

During development we use all our software libraries which necessary for project. The source code of all necessary software libraries will be included in the project according to non-exclusive royalty-free perpetual license. We guarantee the clear license. That means, you will be able to use any of your licenses for the developed software.

Steps

1. Contact us and provide the details of your project to see how our team can help you with your project.

2. NDA.

3. Statement of Work. Once you and ConstantRobotics have verified that the project is a good match, the customer will provide a Statement of Work or similar documentation.

4. Task List. ConstantRobotics then creates task list and provides rough estimate for it. The customer will then have a call with ConstantRobotics engineers to explain each of the tasks. The effort to complete the task list is Time and Materials (T&M):

  • Defining the project's tasks, timeline, and deliverables.

  • Defining a list of libraries, technologies and solutions that we already have and can use in the project.

  • Create a common project repository with the client's engineering team, and create a common ground for online discussion and coordination of the project. Our engineers will be in constant communication with the client's team.

  • Execution of development with controlling results.

5. PO and Payment. For new customers, you need to pre-purchase the professional consultation. Once we have established a working relationship, ConstantRobotics bills at the end of each month for the services provided, a Net30 invoice is created.

6. Hardware (if needed). If necessary you can send hardware to the us for development purposes. ConstantRobotics has access to several EVM boards that could be used for your project. Hardware is sent back once ConstantRobotics is done with the project. The process of equipment shipment is agreed upon separately.

7. Provide software testing support.

8. We maintain the product and provide technical support (consultations, bug fixes, improvements based on the results of operation).

9. Conducting trainings for the client's engineering team to enable independent support and development of the project by the client's team.