2018 in Review

Prateek Rungta

2017 was a year of some pretty significant shifts inside Miranj. The changes were so fundamental that they affected almost everything we did. The initial results were encouraging, but only now — two years into the experiment — can we fully appreciate the impact. Our first six years were about finding our feet, about survival. We are now starting to find our voice. Here’s 2018, in review.

We worked on eight different projects of varying sizes in 2018. Each project had its own set of challenges, but there were some in particular that stood out.

High-Traffic

We’ve always strived to build performant websites, but we’ve never really had to deal with heavy loads. Performance takes a whole new meaning when a site is accessed by 50 to 100 people every second. This is the challenge that Guiding Tech came to us with. It is amongst the top 11k websites on the entire internet, and its traffic far outpaced any other project we had worked on so far. Guiding Tech gave us the opportunity to double down on and really push the limits of server-side optimisation. We learned a lot about Nginx, caching, concurrency, and were able to make major strides in handling massive loads on low-powered hardware.

We have been able to take the optimisations from this project and apply them far and wide. We also shared some of our learnings with the community at ReactFoo Delhi 2018, and have another talk on performance coming up this September.

Prateek speaking at ReactFoo Delhi 2018 @ReactFoo

Languages

There had been a growing itch to work on multi-lingual and non-English projects. I found it more than a little ironical that in a country with 22 official languages and only about 10% English speakers, all websites we were building were in English. 2018, finally, brought the opportunity to break out of the English bubble. We did a Burmese edition site for Myanmar Institute of Information Technology (also our first university website, yay!), and French, Spanish, and German editions for conveyor belt manufacturers Forech. The latter even involved some fancy translations and content-sync on the backend via the Google Translate API.

Five new languages in 2018, but none native to the country we operate out of. We’re still looking for that elusive Indian language web project.

Hosting

We have been believers in separation-of-concerns and anti-vendor-lock-in ever since we started Miranj. This has manifested itself in many different ways — making all content client-editable without developer intervention, sharing the source code along with instructions to host the website anywhere, maintaining full transparency about our collaborators, etc. This philosophy also made us averse to ever hosting a client’s website. We firmly believed that the website and its content were the client’s intellectual property, and should be controlled by them. We would instead always ask clients to sign up directly with a web host, and then deploy the website on those accounts.

This arrangement worked well initially but we started noticing some patterns over time.

  • Deployments were getting more complex. Earlier it meant simply uploading a bunch of files to a folder on a fully-managed, shared web host. But now we were dealing with DNS management, CDNs, image processing tools, image optimisation tools, web server level configurations, automated backups, VPS management, security protocols, and more. A lot of different moving parts needed to come together to host a website.
  • Software updates to the underlying CMS and plugins. We would want all our deployed sites to pull down these updates, but we were no longer actively engaged on the project, and applying minor point updates felt like too small a quantum of work to re-engage. Yet this was not a trivial task either, because sometimes a minor update could also end up breaking something major or having unintended consequences.
  • Critical security fixes. This is the sort of thing we did not account for in our naivety and youth because it felt so rare, but soon realised is actually not that uncommon. Vulnerabilities such as Heartbleed and critical security updates such as Craft 2.6.2982 made us realise that we did not have a contingency plan for delivering these security updates to our clients. We took evasive action in these specific instances, but realised we need a better fundamental approach.
  • We were managing a lot of servers anyway. Our clients would always trust us with access to their servers. They would rarely revoke access at the end of our engagement, and we would often find ourselves fixing things on their servers, either of our own accord, or when they would bring something to our notice. This was all done pro-bono on a goodwill basis, outside any formal engagement.

At some point of time, we realised that while we did not offer hosting as a service, we performed a lot of what it entailed anyway. We also realised that ownership of content does not have to translate into ownership of infrastructure. Or rather, that Miranj can own the infrastructure, but still ensure that clients own all content and IP.1 Once we crossed that threshold, we found that there were a lot more benefits we could offer to our clients if we formalised this engagement, such as:

  • Fully managed infrastructure – SSL, CDN etc. standard and baked in
  • Monitoring
  • Security best practises
  • Performance best practises
  • Critical updates
  • Robust, regular, automated onsite and offsite backups
  • Automatically propagating any fixes for issues discovered across all sites we were managing

We signed our first batch of hosting clients in 2018, and we are grateful to them for placing their trust in us.


📦 Craft 2 Packages

Sometime during early 2018 we learned about a way to use Composer to install Craft 2 plugins.2 We were already managing a bunch of different Craft 2 sites, with at least four (dev × 2, staging, production) deployments per site, and adding new ones every couple months. The tedium of manual plugin installation had slowly but surely added up. So we jumped on the opportunity to automate plugin installation and have it under version control.

We adopted Derrick Griggs described method for two ongoing projects. Deployments became smoother. But the manual steps involved in the initial plugin install continued to feel like a chore, more-so now that one piece of the puzzle had been solved. One thing led to another, we went down a few internet rabbit holes, conducted many failed experiments, and finally realised that we could, probably, make plugin installs slightly easier. All we had to do was:

  • Create a private Packagist server
  • Maintain a human-editable list of Craft plugins
  • Figure out ways to make plugins with different folder structures Composer-installable by issuing the standard composer require <vendor>/<plugin> command
  • Put in a process to auto-update the Packagist server whenever the plugin list is updated
  • Allow the community to contribute and grow the repository of plugins

It was slightly insane, and I’m sure we lost more time doing this than we can ever make up in gained plugin installation efficiency, but we did it anyway. We launched craft2​pack​ages​.miranj​.in and managed to fully automate plugin installation.

My only regret is that we didn’t learn of this possibility sooner. Everything about Craft 2 Packages – inception, experimentation, and release – happened in May. Craft 3 was already out by then (released in April 2018) and most developers were in the process of switching over. While we are committed to keeping this server running for at least the next 10 years, we realise most Craft 2 projects are probably in maintenance mode now and will not go in for major changes. I feel like the community could’ve really benefitted from this had it been around when Craft 2 usage was at its peak.

Dot All

We fell in love with Craft CMS when we built our first Craft powered website in 2014. We’ve built on it extensively in the following years. Craft also has a thriving developer community, largely centred in North America, Europe and Australia. Our interactions with this community were limited to Slack messages, at best. Then in 2017 they announced their own conference, Dot All. We decided to take the plunge and meet the community. Souvik travelled all the way to Portland, USA to attend the conference and put faces to all the Slack handles, GitHub handles, Stack Overflow users, and Andrew Welches (there had to be more than one). It was a wonderful experience and he had a great time.

That was 2017. Here’s Souvik narrating what happened the following year, in 2018 —

Our Craft implementations had matured significantly, especially our homegrown template architecture and code organisation which had been evolving over the last 3 – 4 years. I felt that it would be a valuable technique for other Craft developers and went on to propose a talk for Dot All 2018. A few weeks down the line, the Craft team invited me to take the stage at Dot All in Berlin. This was my first international speaking opportunity — undoubtedly, a pretty significant milestone. I felt the pressure while preparing for the talk and encountered frequent moments of excitement and butterflies-in-stomach along the way. The entire process took about two months of exploration, iterations and internal discussions before the final slides started taking shape a few weeks before the conference.

Prateek and I flew into Berlin a day ahead of the 3-day conference. Although this was our first visit to Berlin (and Germany) we never felt lost (or alone) thanks to the constant stream of suggestions and recommendations on the Dot All Slack. We kept bumping into fellow attendees everywhere — in the hotel, at the venue, at nearby bars and eateries. It was a lot of fun.

My talk was scheduled for the third (and final) day of the conference. I kept working on my slides from the sidelines and the tweaks continued until about half hour before the presentation. I took the stage right after lunch, slightly nervous but definitely excited. The presentation went very well without any significant hiccups. It was the best version of all the rehearsals I’d done with Prateek and I was quite pleased. More importantly, it was received very well by fellow attendees. Many found it helpful, some had questions, a bunch of them gave us good feedback and asked us to share our code for reference and their understanding.

Souvik speaking at Dot All 2018, Berlin @DotAllConf

The overall experience was a growing one. We managed to shun our imposter syndrome, present in an unfamiliar culture (and geography) and hold our nerves throughout the experience. It was deeply fulfilling to engage with the Craft community and share our work and experience with everyone.

Lows

While we had a lot of highs, not everything went great, and it would be dishonest if we did not mention the lows in an annual review.

The first setback was the closing down of Design Fabric. The website had undergone a redesign earlier in the year and we took that opportunity to work on its performance as well. Using a bunch of different techniques we were able to make the media heavy Design Fabric, already one of our fastest shipping websites, even faster. We were proudly showing it off to clients and our peers. However the project was taken down shortly after the founder of the publication was accused as a part of the #MeToo movement.

The other major setback was in December. Three weeks into what was meant to be a much longer relationship, a project we were working on was brought to an abrupt halt. We had failed to resolve differences with the client or find common grounds on which to proceed. Having been in business for eight years now, we have encountered a healthy diversity of opinions and personalities. We would often take pride in our willingness and ability to use reasoning and discussion to resolve differences between teams, bridge gaps and move a project forward. This experience reminded us that we still have much to learn. This was the first time we found ourselves at a stalemate.

Recap

Running a business is no easy feat — between chasing new leads, managing ongoing projects, looking after our hosted websites, handling support for older projects, accounting and regulatory compliances, running an office, keeping up with the industry, learning new skills, and doing the actual design and development work to build websites, our team of two rarely finds time to pause and reflect. This review lets us do that; take stock of how far we’ve come, and appreciate how far we have to go.

2018 in Numbers

Base Station plants Base Station plants

See you next year!


  1. Each website is hosted on an isolated, dedicated VPS. There is no data sharing between different clients, and we offer clients complete access to their server via SSH, if needed. ↩︎

  2. This might sound like a banal statement to some of you, in which case, let me remind you that while Craft 3 uses Composer natively to install itself as well as plugins, this was not the case with Craft 2. The Craft 2 plugin installation process involved manually downloading the code and placing it inside the designated plugins folder. While this was not a terrible workflow, it was far from ideal. ↩︎


World IA Day 2019, New Delhi

Souvik Das Gupta

On the 23rd of February, we celebrated World Information Architecture Day (WIAD) 2019 — a one-day annual celebration that seeks to evangelise the practice of Information Architecture around the globe. This year’s global theme was Design for Difference” — an important consideration in every aspect of our work (and beyond).

Wiad19 Designfordifference

This year we had a series of talks by different speakers sharing various perspectives on IA and diversity. Here’s a short overview of the 4 talks (with links to their slides).

Intro to Information Architecture

Dsc05896

First up was Namita Mohandas who works as an independent Information Designer. She started off by explaining the difference between complex, complicated and confounding decisions and went onto introducing everyone to the world of Information Architecture. (See Namita’s slides)

Walk in the Park

Dsc05912

Nishita Gill, the founder of Treemouse, delivered the second talk of the afternoon. Nishita shared how her team conducted research in rural Punjab to understand the reason behind the low adoption of Hepatitis C drugs. (See Nishita’s slides)

Encouraging Civic Engagement Through Design

Dsc05935

The third speaker Adrija Jayanthy works with Nyaaya. Her talk brought out the diversity in Indians laws and how Nyaaya is trying to make them more accessible to the common person. (See Adrija’s slides)

The City Around You

Dsc05960

The final speaker Rajesh Advani is the founder of ArchitectureLive!. Through various anecdotes and videos, Rajesh explained how architecture (and city-planning) can be made more inclusive. (See Rajesh’s slides)


This was the second year of Miranj supporting World IA Day in New Delhi. A special shout out to Abhishek and Namita for volunteering and to Prateek for all the photos. (See full photo album)

Dsc05872 Dsc05899 Dsc05918 Dsc05999

We look forward to more conversations on Information Architecture in the coming years.


Modular Architecture for Building Content Websites

Souvik Das Gupta

Dot All 2018

Berlin, Germany · Sep 2018

Back in 2014 we were looking for a Content Management System (CMS) that could fit our concept of a website constructed from a collection of atomic pieces of content. Our search led us to Craft CMS – it was still a fairly new CMS back then but it looked promising. We initially adopted Craft for a project where the website was moved from WordPress. In the next project the move was from Drupal. Both implementations were a learning experience but the outcomes reinforced that we made a good choice. The latter has now grown to be our largest Craft implementation.

Craft CMS makes no assumption about the content. It frees our thinking from the shackles of the WordPress content model (Posts and Pages) while at the same time does not weigh us down under Drupal-like technical baggage. Being able to model content from scratch (almost treating the content model as data) and not being held back by any starter theme helps unlock creative freedom. As a result, we can hand-craft a website’s information architecture, user interface and user experience without the CMS acting a hurdle (or barrier).

Our relationship with Craft strengthened over time and 3 years since our discovery, in 2017, I found myself attending two conferences in the US: Peers (Craft CMS was a sponsor) and Dot All – the first official Craft CMS conference. Little did I know that the very next year I’d be taking the stage at the Craft CMS conference.

Any system that offers high flexibility, in turn, demands a disciplined approach – and that applies to Craft as well. With each passing project executed in Craft, we inched towards a disciplined approach for content modelling and developed a modular templating architecture that can be used in a large number of use cases, especially sites that contain a lot of information. I presented this architecture at Dot All 2018, in Berlin.

The talk walks through how our imagination of a website has evolved over the years and goes on to outline our current approach and utilises these fundamental principles—

  • modelling content and giving them a structure (objects)
  • separating content (objects) from presentation (views)
  • defining presentations (views) based on a clear purpose
  • ensuring presentations (views) are evolvable in order to serve a different (or greater) purpose

I further go on to explain the implementation that uses a Routers-Views-Components-Layouts paradigm. It’s amazing how we’ve been able to simplify large and complex websites using this approach – making our work more flexible, scalable and maintainable.

Here’s a video of the full talk —

It’s always great to meet the Pixel and Tonic team, and the Craft CMS community who we mostly know through Slack Discord. I got great feedback on the talk, and based on Andrews recommendation went on to convert Craft’s Happy Lager demo site into our templating approach. It’s called Happier Lager and should be a good resource to observe the contrast.

Jz Dotall18 Berlin Day1 Web 1 Jm Dotall18 Berlin Day3 Web 61 Jm Dotall18 Berlin Day3 Web 65 Jz Dotall18 Berlin Day1 Web 45

Photographs courtesy Dot All.


It was my first time in Berlin (and Germany) and after the conference, I took some time out to visit a few other cities, which included Munich and the popular Oktoberfest 🍺.

If you use Craft and have any feedback or questions, email hidden; JavaScript is required. I’d also be keen to hear from you if you’re tackling similar challenges and the techniques you’ve adopted.


World IA Day 2018, New Delhi

Souvik Das Gupta

World IA Day (WIAD) is a one-day annual celebration that inspires the growth of information architecture as a community of practice across the globe. It started off back in 2012, however, for the first six years, New Delhi was missing from the map of global locations celebrating WIAD.

Information Architecture has always been a core part of our work and features in pretty much every web project we tackle. So last year we decided to bring this initiative to our city. I reached out to the WIAD Global Team and signed up to be the location organiser for New Delhi. Abhishek Rai, a fellow co-worker at Base Station, volunteered to help us put the event together.

This year’s global theme was IA for Good”. We decided to focus on conversations that would involve representatives from non-profits and journalism. We believe through awareness about information architecture such professionals can catalyse a positive change in our society.

WIAD New Delhi

On February 24th, Abhishek kicked off the first edition of World IA Day in New Delhi. He oriented our attendees towards the purpose and theme of World IA Day, followed by the agenda of the day — 5 talks curated to help attendees understand the significance, process and impact of IA through examples relevant to the development sector.

Here’s a summary of each of the talks (with links to the slides and sketchnotes by @rasagy).

Information Architecture for Everyone

I delivered the first talk of the day introducing information architecture to the audience. The objective of the talk was to make the community aware of IA without bombarding them with technical jargons. Instead, I relied on everyday examples of IAs such as in books, house-numbering, pharmacy stores, exhibition spaces, or simply a buffet spread. My talk concluded with highlighting how IA lies at the intersection of information, user and context — which nicely set the stage for the remaining talks of the day.

IA For Everyone By Souvik Sketchnote @rasagy

Slides: Information Architecture for Everyone

User Research 101

Next up was Rasagy Sharma who is a designer at Mapbox. Rasagy’s talk focussed on the subject of user research and attempted to describe the whys and hows on the topic. In addition to covering some of the simple, easy-to-adopt techniques, Rasagy answered a bunch of queries pertaining to the more involving techniques. This was Rasagy’s first attempt at using hand sketched slides for a talk and everyone loved those!

User Reasearch 101 By Rasagy Sketchnote @rasagy

Slides: User Research 101

IA and Research Synthesis

The pre-lunch talk was presented by Namita Mohandas, an independent information designer. Many a time despite investing a lot in research we’re unable to make good use of the research output, especially in understanding the problem space or connecting them with ideas or solutions. Through an example of her past work with Akanksha, Namita addressed this issue and emphasised the importance of research synthesis.

IA And Research Synthesis By Namita Sketchnote @rasagy

Slides: IA & Research Synthesis

Considering the Context of the Last User

Right after lunch Roshan Nair, the Country Manager at viamo​.io, introduced a new perspective to our ongoing conversations. Roshan presented 3 different examples from their work in IVRs where IA gaps emerged when the system was rolled out to last users. Roshan defined last users as the group of users present at the absolute periphery of service delivery whose needs (and context) are often overlooked by designers and information architects. IVR examples also helped our audience break away from associating IA to visual outputs.

Conidering The Context Of The Last User By Roshan Sketchnote @rasagy

Slides: Considering the Context of the Last User

Communicating Social Impact Better

The final talk of the day was by Sheel Damani, an Independent design and communications consultant. Sheel started of with establishing the purpose of organised information which is to make itself findable, easy to share and align people across a value chain or system. She went on to critically review the annual reports of a number of non-profits and presented her analysis of the information and its organisation. Sheel also deserves the coolest analogy of the day award for pulling out an analogy from the 90’s Bollywood cult comedy Andaz Apna Apna.

Communicating Social Impact Better By Sheel Sketchnote @rasagy

Slides: Communicating Social Impact Better


It’s immensely fulfilling to see happy attendees at the end of an event. Here are a few moments captured at the event.

Rasagy at WIAD New Delhi Refreshments at WIAD New Delhi Roshan at WIAD New Delhi QnA at WIAD New Delhi

There’s an entire album if you’d like to see more.

We look forward to bigger and better editions in the coming years.


What is Information Architecture?

Souvik Das Gupta

It’s often hard to define abstract, rudimentary and ubiquitous practices. Design is one such example which I’d touched upon earlier.

Information Architecture (IA) belongs to a similar territory.

Information architecture is the practice of deciding how to arrange the parts of something to be understandable.

IA Institute

Information architecture models are everywhere — printed material, digital documents, websites and even physical spaces (not typically thought of as information). It wouldn’t naturally occur that someone might have worked hard to make sense of mess to enable understanding and use.

When it comes to defining information architecture, IAIs take is a good start. It attempts to describe IA through a specific activity. Several online references take a similar approach i.e. describing IA as an activity that involves drawing boxes”, arranging parts or organising, structuring, and labelling. This approach makes the definition a bit narrow and incomplete.

Instead, taking a broader approach here’s an attempt to define Information Architecture—

Information Architecture is the thoughtful, deliberate practice of achieving a shared mental model, and further applying it to make something understandable. Thoughtful, because it involves shedding biases and unseeing things as they appear (or are presented).

Deliberate, because it involves making carefully considered and well-reasoned decisions.

Practice, because it involves application of principles, theories, tools and processes towards a purpose.

Shared, because it involves reaching parity in understanding of ideas and thoughts.

Mental Model, because it involves representing assumptions, structures and arrangements people carry in their minds.

Hope this adds to how we all understand IA.


On 2017

Souvik Das Gupta

For the first six years of Miranj, Prateek and I were responsible for every activity under the sun. Whether it was designing and writing code, or responding to opportunities, or basic housekeeping (and everything in between) — the responsibility was always shared. The lack of separation of concern, and in turn a lack of ownership, meant that some aspects received disproportionately less attention than others. A business runs smoothly when things are fixed before they break, and this is as true for our core craft as it is for other facets such as generating opportunities, or general housekeeping.

2016 was a tough year overall. And it provoked some profound changes. In no other year have we evolved and achieved as much as in the year that just went by. This is the first time I felt like writing a year in review.

Segregated Responsibilities

We took cues from the year before, and made a bold move. Prateek and I split our responsibilities and took charge of different aspects of work. We both have different priorities now, which means fewer hurdles, more encouragement, and more motivation. As a result our progress last year has been more well-rounded than in any preceding year — be it clarity in objectives, leaner processes, generating new opportunities, better collaborations, and most of all, our work.

With a Clear Purpose

We had laid down our purpose back in 2016. Last year we had the opportunity to invest time and mind-space in reflecting on our values, strengths, and strategies, and to audit our performance. This self-analysis drove us to align our mindset and tactics to move closer to our purpose. We’ve made subtle changes in our conduct. To take an example, we’ve identified longevity as a core value in our work. We now consciously look ahead, well into the future, and take considered decisions at each step of planning and executing a project. We’re exploring questions like how long should a website last and even evaluate our client’s commitment towards this value. For a while we’d been posing four simple questions to understand new enquiries, but recently we’ve added a fifth question that seeks to understand the potential life-span of the website that we’re being asked to work on.

Project Workshops

We’ve started investing more in understanding a project, guiding clients and aligning expectations. For any typical project we now conduct a week-long project discovery workshop with our clients. We follow a methodical approach towards understanding the audience, content, and goals of the project, along with recognising the client’s taste in aesthetics. Further, we facilitate prioritisation, recommend a strategy, brainstorm a solution and mutually agree on the scope, and a plan of work.

This week-long intensive exercise has given tremendous clarity to our clients, helped us speed up alignment, and discover problems that are often overlooked by initial project briefs. It also serves as an opportunity to guide them — from design and technology to feedback and project management.

Raising the Quality of Work

We usually cringe when we look at our past work. But that’s also something that makes us proud. There’s probably no better evidence to indicate that we’re improving all the time. This year we’ve made some measurable improvements in our work. Our projects are faster, more secure, and implement better technical SEO. Some noteworthy changes that we’ve introduced are:

  • hosting on VPS (such as Digital Ocean or Linode)
  • ditching Apache and opting for an Nginx-only architecture
  • deploying CloudFlare CDN to serve static assets
  • inlining critical CSS
  • micro-caching dynamic content using FastCGI Cache
  • automating image optimisation
  • serving all websites over HTTPs (including our own!), and
  • delivering the most up to date technical SEO — from checking off all social media meta-tags to JSON-LD Struc­tured Data, using SEOmatic.

These qualitative improvements are now our minimum deliverable” for every project we tackle.

Support Offerings

We finally got around to formalising our support offering. This includes essential housekeeping like monitoring server health, fixing issues, regular backups and timely updates (and renewals). Further, we now offer retainers which embrace the fact that websites are a living thing. We can help sites evolve over time and not let our client’s ideas (or needs) remain parked indefinitely.

New Geographies and Communities

We met more people from different parts of the globe than ever before. Our year started with a Singapore-based project, followed by attending Peers Conference in Seattle, and concluded with Dot All in Portland (the first Craft CMS conference). It’s been great to interact with these communities and learn from peers. It also helped us evaluate our own standing against the international web community in terms of skills, processes and quality of output.

Projects of Note

A year in review cannot be complete without touching upon some of the work we shipped. Here are three notable ones —

  • Buuuk — Powerful page builder website for a bespoke mobile app design and development studio based in Singapore.
  • Design Fabric — Lightning fast experience for a new publication on the art & design culture in India.
  • Tiffinbox — #May1Reboot for a communication and illustration studio in New Delhi.

Our work page has more details on all three projects — Buuuk, Design Fabric and Tiffinbox. We can’t wait to announce some other projects that are yet to be launched publicly.


We’re super excited about 2018!

There are some interesting (and challenging) projects in the pipeline that will go live in the coming weeks and months. We’re gearing up to celebrate World IA Day 2018 next month. And we’re looking for an experienced web developer to join our team. We’ve laid out the offer very thoughtfully, and have meticulously put together a few rounds of evaluation to establish a good match. We’d really appreciate your help in recommending a suitable web developer to us. If the endorsed candidate is successfully hired we’ll be happy to share a referral fee of ₹10,000/- for your gesture.

If you’re facing any challenge in information architecture or content management, want to learn about our project workshops, would like us to speak at an event, or simply want to grab a coffee, email hidden; JavaScript is required.

Happy New Year!


Wanted: An experienced web developer

Souvik Das Gupta

We are looking for an expert developer (at least 3 years of work experience) to help us with our ongoing and future projects. You could be a full-stack developer, a WordPress/​Drupal developer, or simply, a web developer. If you’re passionate about writing code and wish to grow as a developer while building websites hands-on, we’d love to have you grow alongside us, as we get better at our craft.

Miranj is a web design and development studio based out of New Delhi. We architect information and design radically simple, future-proof websites. We started out in 2011, and have worked on websites for a variety of clients across domains such as film, tech events & conferences, internet advocacy, science outreach, online content publishing, public interest campaigns, and other design studios. We’ve been attending web conferences around the world while also speaking at (and curating) a few in India. We’ve consciously remained small (between 2 – 4 people) while tackling projects collaboratively with peers and freelancers.

Your Responsibilities

  • Participating in project planning, strategy and estimation of tasks.
  • Information architecture and data modelling, often in the context of a Content Management System (CMS).
  • Working closely with designers and suggesting changes based on technical feasibility.
  • Translating designs into front-end templates that render as responsive, interactive webpages.
  • Building custom features, often to extend CMS functionality by developing plugins.
  • Auditing code to meet quality standards expected from modern websites, such as SEO, accessibility, security, etc.
  • Optimising websites for performance through caching, image optimisation and other #perf strategies.
  • Deploying websites, including setting up and configuring web servers, and related services.
  • Migrating websites between servers and data migration across CMSes.
  • Maintaining, supporting and upgrading past projects.
  • Documenting work and communicating with project teams and clients.
  • Learning and staying on top of web standards, development workflows, coding strategies and other industry best practises.

Your work will involve a healthy rotation of all the above. It is not expected that you will stand out at everything on the first day of your job. However, you should already be comfortable with:

  • collaborating using version control systems (Git or Mercurial), and
  • writing HTML, CSS and JavaScript code and working with third-party front-end libraries, and
  • coding templates from a design mockup, and
  • installing, developing and deploying a CMS (e.g. WordPress, Craft CMS, Ghost, Kirby, Statamic, Jekyll, Drupal etc.) powered website.

We believe the following traits will play nicely:

  • You favour a long-term relationship over a short stint.
  • You are eager to take charge and get stuff done.
  • You are open to learning and have the ability to pick up new technologies by reading documentation & tutorials.
  • You value your commitments.
  • You are good at communication, including writing.
  • You have an eye for design and a temperament for design thinking.
  • You like sharing ideas on how to make work more fun, meaningful and fulfilling.
  • You appreciate coffee and love mountains.

What’s on offer?

  • A healthy compensation, proportionate to the value you can bring to us.
  • A cool office, with a stocked pantry, which doubles up as a small co-working space.
  • An annual pilgrimage to the mountains, to rejuvenate from the stresses of work and city life.
  • Opportunity to work with modern systems and software, with continuous learning.
  • Medical insurance.
  • A culture that values reason and debate over authority; autonomy over control; slow and considered decision-making over fast and hasty; and a healthy work-life balance.

How to apply?

Just fill out this form. We recommend skipping your résumé or CV and keeping the application informal. Point us to 2 or 3 past web projects that you’re proud of. For each one, mention the project duration, your role, and your contribution. In addition, please share your online presence (such as Twitter, GitHub, LinkedIn, Website/​Blog). And oh, do mention your hobbies. We’re curious about what you find interesting outside work.

Please ensure that you’ve included active links to projects for us to take your application under consideration.

We do not discriminate on the basis of caste, race, religion, orientation, gender, physical ability, formal education, age, nationality or any such factors.