We produce both large and small, simple and complex web apps according to your needs. From corporate websites and e-commerce solutions to highly interactive single page applications with separate back-end service.
Our development process is designed to deliver a product that meets your expectations without exceeding the budget.
You can read more about our web development process below.
Identifying customer needs
Documenting requirements
Preliminary effort estimate
Signing the contract
A great web app starts with a well-conceived idea or arises from the need to modernize your everyday business. The clearer the vision, the better the outcome. We will gather and organize your wishes to form a comprehensive requirements specification. Documenting your needs will also help eliminate any grey areas.
When your idea is not quite nailed down yet then we can also proceed with agile development process, gradually specifying and adding new functionality. While such approach is more flexible than traditional development methods, it often leads to increase in duration and cost of development. Moreover, with agile methodology it is more challenging to predict time of delivery and the budget required to finish the product.
In order to achieve mutually satisfactory results, it is important to document the terms of reference. We need to specify clearly what functionality will be provided by the app to end users. It is also necessary to agree upon which browsers the app must be usable with, whether it should be multilingual and other properties. Once the requirements are agreed upon, we shall provide an effort estimate and provisional deadline for delivery.
Once the desired functionality of the app is decided, it is time to dig into the details of how the website will look like and how its different functions are presented to users. We describe the actions that users are presented with and the contents of the pages that are displayed to them along the way to reach their goals. This will result in website architecture and user flow description.
For customer-oriented websites, esthetic appearance is essential. In order to achieve that, we engage a designer who shall come up with page layouts, color schemes, images and other visual aspects. Normally, different designs are created for different screen sizes – computer, tablet, smartphone.
To better understand the behavior of a complicated application, it may be helpful to develop a prototype. A prototype is an incomplete piece of software that demonstrates the usage of user interface components in the context of specific user workflows. It may be created with a fraction of the effort that would be required to develop complete website.
Use interface design
Use cases and user flows
Prototyping
Creating work plan
Detailed effort estimates
Software development is often done in increments to provide earlier access to the website and keep you better informed of the progress. Before starting with development, we establish a work plan outlining the functionality that will be implemented and the date when that functionality is delivered. After the work is completed for the increment, we make the app available to you for evaluation and accept your feedback. Required changes or additions will be planned for following phases.
If you are on a limited budget or have a strict deadline, then all desired functionality may not be attainable. To help you decide what will be implemented and what will not, we can provide you detailed effort estimates separately for each feature. Such analysis will increase the time and effort required to create the work plan.
Development takes place behind the scenes according to specifications and workplan. If we discover that some task takes longer than expected, then we will consult you about further steps. During the development we document the source code and other technical properties of the website. The extent of the documentation depends on the peculiarities of the app.
Our developers are expected to thoroughly test every new feature that they implement. However, to ensure proper functioning of all features in different environments and browsers we engage a specialized quality assurance (QA) team. The scope of functional testing is decided based on the complexity of the website. We also consider the potential impact of any undiscovered errors on your end users or business process.
Development
Documentation
Testing
Deployment to test environment
Review and feedback
The features implemented during an increment will be deployed to a test environment for review and approval. This gives you the opportunity to verify that the website functions as expected and give us specific instructions for improving the design or functionality. It is usually possible to enrich the testing environment with real-life data, if available, to provide a realistic user experience.
The goal of the evaluation period is to discover any issues or miscommunications as early as possible to avoid costly rework down the line. Make sure you reserve some time for the reviews in your calendar.
Deploying the website to live server requires greater effort than setting it up in the test environment. In addition to installing the software, the activities include arranging the domain, setting up automated backups of the environment and databases, configuring certificates and other security settings. In case of larger user base, it is also necessary to set up load balancing and other performance related optimizations.
For public websites, we will take care of the SEO (search engine optimization) – we will make the pages visible to search engines and propose a strategy for increasing your online visibility considering your business goals and competitors. Upon request, we can analyze users’ behavior on your website and suggest ways to improve user experience.
After the active development is finished, we shall agree on the conditions of maintenance and the procedures for adding new features to the website.
Rest assured, our development team will be devoted to the success of your business.
Public deployment and configuration
SEO
Updates and maintenance
Identifying customer needs
Documenting requirements
Preliminary effort estimate
Signing the contract
Use interface design
Use cases and user flows
Prototyping
Creating work plan
Detailed effort estimates
Development
Documentation
Testing
Deployment to test environment
Review and feedback
Public deployment and configuration
SEO
Updates and maintenance
We start with architecture design and graphical design (UI)
We document the requirements and user flow (UX)
We create app prototype, if necessary
Front end web development
Back end web development
We select the best technologies to build your app
We take SEO issues into account during development
We do SEO analysis of existing web sites
We help to pick the most suitable hosting solution
We prepare secure setup with scheduled backups
We do maintenance contracts
We are willing to take over development of existing web sites
JavaScript is the fundamental language of dynamic web pages, but with the rise of Node.js it has become popular for server-side development as well. TypeScript adds static typing to JavaScript which makes source code of the web site more manageable.
Java is a traditional programming language that is used to develop web services that require higher computational performance. Due to long-term use in servers and to its characteristic features, applications developed using Java are very secure and more predictable in case of failures.
PHP is a language specifically designed for building web pages and services. As a relatively cheap solution, it is often used to build simple and less-demanding web sites. The strength of PHP is the abundance of available web template systems, CMS frameworks and e-commerce solutions.
Magento is a modern cloud eCommerce platform with an open-source ecosystem. Flexible for B2C, B2B, and B2B2C. For large eShops, highly scalable.
WooCommerce is a free eCommerce plugin that allows you to sell anything, beautifully. Built to integrate seamlessly with WordPress. For small and medium eShops.
PrestaShop is an efficient and innovative e-commerce solution.
React is one of the most popular front end JavaScript frameworks for developing dynamic web applications. React is flexible and it may even be embedded in existing static web pages. Many 3rd party JavaScript components are available for reuse. Next.js framework that is built on top of React allows to create combined front and back end solutions with support for server side rendering.
Angular is another front end framework for dynamic web and mobile applications. Angular applications require a separate back end web service, which may be developed using Java or PHP, for example. Different design libraries like Bootstrap and Material can be easily integrated with Angular. Angular provides server side rendering support out of the box with Angular SSR.
Laravel is the most frequently used PHP framework in the world. It may be used as full stack framework with built in template system or it may be combined with a front end framework such as Angular. I the latter case, Laravel application will work as the back end.
Express is a back end JavaScript framework that sits on top of Node.js runtime environment. It’s best suited for applications that mostly deal with data transfer. The weakness of Express comes from the low computational power of JavaScript.
We also have experience with Spring, ASP.NET Core, Symfony and other frameworks.
Microsoft Azure is a cloud computing platform often used for more complex applications. Elvior has 5+ years experience with Azure including Windows and Linux Hosting, App Service, IoT hub, IoT SDK, Function app, Event grid, Key vault, Storage, Managed SQL.
Amazon Web Services (AWS) cloud computing platform often used for more complex applications. Elvior has 5+ years experience with AWS including EC2, S3, RDS, IAM.
OVHcloud (a French cloud computing company) is known for its competitive pricing, robust infrastructure, and strong presence in Europe and beyond. It caters to a variety of clients, from small businesses to large enterprises, providing scalable and secure cloud solutions. Elvior has 8+ years experience in using OVH as web hosting service provider.
WaveCom is an Estonian company specializing in various IT and telecommunication services. Elvior has 3+ years experience in using WaveCom as a web hosting service provider.
Zone is an Estonian IT company that provides a variety of web and cloud services. Elvior has 20+ years experience in using Zone as a web hosting service provider.
Cloudflare is a global company that provides a variety of web performance and security services aimed at enhancing and protecting websites and applications. Elvior is as 8+ years experience in using Cloudflare services for its clients.
A great web app starts with a well-conceived idea or arises from the need to modernize your everyday business. The clearer the vision, the better the outcome. We will gather and organize your wishes to form a comprehensive requirements specification. Documenting your needs will also help eliminate any grey areas.
When your idea is not quite nailed down yet then we can also proceed with agile development process, gradually specifying and adding new functionality. While such approach is more flexible than traditional development methods, it often leads to increase in duration and cost of development. Moreover, with agile methodology it is more challenging to predict time of delivery and the budget required to finish the product.
In order to achieve mutually satisfactory results, it is important to document the terms of reference. We need to specify clearly what functionality will be provided by the app to end users. It is also necessary to agree upon which browsers the app must be usable with, whether it should be multilingual and other properties. Once the requirements are agreed upon, we shall provide an effort estimate and provisional deadline for delivery.
Once the desired functionality of the app is decided, it is time to dig into the details of how the website will look like and how its different functions are presented to users. We describe the actions that users are presented with and the contents of the pages that are displayed to them along the way to reach their goals. This will result in website architecture and user flow description.
For customer-oriented websites, esthetic appearance is essential. In order to achieve that, we engage a designer who shall come up with page layouts, color schemes, images and other visual aspects. Normally, different designs are created for different screen sizes – computer, tablet, smartphone.
To better understand the behavior of a complicated application, it may be helpful to develop a prototype. A prototype is an incomplete piece of software that demonstrates the usage of user interface components in the context of specific user workflows. It may be created with a fraction of the effort that would be required to develop complete website.
Software development is often done in increments to provide earlier access to the website and keep you better informed of the progress. Before starting with development, we establish a work plan outlining the functionality that will be implemented and the date when that functionality is delivered. After the work is completed for the increment, we make the app available to you for evaluation and accept your feedback. Required changes or additions will be planned for following phases.
If you are on a limited budget or have a strict deadline, then all desired functionality may not be attainable. To help you decide what will be implemented and what will not, we can provide you detailed effort estimates separately for each feature. Such analysis will increase the time and effort required to create the work plan.
Development takes place behind the scenes according to specifications and workplan. If we discover that some task takes longer than expected, then we will consult you about further steps. During the development we document the source code and other technical properties of the website. The extent of the documentation depends on the peculiarities of the app.
Our developers are expected to thoroughly test every new feature that they implement. However, to ensure proper functioning of all features in different environments and browsers we engage a specialized quality assurance (QA) team. The scope of functional testing is decided based on the complexity of the website. We also consider the potential impact of any undiscovered errors on your end users or business process.
The features implemented during an increment will be deployed to a test environment for review and approval. This gives you the opportunity to verify that the website functions as expected and give us specific instructions for improving the design or functionality. It is usually possible to enrich the testing environment with real-life data, if available, to provide a realistic user experience.
The goal of the evaluation period is to discover any issues or miscommunications as early as possible to avoid costly rework down the line. Make sure you reserve some time for the reviews in your calendar.
Deploying the website to live server requires greater effort than setting it up in the test environment. In addition to installing the software, the activities include arranging the domain, setting up automated backups of the environment and databases, configuring certificates and other security settings. In case of larger user base, it is also necessary to set up load balancing and other performance related optimizations.
For public websites, we will take care of the SEO (search engine optimization) – we will make the pages visible to search engines and propose a strategy for increasing your online visibility considering your business goals and competitors. Upon request, we can analyze users’ behavior on your website and suggest ways to improve user experience.
After the active development is finished, we shall agree on the conditions of maintenance and the procedures for adding new features to the website.
Rest assured, our development team will be devoted to the success of your business.