We develop tailor-made Web software for the digital future. Passionate about web engineering, we deliver outstanding software in every customer and Accelerator project. Although we develop exclusively in Switzerland, we recruit the best global talent, with more than 15 nationalities on the team.
Web Software Development at its Best
Expert in both frontend and backend technologies, the web software team builds the best, most-efficient solutions to answer the real needs of customers and users.
We integrate specific software solutions yielded by our active research in artificial intelligence into our products. To support our back end development we rely upon NoSql and graph database technologies and utilise Clojure as the preferred programming language. We develop our front end components using React.
Front End Technologies
Front-end Web development with React
Webpack for optimised Web performance
Web developent leveraged by PostCSS
Redux is employed by Deep Impact at the front end
Back End Technologies
Cojure and NoSQL database technology for backend development. Applications run, mostly, on scalable cloud services.
Web back-end development with Clojure
Elasticsearch for search-engine capability
NoSQL mongoDB for our back-end-database functionality
OWASP principles for secure Web development
CQRS, Domain-Driven Design and More
Curiosity is encouraged and nourished at Deep Impact. We never cease experimenting with new technologies and committing ourselves to trying out promising, state-of-the-art approaches, such as CQRS or domain-driven design. We continually strive to extract the very best out of web technology. Our web-development skills remain at a high level of sophistication.
We utilise tested and successful technologies, most preferably open-source offerings. We thoroughly think through the system architecture and modularise content to the extent necessary to effect and maintain separation of concerns. We test throughout each project phase and thereby continually eliminate error. When it comes to implementing small changes, we frequently go live immediately. This approach has three advantages. First of all, there is less to test. Secondly, if bug fixing is necessary, the change is still fresh in the developer’s memory. Finally, deployments are more secure the more frequently they are carried out.
We vigilantly adhere to deploying well-thought-out code that yields as much functionality for as little execution time as possible. We keep ourselves well informed about architectures that favour high performance (e.g. CQRS). We establish intermediate caches to store complex-server responses. Through data compression, image optimisation and the use of sprites we reduce the frequency of server queries as well as the amount of data transferred and thereby improve overall performance. Content is loaded asynchronously and as selectively as possible so that only data that is absolutely necessary is transferred.
The security of your data is a factor to which we attach the highest degree of importance. The measures we take in that regard bring together multiple strategies and technologies, often at the same time. We encrypt data under HTTPS and diligently apply known security recommendations such as the OWASP Top 10. When is becomes necessary, we employ tooling to detect, record and report (logging and monitoring) attempted attacks on the system while hindering its performance as minimally as possible.
For software to enjoy a long life, it must be continually maintained and enhanced. We keep our software simple, so it is easily adapted. Areas of an application, wherever possible, we separate, to keep it simple to work on each of them individually without affecting other areas.