Our offer

Our success is measured by your success. For us it’s not just creating something that looks great; it needs to deliver results for you.  

With competition being higher than ever, how do you convince companies you’re the right vendor for them?

Your website needs to further establish your brand’s identity. Creating a connection between who you are as an organization and your customer through a memorable experience is vital. Your platform should be visually compelling, communicate your differentiators, and tell your brand’s story.

why we do it?

We learn what makes you tick and what your customers respond to. We make assumptions and we test them. We ask questions and answer them. We design prototypes and we build them. All to find the opportunities that will help grow your business. We mix a potent combination of digital marketing strategy with a generous splash of creative juices and blend in technology-focused, customized solutions as a chaser.

what we do?

We’re a team of designers and developers who create beautiful brands and design stunning websites. We also know a many things about Drupal, WordPress and Magento.

who we are?

Our Services


Web Design, Development & Technology

Research, Concept and Ideation
User Experience & Testing
Technical Architecture
Data Migration & Third-party Integrations
Technical Training
Design & User Interface
Mobile Applications

Digital marketing strategy

Strategy Workshops
Business/Brand Analysis
Content Strategy
Mobile Strategy
Search Engine Optimization
Web Analytics
Brand Analysis

Our Blog

How to get the RIGHT proposals for your website 25/08/2020

From: [Your Name] 

Date: [Date] 

Re: Website Redesign 


[Our Agency] wants to redesign its website currently found here: 


You have been selected as a vendor to respond to this request and would like to ask you to prepare a proposal to accomplish the task that includes timeline, cost, and deliverables. The following RFP includes a background of our organization and describes the purpose of the redesign, its desired functionality, and specific requests relating to the proposal. We understand that details may be subject to change upon vendor recommendation and / or research of more optimal solutions. In your proposal, please feel free to suggest alternatives where noted. 

Table of Content 

  1. Guide to this RFP 
  2. Project Overview 
  3. Background 
  4. Project Goals 
  5. Proposed Sitemap 
  6. Scope of Work 
  7. Technical Requirements 
  8. Budget 
  9. Project Timeline 
  10. Criteria for Selection 
  11. Specific Requests 

Guide to this RFP 

Sample text: “Our expectation is that this document will convey our vision for the new site and specific challenges with the existing one. It includes a background section about our organization, suggests an outline for organizing the content of the new site, and desired technologies. In providing these details, our intent is not to convey that we have all of the answers in creating the best possible site. The ideal and preferred vendor will bring its own ideas and vision based on industry expertise, technical capability, and client relations, guiding us to incorporate our goals into that vision. Please feel free to email [email address] with questions or comments.” 

Project Overview 

Introduce your organization and the purpose of the RFP. State not only what you want the service provider to do but also why: what is the main “pain point” your organization has? If it’s a web site redesign, what about the current one isn’t working for your purposes? This is high level, so be brief. The details will come below and a birds-eye view is fine. 


Describing your organization, what it does, and what you do. There’s a good chance we’ve never heard of you and may not be able to figure that out by visiting your existing web site (which may be why you need a new web site!) Additionally, tell us a little about your values. What makes you unique? Why does what you do matter? 

Project Goals 

Explain what you plan to accomplish or what outcome you have in mind. What are the three most important things that, if done well, you’ll consider the redesign a success? Do you know of any quantitative metrics that will help, such as increased sales or more newsletter subscribers or better-qualified leads? 

Whom do you plan to serve with the web site? Which constituencies most rely on a successful web site, in order of importance? Sometimes, the audience you’re intending to reach or serve with the web site is not the same as your wider market. For example, a non-profit site might need mainly to demonstrate its programs’ efficacy to donors and supporters, not necessarily serve its beneficiaries.  Similarly, a startup may be more focused on attracting investors than customers and an established business may only really care about their largest 5% of clients. 

Proposed Sitemap 

As much as the visual design impacts visitors' perception of your company is the information design: how well thought out is your major site sections and navigation schema? If you already have a good idea how you'd like to reorganize it, include that here. (If not, that's OK too -- that'll be one of the first things you'll do during the discovery phase with your vendor.) Moreover, not all the content from the existing site will be migrated: some of it may be outdated or irrelevant and much new copy will need to be written. What does make it over to the new site will have to be hand-entered into the content management system and be sure to let the vendor know whether that's something your team plans to do or whether you expect the vendor to handle it. 

Scope of Work 

Here’s where you want to provide more detail about the project. To the extent you can, describe all the services you know that you’ll be hiring a web team for. For example, with a web redesign project, you might be paying for: 

  • Project management 
  • Content strategy 
  • Copywriting 
  • Illustration 
  • Information design 
  • Visual design 
  • Search engine optimization 
  • Front-end coding (HTML/CSS, animations) 
  • Back-end coding (CMS, 3rd party APIs) 
  • Custom software or app development 
  • Mobile device optimization 
  • Testing & quality assurance 
  • Paid search placement / advertising 
  • Software training 

For a task like Information Design, maybe the deliverables are a site map and wireframes. For Visual Design, it might be source files in Photoshop or Sketch format. Something like Project management doesn’t really have a deliverable but it’s a non-trivial part of the process and doing it well is a valuable part of successful projects. Aim to be explicit about what you want delivered but it’s OK if you don’t know exactly what’s involved. 

Additional things to include in the scope here, if applicable: 

  • Analytics Software 
  • Ongoing Support / Retainer 
  • Timeline for Completion 
  • Deliverables 

Technical Requirements 

This is is a pretty broad subject but your goal here is to describe what limitations or requirements you know in advance. A website is, at its core, a technical product, so these are the details that may most materially impact the schedule and deliverables. Some examples of technical requirements include: 


Do you expect to sell products or charge credit cards? A non-profit may only want to accept simple (or recurring) donations but retail merchants require shopping carts, user accounts, inventory control, and shipping calculators. You’ll definitely need to encrypt the transmission via SSL, which incurs an additional annual fee, though depending on the solution, this may be included. 

Content Management Software 

Do you require something specific, such as Drupal or Wordpress? Are you open to alternatives you may not be familiar with? (There are literally thousands of CMS packages.) The vendor may also have developed an in-house solution that will meet your needs well. 

Programming Language 

For custom web software development, is your system compatible only with a specific language, such as PHP, or Ruby, or Python? Do you have an existing infrastructure that the vendor needs to be fluent in? 

Web Host 

Does your organization have one the vendor must use? If not, can the vendor select or suggest one? Web agencies almost always have a preferred web host. 

Browser Support 

How many visitors are still on old browsers, such as Internet Explorer 8 (released March 2009)? Do they need to be supported? To make a website perform or display in a legacy browser almost always requires additional development time. 


Does your organization depend on 3rd party services for things like email newsletters, marketing automation, CRM / contact management, inventory control, intranet, accounting / Quickbooks, or inventory management? If so, be sure to include the ones for which synching / integration with the website is essential and describe how you expect it to work. For example, when someone subscribes to a newsletter, the contact should be added automatically to Highrise or Salesforce. If someone purchases a product and opts in, she should be added to our Mailchimp database, etc. Sometimes this functionality will be included out of the box and sometimes we’ll have to write something custom. 

User Accounts 

Do you require membership management on your site? This would be for allowing people to access special or hidden content on your site, perhaps after submitting an email address or paying to view a whitepaper. A simpler example would be password-protected pages that anyone can see with the same password and does not require a logged in account. 


Do you require the website to be accessible to blind or limited-vision users? For websites whose audience skews older, larger default text and click areas will inform the design. Government & public sites often require Section 508 compliance. 

Mobile Responsive Design 

Do you require a separate mobile-optimized version of the website? Most smartphones have no trouble displaying the full site and that’s enough for many users. But a layout optimized for small screens and tablets can make a big difference in the delight and satisfaction of site visitors. This will require additional development time, which adds to the scope. 


Yes, you have to include your budget, even if it’s your best guess. If you need to specify a range (“We’d like to spend $x,000 but are willing to go to $y,000 for the right proposal”), that’s fine too. Web sites are like cars: you can get good ones anywhere from $5,000 to $500,000 and, frankly, there is no price point for which you cannot find a tinkering undergraduate freelancer to put something together for you. Meanwhile, professional agencies will do professional work and the proposal will let you know the difference. 

Finally, if you have a separate budget for assets like photographs, illustrations, software licenses, services, etc., be sure to include it. These don’t often end up being a substantial part of the overall cost but they can eat it into the final calculation. To extend the car metaphor, a mechanic has to buy the new part before installing it, which is separate from the cost to perform the service. 

Project Timeline 

You may not know how long something will take to do, but you do know what timeline you have to accomplish it. Is there some hard deadline you need to hit, such as the launch of a new product or ad campaign? Maybe you have a big trade show coming up and need the site live by then? Be sure to mention any firm dates beyond the vendor selection process. 

Criteria for Selection 

You’re going to get a lot of different proposals back and each company will have different strengths, reputations, and capabilities. Some will compete on low cost; others on best quality; still others on more features. Figure out what you want in a vendor: cheapest option? Fastest delivery? Highest quality? Is a distributed team OK, or do you need every member to be local to your headquarters? Are sub-contractors OK or only full-time in-house staff? You’re balancing the expertise of the team with the limitations of your budget but in the end, you want the best work (and partner) that you can afford. No doubt several of these are typically important, so weight them according to what matters most to you. 

Remember, the goal of the proposal you receive back is to evaluate the quality of vendor fitness for your project. Some questions you might ask the proposer to include in the reply: 

  • Examples of similarly-complex projects (to assess technical capability) 
  • Client references and whether email or phone is better (to assess credibility) 
  • Project timeline with major tasks and milestones (to assess process) 
  • Project budget by line item (to assess process) 
  • Plan for mobile / responsive design (to assess familiarity with current trends) 

Finally, ask yourself how important these elements are: 

  • Technical expertise: Previous experience in building interactive, responsive sites. 
  • Communication and autonomy: Manage project independently in addition to teamwork; pursue and meet established timelines without monitoring/prompting.  
  • Partner: Act as a partner in the project build by involving our team but also taking the lead when needed. 
  • Flexibility: Adapt when needed to unforeseen project changes.  
  • Vision: Provide ideas for project beyond what is presented initially based on expertise in the field. 
  • User interface design: Ability to create user-centered design, making the user’s experience as seamless as possible.  

Format & Proposal Details 

Anything else unique to your project? Does the proposal need to be submitted in a particular format, such as MS Word or PDF? Do you require signed & notarized hard copies? Does it need to be single-spaced with no staples (we've actually seen this a few times, believe it or not)? Is it OK for the vendor to use freelancers or sub-contractors or does every member of the team need to be full-time? What's the timeline for submitting the proposals? Typically, there's a deadline for receipt, for selecting semi-finalists, for scheduling interviews and for final selection. Do the semi-final interviews need to be in-person or is remote OK? This is all standard fare but it can be easy to overlook. 


Ultimately, how much detailed information do you require about the vendor? If you require granular details, such as the names, titles, and bios of the vendor's team working on it, be sure to ask. It often doesn't matter and for large teams, who will be available to work on the project may change depending on the vendor's production schedule. 

read more
How to set up Drupal Commerce Message to send emails to the store admin and customer 03/08/2020

Setting up automated emails from your Drupal Commerce store can end up being a little trickier than any of us might like. In this tutorial, I will walk you through how to do the following:

  1. Set up automated emails after an order has been placed (thanks to the Commerce Message module)
  2. Customize the automated email that is sent to the customer to include the items they purchased (the contents of their cart)
  3. Set up an automated email to go to the store administrator when someone has checked out
  4. Debug all of this thanks to the Devel and Maillog modules so you don't have to have email or payment set up

First off, a big thanks to Nick Vahalik (aka nvahalik on drupal.org) for some very useful suggestions on setting up Commerce Message, and the whole idea of using use Devel and Maillog to troubleshoot this issue. 

Download and enable the following modules:

  • Maillog - we will use this to speed up development so we don't have to worry about sending/receiving emails or placing orders to test our work
  • Devel - again, used to help us understand what is going on, not actually required in terms of getting this running
  • Token - provides additional tokens not supported by core (most notably fields), as well as a UI for browsing tokens
  • Commerce Message - includes order-specific message types ("order payed", "product added to cart", "admin comment", "user comment", "order confirmation") that are sent via Rules. If you use drush, drush dl commerce_message and drush en commerce_message will download and install this module and all of its dependencies (listed below).
  • Message - enables logging and displaying system events in a number of different use cases
  • Message Notify - provides a method for sending a message via a notifier plugin. Message Notify comes with plugins for email and SMS and may be extended to other transport mechanisms as required.
  • EntityReference - provides a field type that can reference arbitrary entities

1. Enable Commerce Message and see what's going on with this module

For the purposes of this tutorial I will be using a vanilla Drupal Commerce site created by Commerce Kickstart (1.x-1.42). After enabling Commerce Message if you navigate to Structure -> Message Types you will see the messages that come out-of-the-box thanks to Commerce Message.

drupal commerce message types ​

For this example we are going to look at the last message, Commerce Order: order confirmation. Edit this message to get an idea of what is going on here. You will see there is a Message Text area, where you can modify the subject and body of a notification. 

drupal commerce message subject and body ​

There is also the option to insert tokens into these fields. Open up the tokens for Message->Order and you will see a veritable plethora of tokens. 

drupal commerce tokens ​

How are these messages sent? Head over to Rules (Configuration->Workflow->Rules) to check it out. Let's check out the Rule that comes pre-configured as part of Commerce Message with the Message Type we were just looking at - this is Commerce order message: order notification e-mail. Edit the rule. I'm not going to go through the details of how this works, but the basics are that when a checkout is completed, Commerce Message creates a new message type, the Commerce Order:order confirmation, which is then sent via Message notify (the last action). In this last action you can set who the message is sent to, but if you're going to use the Maillog module like I am, you don't need to worry about setting up the recipient's email address.  

2. Troubleshoot using Devel and Maillog so you don't have to have emails or payments set up

To make customization of this message easier to troubleshoot, this is where we will use the Devel along with Maillog modules. It is a total drag to have to add a product to the cart, checkout, and check your email to see if the changes you have made are doing what you want. You'd also have to get mail set up as well as some kind of sandbox payment system.  Let's not worry about all of that for now, and use Devel and Maillog instead to make our lives easier. 

Under Structure->Blocks enable the Execute PHP block provided by Devel and put it somewhere visible (I just stuck it in the Content block region). Also make sure Maillog is set up to display emails on the page by going to Configuration->Development->Maillog Settings.

Now lets first make sure Maillog and Devel are going to show us the information we need to get to work. Add a product to your cart, view your cart, and then click checkout. This will give you your order number - it's in the path after /checkout/[order-number]. In my case, it's simply '1' since this is the first time I've added anything to the cart on this commerce kickstart site. 

drupal commerce get cart id ​

Here is another thanks to Nick - check out his Gist at https://gist.github.com/nvahalik/1862eefa43ff3a6f3d22. First we will grab the message_id using the following code - for your case, you'll want to replace the 1 in commerce_order_load() with whatever your order number is. 

$type = 'commerce_order_order_confirmation'; $order = commerce_order_load(1); $message = message_create($type); $wrapper = entity_metadata_wrapper('message', $message); $wrapper->message_commerce_order->set($order); $wrapper->save(); dpm($wrapper->value());

Paste this into your Execute PHP Code block and hit execute. Devel should dpm out the Message object which contains the desired mid (message id).

get message id - execute php code ​devel dpm mid ​

Now take that mid (in my case, 4), and paste it into the Execute PHP Code with the second part of Nick's gist and hit the execute button. 

$message = message_load(4); message_notify_send_message($message);

Devel will now dpm the email thanks to Maillog that would have been sent if you had gone through the checkout process and had everything set up (payment sandbox, mail etc). Hooray for not having to worry about all of that while we're developing locally. 

dpm email message via maillog ​

3. Add cart contents to customer email using !order-summary

First off, most people would want the contents of the cart included in the email sent to the customer. Luckily this is provided to us by Commerce Message thanks to the order-summary argument. Check out the function commerce_message_message_presave() in commerce_message.module, line 59. To add an order summary to our email, edit the Order Confirmation message provided by the Commerce Message module at admin/structure/messages/manage/commerce_order_order_confirmation and add !order-summary where appropriate - here's where I put it:

drupal commerce message !order-summary argument ​

Now go back and hit execute again in your Execute PHP block to see what the email says now. drupal commerce message !order-summary argument ​

Ugly, yes. But that is for another blog post. At least for now we have the information in the email.

4. Send emails to store administrator

Now you also probably want to send a simliar email to your store's admin letting them know that someone has placed an order. Head back to the Commerce Message types at admin/structure/messages and clone the Commerce Order: order confirmation message. Let's name it commerce_order_admin_notification, and give it a nice description, something like Notify store admin that order has been placed. Save the message type. You should now have your 2 message types:

drupal commerce message types ​

If you also want this email to get sent out for real at some future date, you'll also want to clone the Commerce order message: order notification e-mail rule at admin/config/workflow/rules, and for the first action of your cloned rule (create a new entity), select your new message type (in this example, Notify store admin that order has been placed).

notify store admin  ​. 

But we don't need to worry about that now since we are using Maillog to view the emails. Let's re-run our PHP code to grab the message ID, but this time be sure to change the $type to our new message type, commerce_order_admin_notification.

$type = 'commerce_order_admin_notification'; $order = commerce_order_load(1); $message = message_create($type); $wrapper = entity_metadata_wrapper('message', $message); $wrapper->message_commerce_order->set($order); $wrapper->save(); dpm($wrapper->value());

Now we see our mid is 5, so we can take that new mid and print out the message with the following:

$message = message_load(5); message_notify_send_message($message);

Let's look at what is printed out now by devel and Maillog:

maillog admin message ​

5. Get the !order-summary argument working for cloned Commerce Messages

Aw, snap. Why isn't !order-summary being printed out? I googled my way to this forum post which explains it - !order-summary while cloning a commerce message. !order-summary isn't a token, it's injected by the Commerce Message module in the following function:

function commerce_message_message_presave($message) { if (!empty($message->mid) || $message->type != 'commerce_order_order_confirmation') { return; } $message->arguments['!order-summary'] = array( 'callback' => 'commerce_message_order_summary', 'pass message' => TRUE, ); }

We see here that the message type is commerce_order_order_confirmation. Since we cloned this message type and gave it a new name (commerce_order_admin_notification) this hook_message_presave isn't being invoked. Let's fix that with a quick custom module of our own. For this example I'll call my custom module dc_message_demo - make the necessary .info and .module files and enable your module. Then add the following to your module - replace the $message->type with whatever you named your cloned message type. Now your custom message type will know about the !order-summary argument. 

/** * Implements hook_message_presave(). * add !order-summary to custom message type */ function dc_message_demo_message_presave($message){ if($message->type == 'commerce_order_admin_notification') { $message->arguments['!order-summary'] = array( 'callback' => 'commerce_message_order_summary', 'pass message' => TRUE, ); } }

Let's make sure this is working. Clear cache and then we will need to get the new message ID. The message ID has changed now that we have implemented our hook_message_preave. Execute the PHP code via the devel block to get the mid. 

$type = 'commerce_order_admin_notification'; $order = commerce_order_load(1); $message = message_create($type); $wrapper = entity_metadata_wrapper('message', $message); $wrapper->message_commerce_order->set($order); $wrapper->save(); dpm($wrapper->value());

Now we see our message id is 6. So run the last part of the code to load the message:

$message = message_load(6); message_notify_send_message($message);

Huzzah! The !order-summary is now printed out via Maillog.

drupal commerce message !order-summary argument ​

Where is this !order-summary coming from you are now asking? It's coming from a Shopping cart summary view at admin/structure/views/view/commerce_cart_summary/edit - if you want to add anything to this !order-summary argument, you can do so there. 

Happy drupal-ing!

read more



4th Alexandr Pușkin street

Moldova, Republic of, Chișinău


163 Mihai Eminescu street,

Romania, Bucharest


25 Calea Eroilor street,

Romania, Tîrgu-Jiu


+373 (0) 22 923 442

+4 021 636 70 85




Contact Form