Agile Software Development

We offer a client-focused partnership, with expertise in full-cycle software development, specializing in text mining and analytics solutions.

Software development at Precognox

We offer our clients a partnership where the customer’s vision is accomplished by Precognox’s professional, full-cycle software development expertise. Our software development team has specialized knowledge to solve text mining and analytics challenges. Moreover, we can also help in designing, developing, testing, deploying, and managing next generation software products for the web that match the unique requirements and drive value to the client’s business.

QA from the very beginning

Professional support from day 1

We start Quality Assurance activity in the specification writing phase by reviewing and giving feedback to the editor of the functional specification. Our Senior developers, Testers and Software Architects provide their input in terms of planning.
We prefer jump in even earlier stage with experienced Business Analysts who can help the client defining business ideas in the form of a software solution. Thus the expensive dead ends are avoidable.

Quick iterations

We primarily follow an Agile software development methodology, typically with two-week Sprints, which enables the formulation and achievement of efficient sprint goals, as well as adds flexibility to change management. We support rapid testing cycles of the current version of the software with continuous integration methods.

Several of our staff members have Scrum Master qualification (Professional Scrum Master – PSM I).

As a result, the client is able to try out the system in its current state from the very beginning of the development.

Full transparency

Cloud based task management and the reporting tool (Jira) provides a full view of the hours spent on tasks in the given development cycle. It solves the joint editing of the Backlog, as well. The test cases and the results of their runs are also transparent to our customers (we use TestLink software). This enables them to feel like that we are part of the internal team throughout the software development process.

Future-proof solutions

Our experienced test engineers automate the test run (with our own, state-of-the-art, Cypress-based solution) for the test cases of stable functions. This way, it is possible to implement new functions under stable operation of previous functionality. Several members of the QA team are ISTQB Certified Testers.

Professional indemnity insurance

The safety of our projects are guaranteed by our expertise and outstanding quality assurance method. Since 2020 it is also supplemented by a professional indemnity insurance of £1 million.

Long term maintainability

In our development processes, we use modern, standard solutions that give our customers the freedom to further extend the software.

Improvability

We are experts at preparing improvable software. The key to facilitating the integration of future changes is that we pay careful attention to software architecture and quality from the outset of the project.
This allows adding new features to the software in every phase easily and sustainably.

Flexibility

Our experienced architects plan the system in a modular structure and, by using a code review mechanism, keep the functionality in the appropriate software layers (generally following the MVC model). In case of restructuring becomes necessary, we achieve it through code and modul refactoring.
This way, changes only required at the relevant modules of the software, and even connecting new ones can be easily accomplished.

Code quality

Code analysis is automatically run both on the Frontend and Backend codebases. The result is then used to improve code quality in daily development. We keep Unit test coverage of common components on high level.
Getting code quality right from the very beginning means quicker, easier changes in the future and lower overall costs.

Extensive experience

We have many decades of combined experience in Java and Typescript based development. A team of nearly 50 System Architects, Developers and Testers is at our customers’ disposal to solve business and IT challenges.

Up-to-date technologies

We organize regional professional meetups and our staff share new knowledge through in-house presentations, which are followed up through technology conference series and professional articles.

Comprehensive service

Precognox offers full-cycle development services. We build reliable, scalable and secure applications that meet the most sophisticated requirements so that our clients can concentrate on their own business.

In case the development of the complete solution requires some unique knowledge, thanks to our wide network of contacts, we are able to involve additional specialists at any time. In this manner, it is guaranteed that the developed solution will be implemented by the highest level of expertise.

What can we do for you

Analysis and consulting

  • Business analysis and requirements management
  • Business process modeling and specification
  • Data modeling
  • Solution architecture design for the existing corporate technology environment

Application Development

  • Custom application and product development
  • Software solution optimization, reengineering and performance tuning
  • Migration from legacy technologies to a modern platform
  • Data mining & business intelligence (BI) service
  • Enterprise content management (ECM)

Architecture design and scaling

  • Needs assessment based on the distribution of daily data and visitor traffic
  • Selection of cost-effective platform and architecture elements (cloud vs. dedicated servers)
  • We build components that easily enable the movement and scaling of applications (microservice architecture)
  • Continuous delivery (CD) approach
  • Infrastructure automation
  • Structured logging, log management and analysis
  • Monitoring of production software and infrastructure tuning

Search solutions

  • Custom search index planning, implementing complex relevance functions and quick text-search
  • Multilingual indexing
  • Domain specific thesaurus building and using for search efficiency improvement
  • Autocomplete (query suggestion)
  • “Did you mean?” suggestion function after typo
  • Document classification (topic categorization)
  • Pre and post-filtering solutions – multiple facets (clusters)
  • Sorting by multiple parameters
  • Search interface building or customization of our solution according to the client’s needs
  • Search scaling (sharding, clustering, replication for high availability)

Learn more about intelligent search.

Structured database building from unstructured data (ETL)

  • Focused crawling from selected sources (cyclic walkthrough of thematic web pages)
  • Text parsing, data retrieval, cleaning and transformation
  • Storing and querying already structured data (relational, NoSQL or graph database)

Text and Data mining

  • Keyword extraction from unstructured text (in English, German, Hungarian, Spanish, Portugese, Chinese, Arabic or any other natural languages)
  • We are an official system integrator of the Rosette Text Analytics toolkit
  • Complex use of linguistic tools and language processing frameworks (UIMA, GATE , OpenNLP, Stanford NLP tools, tools of Morphologic)
  • Linked data, SKOS thesaurus building
  • Predictive analytics
  • Parallel and distributed data and text processing
  • Text classification and clustering
  • Tagging texts (labeling, annotation) with relevant key-phrases and keywords
  • Automatic text summarization and extraction
  • Sentiment and emotion analysis

Learn more about our text analytics solutions.

Professional Java application development

  • more than 10 years developing experience by several team members
  • Spring Java application development with REST API
  • Automated application building and deployment – Continuous Integration and Delivery (CI, CD) (Jenkins, GitLab CI)
  • Microservice based application structuring
  • Stress testing and Java performance monitoring and optimization

Web development

  • Web services, providing standard REST API and its documentation through Swagger
  • Client side MVC with Angular or React framework
  • TypeScript supported client side code quality

Mobile app development

  • mobile app development services in Swift, Java, Kotlin, Ruby, Ruby on Rails

Hosting, scaling

  • Any J2EE application server or Servlet engine
  • Apache httpd, NGinx, HAProxy based load balancing
  • Container architecture (Docker) hosting, with multihost service discovery
  • Microservice Orchestration (Kubernetes, Ansible, Rancher)
  • Multi-level cache solutions (Squid)
  • MySQL performance tuning
  • Cloud based hosting, scaling
  • AWS (Amazon Webservices) based hosting

Security

  • Use of a system providing authentication and authorization
  • SSO (Single Sign On)
  • Authentication service with the service of social media sites
  • HTTPS/SSL
  • Penetration Testing
  • VPN
  • Filtering and limiting network traffic
  • ESET Endpoint Security
  • Internal regulation of software usage

Technologies, tools and skill

  • Elasticsearch, Solr (Lucene)
  • Linguistic tools and Natural Language Processing frameworks (Rosette Text Analytics, OpenAI – ChatGPT, Neticle, UIMA, GATE , OpenNLP, Stanford NLP tools, Morphologic tools)
  • Annotation services for supervised machine learning tasks
  • ETL tools: Nifi, Pentaho, Talend
  • Tableau
  • Wildfly (JBoss), Tomcat, Jetty, Dropwizard
  • Apache httpd, NGinx, Lighttpd, HAProxy
  • Java 17, J2EE 7 (EJB3, CDI, JPA, JMS, JAX-RS, JAX-WS, JSF, JSP)
  • Hibernate, EclipseLink
  • Message queue (JMS, RabbitMQ)
  • HTML 5, CSS 3
  • TypeScript
  • Angular
  • React
  • Python, shell+awk, Groovy
  • Google Web Toolkit (GWT)
  • Relational data storage (MySQL, Postgres)
  • Graph data storage (neo4j)
  • Database migration (Liquibase, Flyway)
  • Redis, Riak
  • Git version control (Github, GitLab)
  • Jira project management systems
  • Testlink
  • SoapUI
  • Cypress, Selenium: Automated Testing and RPA (Robotic Process Automation)
  • Docker, Docker compose
  • Kubernetes
  • Rancher, Rancher compose
  • GitLab CI and Jenkins-based continous integration (CI)
  • Swagger
  • Logstash
  • Munin, Nagios, Datadog
  • Kibana
  • Linter, SonarQube to manage code quality
  • Gradle
  • Ansible