The Story

Oxydigit is a Dutch digital development and consultancy company.
We provide assistance in technical design, production and support for modern digital products.

In the current digital world, people are getting used to working with digital products more and more. In a couple of years we will be connected through the internet of things.

In the past we have seen that the digital era has made things easier for humans to achieve a certain goal. This does not necessarily mean that the digital products are simple and easy to use. We can say that the focus has always been on "getting the deal done".

Nowadays we see that one has multiple options to pick a digital tool that will achieve a certain goal. This means that these tools compete with each other on different levels such as effectiveness and price.

Two of those factors have become usability and user experience (UX) design. Products have become not only functional, but also beautiful and fun to work with, thanks to using the latest technologies.

Oxydigit believes that the time has passed where people have to shape to the way their applications work. Instead applications should shape to the needs and taste of the user, without having to give in on functionality. Any boring task can be changed into a fun game-like experience.

We have the knowledge to make cutting-edge (web-) applications that are modern and usability-optimized. Either if you need help defining the right product to suit your business need(s) or if you need a solid technical base in terms of design and documentation for your digital projects, you can count on us.

We have more than 15 years of experience in building web-applications and more than 10 years in building apps. The used technologies have always adapted to modern development and implementation techniques as well as hosting and servicing the end products. We have moved through Java, Actionscript and Flash on dedicated servers to Ruby on Rails and HTML5/CSS3 on Cloud Servers, to Dockerized React apps in Kubernetes environments.

Just realizing the product is not where it all ends. Proper behavioral testing is key to delivering safe and solid solutions. Current development techniques allow for proper test integration and better maintainability. We can also give advice and perform any type of testing on existing applications as well as providing due diligence assistence.

Sjoerd Kuijper
Digital Architect & Engineer @ Oxydigit

Focus points

MODERN

Products that we create at Oxydigit are modern digital products. Modern means that we use the latest technologies and try to look forward. We see to upgrade legacy products to standards of today that are future-proof. Both the source code and the data should be stored and maintained in a way that it is flexible and usable in other digital environments. We don't want lock-ins but integrated collaboration through API's instead. All services that we use have the same approach which makes the end product feature rich and beautiful to look at.

USABLE

Not only should a digital product be functional, it should also be simple and easy to understand. Putting someone who doesn't know the interface of the product to interact with it gives a good indication about how intuitive the interface actually is. Thinking about user experience (UX) design is at least as important as the visual design itself. Modern technology as Oxydigit likes to use it, allows building the products in such way that you can optimize them easily and make the changes where necessary to improve usability afterwards.

SUSTAINABLE

Traditional hosting solutions require dedicated hardware that have a lot of impact on the way it needs to be supported. Physical space, power requirements, hardware maintenance, network performance etc. all form part of the needed infrastructure. This infrastructure can be costly in terms of energy, space, human resources, or investment. Surprisingly the usage levels of a self hosted solution is quite low on average, wasting a lot of potential computing time. Oxydigit moves hosting to the cloud, where the infrastructure is optimized and shared with others so that usage levels increase and costs are reduced. Energy consumption per hosted application is also dramatically reduced, because of modern, highly efficient data centers.

SAFE & SECURE DATA

Data safety is focussed on the way that data is checked and stored to make sure that data integrity is protected. Proper backups must be in place in case integrity checks do fail. Not only for user content, but also for the source code, and the application itself. Apart from that you need proper security so that your data or application cannot be compromised by breaking authentication or stealing data through viruses and worms. Oxydigit keeps data safety as a key factor in its workflow. All data is backed up and reversible to an older state to recover from emergencies. Security is handled by knowing how to set up a server correctly, following best practices in development and keeping software up to date with the latest patches and updates.

SCALABLE

For many applications and websites it is hard to predict how many users are going to use it simultaneously. Or sometimes we just already know that usage levels will fluctuate a lot. In those cases you either need to set it up big and expensive in the first place, or build your application in a way that it can grow or shrink with the usage levels. High potential set ups can be very expensive to run for a long period of time, but also be absolutely necessary at some specific moments. Oxydigit creates flexible solutions that allow to scale up and down to make sure that you pay just for what you need. Either if you have a website that has 10 visitors a day, or a website that has 100.000 visitors per hour, we bring you an application that can handle it.

TRANSFERABLE

We understand that a web product should not always be serviced by the same person or company. If you write the application without complying to development standards, you can create a lock in for the customer. A lot of digital products suffer from this, since the development agency has more interest in badly written code that needs their "expertise" to be maintained, then to create transferable easy-to-understand and well documented code, that can be extended and serviced by other developers without any problem. Oxydigit thinks that you should expect a well written and documented transferable product, so that you can decide where to take development or service at any time.

PERFORMANCE-OPTIMIZED

All web products have a certain part that is the heaviest or the weakest link in the chain. By doing performance analysis, we can find these parts for you and alter the hardware and software in a way that these links have all the resources they need, so that the application will not fail on these crucial parts. To monitor performance and possible errors we use state of the art software, that allows us to tweak your product before the problem has become visible to you or your website's visitors.

Technologies

Java Spring

Java has been the go-to language choice for a lot of (large) companies with extensive application needs. It has evolved over time to comply to the latest modern standards to keep up with the broad scala of languages available these days. The Spring framework uses Java to deliver a wide set of features divided into modules, so you can pick what you need to build distributed-, cloud- or microservices with minimal effort.


translation missing: en.technologies.ruby-rails.title

translation missing: en.technologies.ruby-rails.description


Native App Development

Mobile apps have proven to be an important part of our everyday lives. They can be an important touch point between customers and companies as well as an important toolkit for mobile phone users. Native apps can be build directly in the Android Studio for Android or in XCode for iOS. If the apps do not differ all that much from each other we can also use the React Native framework to keep a single codebase (with single effort) to build both native apps in one go.


Kubernetes

Over the years using microservices on Docker has become more and more popular. To be able to deploy manage and scale these containers in production you can use the Kubernetes platform. Kubernetes allows you to scale a dockerized application per service and deploy without downtime in a secure and flexible environment. Upgrading an application with a lot of dependencies can be cumbersome and difficult to execute. Because of Docker and Kubernetes we can pre-build and test our new version before deploying it without any difficulties.


ArgoCD

ArgoCD is a tool to ease deployments on Kubernetes. Instead of manually triggering a deployment or deploying from a pipeline ArgoCD will monitor a Git repository and deploy any changes to Kubernetes automatically.


Amazon Web Services

Amazon Web Services is a set of services offered by Amazon to do your complete cloud setup. Instead of renting a physical server in a building somewhere, you can rent your hardware per hour. This way you can scale up easily if you (temporarily) need more resources.

Apart from application servers, AWS also offers storage services for databases and files. These services make storing a lot of data very easy and allow its distribution all over the world in a matter of seconds.


cert-manager

cert-manager helps you to automatically provision custom certificates in a declarative way. You can use it to keep automated certificate management in-cluster without having to worry about expiring certificates and manual renewals.


Docker

Docker is a platform that separates classic servers into segments that together will form your application. This allows for developers to easily compose a transferable environment that will work the same everywhere. This reduces the risk of errors due to differences in architecture between systems. Apart from that these environments can be set up quickly, eliminating time consuming installation procedures.


ElasticSearch

Elastic search is a powerful service that helps indexing your data. It can keep track of large quantities of data in such a way that makes it easy for users to retrieve it. Look at it as a big library of books that has a librarian with a list of all books and their subjects. If you need a specific book, you can ask the librarian and he will tell you where it is, instead of having to go through all the bookcases yourself.

Apart from a basic search index, ElasticSearch also provides real time data analytics and statistics, as well as search tools that are not-so-standard. If a database contains location info for example, ElasticSearch can find results within a certain radius from a given location. Very useful if you have a location based App!


Git

Git is a version control system used for keeping track of changes in code. It allows developers to collaborate on the same project's code without problems with merging the code afterwards. It also allows different "branches" of code to be developed, which is useful for developing new versions of the product alongside older versions that need to be maintained.

If your application has been developed using Git, you can be sure that it is always possible to go back to an earlier version of the product, because nothing gets lost. This means your product is more flexible and can recover more easily from possible bugs.


GitLab (CI)

GitLab is a major GitOps platform with integrated Continuous Integration & Delivery. You can use it as a primary source code management system and to integrate your code with many different development and operational tools.


Grafana

Grafana helps you to visualize metrics from many different sources. It integrates nicely with Prometheus to monitor your applications in a visual way. Set alerts where you want to get notifications if metrics show unwanted patterns.


Harbor

Harbor is modern registry tool for managing container images for your Kubernetes clusters. It allows you to scan your images for vulnerabilities and take measures according to the scan result. It runs in cluster and allows you to replicate images to other clusters. Obsolete or vulnerable images can be cleaned up automatically.


Helm

Helm is the go-to deployment tool for simple Kubernetes application management. It allows you to package and version application deployments with rich templating. Store your charts in a registry to share templates between applications.


Javascript

Javascript is present on nearly every website. It can be executed by the browser to allow all different types of enhancements to a website, like animation, popups and tracking scripts. Javascript can be used to create app-like web applications, with a full rich experience.

Updates to Javascript come slowly because it is so universally used. This is way it has become a difficult part of the development with overcomplicated syntax. Nevertheless for building modern websites it is a necessary component.


Kubernetes

Over the years using microservices on Docker has become more and more popular. To be able to deploy manage and scale these containers in production you can use the Kubernetes platform. Kubernetes allows you to scale a dockerized application per service and deploy without downtime in a secure and flexible environment. Upgrading an application with a lot of dependencies can be cumbersome and difficult to execute. Because of Docker and Kubernetes we can pre-build and test our new version before deploying it without any difficulties.


Keda

Keda helps you leverage (Prometheus) metrics to decide when to scale an application. When load increases on an application the metrics will show this and Keda adds extra capacity to the application. When the capacity is no longer needed Keda can scale down the application just as easily.


MongoDB

MongoDB is a No-SQL database system. It can be used to store data that belongs to your application. In some cases a relational database system (like MySQL for example) is not scalable enough.

Typical data that can be stored in such a database are statistics and log data, because of their massiveness. This database system claims high performance and optimal scalability, so it can grow with the data.


MySQL

For many types of data, likes lists of users and new items for example, a relational database is the way to store your data. It allows fetching the data and the related objects in the traditional way by using SQL.

MySQL is one of the big players in the open-source relational database market. If your application has to deal with legacy data, chances are that it is stored in a MySQL database.


Nexus

Nexus is a repository manager to help you proxy resources from common upstream repositories to a local instance. It can cache this information and deliver it more quickly on a subsequent request. It can also be used as a general artifact store to keep application artifacts in a central repository.


OpenShift

OpenShift is a Kubernetes implementation offered by RedHat. It allows for running Kubernetes in a private cloud environment when public clouds are not suitable. On top of Kubernetes it adds extra platform functionality to increase security and allow for multi-customer tenants.


Operator Framework

The Operator Framework allows you to extend Kubernetes functionality with custom objects and functions. You can use it to include business specific logic into your infrastructure.


PostgreSQL

PostgreSQL is a modern relational database system. It has evolved over the last couple of years to a full featured alternative of MySQL. It can store the same type of relational data, but also has some features that make it easier for the developer to work with.

Because of the extra features, like full text search and the storage of more complex data types, PostgreSQL is expected to take over the market bit by bit. Migrating from other database systems is not so easy unfortunately.


Prometheus

Prometheus collects metrics from all (application) components about their current state. Keeping track of them in time allows you to detect changes and tendencies which might require interference. For example to prevent an application to go down because it runs out of database storage.


React

React is a Javascript library for building user interfaces. It's relatively new and becomes more and more popular. Partially because it can be used in a "React Native" variant for simultaneously building native iOS and Android apps. This makes it possible to save time and costs without giving in on functionality and quality. By itself it is an excellent replacement for frameworks like Angular. Specifically when you need an application that requires the use of stateful components.


Redis

Redis is a fast key-value database to save very simple data. This type of storage is suitable for caching and storage for background processes for example.

Because of its nature it is fast and performs optimal with minimal resources. It is also quite limited in the supported data types.


Slack

Slack is a modern chat program that focuses on communication within and between companies. It fills the gap between phone calls and email. Phone calls can be very obtrusive, because you can't pick your answering moment. Email is slow, because an entire message has to be written that ends up on top of a big pile.

Besides the standard chat functionality, many interations are possible that extend the available channels with relevant information from other systems. You could attach notifications to a channel for example, so everyone involved is informed.


Ubuntu

Ubuntu is one of the major open source operating systems for servers. It has proven to be reliant and easy to install and update. It is a member of the Linux family that completely relies on open source software.

Ubuntu uses the praised package manager APT. APT allows you as a developer to install all the software you may need, without having to run the install scripts yourself. This saves a lot of time and assures that you install what you want to install and not some modified version that contains malware. It highly contributes to a secure environment for your application and your data.


Some of our work

Contact

ADDRESS

Theemsstraat 14
2014 RX Haarlem
The Netherlands

PHONE

+31 23 844 34 82

EMAIL