Agile Software Development

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 follow the Agile approach, typically in 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.
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 the customer 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, Selenium 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.

Long term maintainability

We are rigorous in using industry standard solutions to keep options open.

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 fashion 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 moduls of the software, and even connecting new ones can be easily accomplished.

Code quality

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

Extensive experience

We are Java Enterprise Edition experts with experience deploying Java based projects since 2002.
With over 90 years of combined experience in Java development, our architecture and development team of nearly twenty-five experts is available to serve the IT and business needs.
If the development of a complete solution requires some unique and specific knowledge, thanks to our wide network of professional connections, we are able to involve additional specialists at any time. This guarantees that the developed solution is implemented with the highest level of expertise.

Up-to-date technologies

Keeping track of the most recent trends and technologies is one of the cornerstones that enables our team to deliver modern products of various levels of complexity.
Settled solutions of Java technologies extends the useful life cycle of the given software for long time.

Comprehensive service

Precognox offers full-cycle Java 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.

What can we do for you

Analysis and consulting

  • Business analysis and requirements management
  • Business process modeling and specification
  • Data modeling
  • Solution architecture design
  • Software security audit and consulting

Application Development

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

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 clustering
  • Pre and post-filtering solutions – multiple facets (clusters)
  • Sorting by multiple parameters
  • Search interface building or customization of our solution
  • Search scaling (sharding, clustering, replication for high availability)

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
  • Structured storing in database (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

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 (Gradle, Docker, Jenkins)
  • 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

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 (Ansible, Rancher)
  • Multi-level cache solutions (Squid)
  • MySQL performance tuning
  • Cloud based hosting, scaling
  • AWS (Amazon Webservices) based hosting

Security

  • SSO (Single Sign On) based on CAS and Keycloak
  • Authentication through social media sites
  • HTTPS/SSL
  • X.509


Technologies, tools and skill

  • Solr, Lucene, Elasticsearch
  • Natural Language Processing tools (Rosette Text Analytics, 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 11, J2EE 7 (EJB3, CDI, JPA, JMS, JAX-RS, JAX-WS, JSF, JSP)
  • Hibernate, EclipseLink
  • Message queue (JMS, RabbitMQ)
  • HTML 5, CSS 3, Angular, React, Javascript, TypeScript
  • Ruby, 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)
  • Redmine and Jira project management systems
  • Testlink
  • SoapUI
  • Selenium: Automated Testing and RPA (Robotic Process Automation)
  • Docker, Docker composel
  • Jenkins continous integration (CI)
  • Swagger
  • Logstash
  • RMunin, Nagios, Datadog
  • Kibana
  • SonarQube to manage code quality
  • gradle
  • ansible
  • rancher, rancher compose