Our Pitch & Thoughts Post DEMO

So we got the video back from our pitch the other day and I just wanted to share it with y’all. Other than a minor hiccup with the fork button it went pretty awesome. And now for a little recap as promised…

As I had guessed going in DEMO was both the best and worst of things for us. On the best side it was a wonderful external deadline and a tremendous opportunity to get our first press and exposure with Upverter. And on the worst side it was an event with 80 participating companies, most of whom paid money to get press and launch their products. Believe that I have every interest in selling DEMO as the greatest and most elite event around. That we were privileged and special to attend. That only the best of the best launch their… But this blog and this startup just aren’t about smoke and mirrors, so here are my thoughts with that in mind.

When I originally accepted the scholarship offer and signed us up for DEMO I had very different expectations. I naively assumed that companies that could afford it would be both better positioned in their markets and well capitalized. I saw it as an event that the attending companies wrote off with the rest of their PR budget. I assumed Series-A’s and hardcore products. I envisioned it the way the event was started 20 years ago, the way VentureBeat still wants it to be.

But its just not that anymore.

In the world of lean startups and weekend launches press is free and plentiful for the worthy, its hard and expensive for the mediocre, and a company that spends 20K on press instead of product deserves to be mediocre. My advice to those that follow us is firstly spend the money on the product – dont buy press. And if you cant get press – there is probably a reason, and I doubt press will fix it. And lastly, even if you are like us, a company that could launch anywhere, one of the few that gets a free ride, just consider your other options – it was very valuable for us, but I think we lucked out.

Its too bad its all changed. Its too bad the event isn’t what it used to be. My advice to the organizers – decide on the reason, and if it really is to be the best then scrap the model and start over. Make it free. Better yet pay startups to attend. Only invite 20 or 30. Recruit the best startups in the world. And remake your brand as the place the best startups launch. Or hell just go the other way and raise the price – if it was good at 20K it’ll be bad ass at 50K…

Upverter at Demo 2011

It’s go time.
Upverter is the fastest way to do hardware. By moving isolated tools to the cloud, introducing crowdsourcing into the workflow, and removing the friction from rapid prototyping our users are able to develop tomorrow’s hardware, faster than ever. Its no longer design from scratch; instead its building on the collective knowledge and experience of our community of designers. For more on the sales pitch, look no further than our website.

Today we are announcing Upverter at DEMO. Today we get to close the first chapter of our 54 week existence, and today we get to pin on the “launched a product” badge both as a company, and as founders.

It’s been one hell of a roller coaster so far, and, if you’re interested, just a few weeks back I did a brain-dump on our first anniversary. I think it’s a good read. The short version, is that Upverter arose out of a need we saw when working as professional electrical engineers. We saw a tremendous lack of reuse, data entry errors plaguing entire projects, and a focus on designing non-value-add building blocks like power supplies, because there was no such thing as a communal library of these kind of designs. We saw the opportunity to move these same tools to the web, to introduce collaboration and crowdsourcing. And our vision is very much about multiplying the rate of innovation, not by building better things, but by building better things for making things.

So what’s this DEMO thing I hear so little about? Haha. DEMO comes from an older Silicon Valley, where launching was a bigger event with lots more marketing and pizazz. It goes back to companies like Salesforce and Adobe, and for many reasons it’s probably a funny fit for us at Upverter. But that being said, it has truly been the best of things for us. It’s an external deadline, it’s a stage we can’t run away from, and it’s a launching point for press and publicity. What it lacks in reputation it more than makes up for in motivation. We even got in for free! Back in June, after getting back to Toronto after our stint in Silicon Valley we were invited to talk with a couple of guys from VentureBeat about what we were working on. (Maybe someone stood them up, and they had a free block of time.) I didn’t even know what DEMO was, let alone want to spend a bunch of time meeting press pre-launch (we were pretty much heads-down at the time and were aggressively trying to focus and cut out distraction). But I made an exception, and I met the guys one afternoon, and I’m glad I did – because sure enough, we won the Toronto scholarship to present for free at DEMO. So we’re here. We’re presenting, launching, and hopefully, opening a brand new chapter for Upverter.

I’ll follow back with a post-mortem in a week or so and let you know how it all goes! But in the mean time, were headed to the Open Source Hardware Summit in New York to talk about enabling the first ever globally-distributed Open Source Hardware project and how we’re using Upverter as the tool to make it possible. And then back to work…we’ve promised the world the first ever web-based and collaborative PCB editor and it’s not gonna code itself!

Our Y-Combinator Experience

I don’t think I can say it enough:I’M SO GLAD WE CAN TALK ABOUT THIS NOW!


Its been about nine months since we got into YC and we took the “Don’t mention YC until you launch” rule to heart. Which means for the last nine months we have been more than a little secretive about what we were doing in Silicon Valley, how we were raising our seed round, and what’s next for us. Since we’ve gotten back to Toronto we have been the only YC company here (we’re hiring too!) and I can only imagine my luck is going to change now that I can tell the girls that I did YC…

Let me start by saying that YC was absolutely life-and-business changing for us. It was one of the most profound experiences I have ever had. For us, it started in late November. I had long since quit my job and been working from my parents’ basement, in small-town Ontario. Steve had just finished at Xobni and I headed down to San Francisco both to help him move back to Canada, and to start doing some networking in the Valley. While we were there we met with Adam Smith (our first investor), who both hired Steve and had done YC himself. We talked about our idea, and about YC, and, in the end, he convinced us to apply for late acceptance. So we did… but then nothing. A month went by, working away in my parents’ basement and assuming it was just a lost opportunity. Then, at all but the last minute, we got an email from Harj inviting us to come for a last minute interview on the 29th of December.

Stomach enter throat.

We flew down on the 28th and spent the day making last minute changes to the prototype and mostly just pacing around our AirBnB trying to figure out what we were going to say. This would be the second interview for both Steve and Mike, but the very first time I had ever met PG, PB, Harj or Jessica, and I was more than a little nervous. I had been reading PG’s essays since we started talking start-ups back in second year university. I knew how badly Steve wanted this experience. And how incredible it would be for Upverter.

Sweat like a pig.

It was a rainy day, and cold for Mountain View. But it was a hell of a lot warmer than back home so we were doing fine. We spent the night tossing and turning. Me on the floor beside Steve’s bed, and Mike in the living room. We each got up, a lot. I’m pretty sure we each spent most of the night thinking, and dreaming, and wondering what if. By 6am  we had all but assembled, and we made our way to the car. We were way ahead of schedule and took our time driving down. We found Mountain View and got some breakfast. And then, too soon, it was time. We headed over to Pioneer Drive to try our hand at getting in to the best accelerator program on earth. So began the strangest and most unique interview I have ever been a part of. I think Joey Flores of EarBits (our class) said it best – you know it’s going well if you are constantly bombarded by six questions a minute, basically brainstorming your idea and what to work on next. It was awesome. It was fun. It was uplifting. And I walked out thinking we had at least done everything we could.


At PG’s recommendation we headed across the hall after the interview to try and sell AnyBots on Upverter. We explored a bit, met with some engineers, talked about our idea, got a little more validation, and then just as we were heading out PG came up and grabbed us. He wanted to save us the phone call and offered to fund us right then and there.

Knees begin to shake.

Then started the whirlwind and absolutely insane logistics nightmare of moving both Steve and I down to Mountain View that inevitably led to some serious misunderstanding at US Immigration (see
this, this, and this). But we all made it down in the end. We had a great little two bedroom townhouse (I slept in the living room) just a block from YC and run by the sleaziest landlords we have ever had (if it wasn’t such a good location I’d tell you to avoid it at all costs). We hacked like mad. We learned a ton. I met the smartest people I have ever known. Listened to some incredible speakers. And felt more than our share of pressure to, among other things, launch yesterday. We soft launched twice, both times going back to the drawing board. We ate frozen lasagna, and 29 cent burritos. We hacked like mad. And at the end of it all we demoed.

Focus like a Jedi.

It was whirlwind experience, unlike anything I have done before my life. It was intense, and painful, paired with incredible emotion and camaraderie. We all felt our limits tested, but somehow still made it all work, but not least of all was building product. Of my countless moments together with my class, my co-founders, and our mentors perhaps my most memorable were the times I spent with Sam Altman. He helped me understand how to better work with Mike and Steve, what it means to be a leader, and the incredible value of an external deadline. I wouldn’t be half as good at what I do today without those talks, and I don’t think I could thank him enough.

After three  months of YC, Steve and Mike headed back to Toronto to find us a space, hire our first employees, and get back to work while I stayed in the Valley for a couple of months and raised our first bit of money. Fundraising is probably worthy of its own post, and was in a lot of ways another transformative experience. But come May we reunited as founders and did our last soft-launch at the Bay Area Maker Faire before heading home together.

Today we are a team seven strong and we are incredibly proud of, and grateful for, what YC has helped us to do. We have recently launched (for real this time), and we are just getting started on our path to changing the way electronics get designed.

One Year Anniversary

So it was the spring of 1984 and it was beginning to feel like summer was just around the corner… I mean the birds were chirping, the air was warm, the flowers were growing, Barry White was playing… Wait… Maybe that’s a little too far back…

Let me try again.

So, it’s the fall of 2004, early September to be exact, and I’m jam-packed into a car with my brothers and my Dad. Were on our way to the University of Waterloo to get me moved into residence. I’m the first in our family of six sons to leave home – so it’s kind of a big day. Anyway, I get all moved in, unpacked, and pretty loaded at dinner with Dad and the boys. Afterwards, safely ensconsed in my new “home” I start setting up my computers (yes, plural). So there I am in my underwear, a beer in hand, crawling under my desk when someone knocks on my door. I figure its gotta be that cute third year girl that helped me carry some of my stuff to my room, so I take my sweeeet time crawling back out, and I’m not gonna lie, I put on a bit of a show. And all this only to turn around to see none other than, Steve.

We were neighbors. He seemed like a pretty good guy too. He was my first new friend. Turns out he was even in my class, in my frosh group, and willing to electrocute me at the lab (a story for another time!). We must have chatted for like an hour or two. Meeting all the people coming and going, everyone nervous and excited all at the same time. It was kinda cool. Then a little bit later that same night Steve and I wound up on the third floor of the dorm. Exploring I think. Where, among the many other characters on the third floor, (another story, sorry) we met Mike. Mike was also in our class, also totally game to geek out and chat, and another really great guy – my second new friend.

Suffice it to say, time went on and we all became partners in crime, study buddies and drinking pals. We ended up living together and it wasn’t more than a few days before that arrangement turned into start-up boot-camp. We discovered that we were each dreaming of some kind of start-up for when we finished school, and that none of us thought we should get a real job. So we began discussing how we would do it. How we would manage, promote culture, hire the best, follow PG, or Joel, or Brooks, what we would work on, how we would fund it. It was crazy and inspiring and the worst excuse for avoiding schoolwork ever!

I can remember building white boards, and taping paper to the walls. I remember Mike and Steve brainstorming something like DropBox before it existed. I remember designing a router with an embedded cell tower chip way before Femto cells where revolutionary. I remember keeping lists of ideas, and problems that I wish someone would figure out how to solve. I remember I just couldn’t wait for school to be over so I could go and chase my real passion.

About a year later, the working world called. A few years later Steve finished school and moved to San Francisco to work for a startup. And then a year or so after that Mike finished and went to work in Toronto (also for a startup). We were all but split up. We had lived and worked together for almost six years. I can remember it was pretty sad watching Steve leave, and then Mike too. Not so much because we hadn’t yet chased our dreams, or started the business we had always planned to, but quite simply because we were family.

So fast forward again to July of 2010. It was my first summer alone in our Waterloo townhouse, and with Mike and Steve gone it just wasn’t ever going to be the same. But ignoring that, it was about to become a pretty great summer, and it all started with Shakespeare. That is to say, I went to a play in Stratford with my Mom. It’s a tradition that we have. Every summer we meet in Stratford, we watch a play at the festival, go out for a nice dinner, talk about my terrible choice in women and basically just spend some time together. When I was growing up there was zero alone time with mom, six boys remember, it just didn’t happen, and since we’ve grown up and left home we have each developed that certain little thing we do with Mom – and this is mine.

Anyway, on this particular evening we spent the bulk of the conversation just talking about my job, what was next, what I wanted, and sure enough somewhere in the conversation she encouraged me to quit. So as the night goes, I get to thinking… Why not? What if? Is it time? It was that kind of guilty, flirty, daydreaming that is both enticing and terrifying all at the same time. The night ends, and I make it back to Waterloo only to spend the next week totally entranced. Sleeplessly hacking on ideas, financials, fundraising. Setting up issue trackers (officially now known as Feature Finders within Upverter), websites and ways for me to brainstorm with whoever else I could con into the adventure. And at the end of that week I knew it was real. I called Mike and Steve in a panic and I told them the news: I was quitting, it was time, they should come play!

Oh, and that I had no idea what we were gonna do! Chaos!

So you’ve quit your only full-time job, no money, and your lease runs out in two weeks so what do you do? Well, if you’re me – you throw an epic BBQ, you invite the whole world and you announce that you’re leaving not only your job, but the town too. Oh, and all your stuff is for sale, preferably for cash, but offers of sleeping couches and Wifi would be seriously considered.


The next day Steve, Mike and I woke up, we sat down together and we came up with an idea. And looking back it is probably the best official first day we could give to the company. But let me tell you about the idea! At the time it was pretty fuzzy. In fact it was terrible! It was the combination of an idea that came to me one morning a week earlier, and the idea Steve thought I was talking about when I tried to explain it to him. There was no path to money. No defensibility. No market. I’m pretty sure no one really cared. But it was a start. And what it lacked in polish and style it made up for in personal pain – the idea tackled a problem that we had all been on the other side of. We knew the space. We had been the end user and if we could ever figure out how to target us… And that was it really, we had a couple beers, rolled the idea around, came up with our first tasks, and we got to work.

About two weeks later I moved home and started working full-time from my parents basement. I had sold everything that I owned and put everything I couldn’t sell into storage. I had my PC, my laptop, some clothes, and a desk in my parents’ basement. In a lot of ways it was perfect. It was back to the basics. I had one job – to find a way to make Upverter work, no distractions, no accessories, just hustle, fail, repeat. It’s important for me to say that while a lot of this is coming from my personal point of view I wasn’t alone. I am incredibly fortunate to have had Mike and Steve right beside me through it all. They jumped at the chance to be a part of Upverter. They are just as responsible for all that we’ve accomplished. They also quit their full-time jobs. And they also disrupted their lives.

We had a somewhat eclectic process early on. Fueled both by our incredible rate of change and our new again working relationship. It was neat. We learned a lot about what we each wanted, and who we were in this new enterprise. We were back together. Our early process was very largely exploratory – trying to figure out how the puzzle fit together, the tech we needed, if there was a market, and the scope of our problem. It was Skype filled architecture, and the kind of conversations that come from writing software together without a whiteboard. But by the end of October we had defined most of the architecture that we still use today, we knew what we needed to build first, and we had a pretty good grasp on just how many holes we had in our vision/ market/ product/ idea. Looking back it was incredibly productive – just not in the way any of us thought it would be.

Early November brought our next big change with Steve joining Upverter full-time and moving into the basement of my parents’ house with me. Unsurprisingly this started the most epic code throw-out/ refactor/ architecture/ infrastructure/ rehash in our history. We got lean. Focused. Our development tools began working together, our code started to get comments, and we started posting real tangible progress towards our technology goals. We refined the idea, filled a lot of voids, and answered a lot of questions. We got into prototype mode and began building for a target user, and trying to solve a specific problem. It was no longer quite so nebulous.

Towards the end of the month Steve and I took a trip down to San Francisco together. At the time Steve was making a lot of trips back and fourth. I don’t think he minded too bad, and I’m glad he didn’t, because it made it possible for us to work together while he was wrapping up at his other job. But with him finished his job, this trip was different. This time it was to pack up and move the last of Steve’s stuff to his parents’ house, to meet a few potential advisors, and to see if anyone gave two shits about what we were working on. And it turned out to be a pretty great trip. We got some incredible advise, saw a little bit of excitement over our idea, and among other things were heavily encouraged to apply for YCombinator. Now don’t get me wrong, we knew about YC, and it was a dream of ours to participate in it someday, but in November last year that just seemed like a distance which was forever away. We were tackling a giant project, with a super raw prototype and we were still a world away from useful. We were gonna apply but maybe not until next spring, when we had a working prototype and some traction. But we got pushed pretty hard not to wait. To do it sooner than later. And so sure enough we hacked out a last minute application and applied. We finished getting Steve moved, and we got back to work.

And then it got cold! I mean really, really cold.

We got about four feet of snow in dear old Exeter. It was even to the point that half of the windows in the basement were covered by it. Steve has never forgiven me. But who the hell moves back to Canada from California in November?!?! Sorry Steve… But most of the time (coffee and walks aside) the snow wasn’t really an issue. We were heads-down, in the basement, hacking away and building our prototype. We were starting to realize how wide our solution could be. Our vision and product, as refined as we had gotten them, were still very, very large. We are all ambitious people. And scope creep was an incredibly real problem for us. We mitigated as best we could, and we tried to keep things slim, but in hindsight it seems to have been inevitable. To be honest I’m still not sure we could have gotten away with a narrower product, but I’ll be the first to admit I have no idea. We worked right up until Christmas, when we got to spend a much needed week or so syncing up with Mike in Toronto. Like the pevious three, our fourth month in business was very different. It was exponentially more productive, and at the same time also leaner and more refined.

But then big news came in. We got an email from Harj inviting us down to Mountain View for a last minute, post-Christmas interview. We all started giggling. I’m not sure if it was nervousness, or excitement, or exhaustion, or maybe just some combo of the above. I don’t know. But we giggled together, high-fived, and wondered what-if for what seemed like hours. And then we clued in… This was less than a week away. We needed flights. We needed a place to stay. We needed to polish the prototype. We needed to figure out how to get in, and to make it happen. The following week was a blur. I’m pretty sure I had my laptop out during the Christmas morning madness. And I’m 100% sure I didn’t sleep much between getting the email and getting on the plane. But, in the end we flew down, we talk our story, we furiously brainstormed for about 12 minutes, we played with Segway-Style avatars, and we got into YC.


And then I got kicked-out of the US. Well kind-of. Really it was more that they wouldn’t let me back in. I won’t go into it here, but we had some pretty horrible immigration problems, which I’m happy to say were really only speed bumps – they could have killed us. They would have killed a weaker startup. But we found a way to make it work and pushed on. More on those stories here…





Anyway, my issues aside Steve made it back down to the Valley just fine. He couch-surfed for a couple of weeks, but ended up finding up a great little two bedroom place by the end of the month. I struggle to put into words how badly I wished I was there with him for the start of YC. How much I regret missing out on start of that experience. And how grateful I am to Steve and our many, many new friends for keeping me in the loop. But it is what it is. A lot changed getting into YC, but a lot stayed the same. YC gave us our first ever external deadline (which is a really, really good thing). It forced us to put our heads back down, way down, and to hustle like never before. We had resources like never before that both wanted to help us and wanted us to succeed. And we were back to being a distributed team. But on the flip-side we were already incredibly focused. We had done distributed before. And we knew where we needed to take our prototype for our first MVP test.

I’m not gonna lie. Of the last year, these three months are the blurriest. It was a whirlwind of hackery and advice. But what I do remember are our first two soft launches. Our first was towards the end of January when we started to open Upverter up. We “alpha-ed” and we invited our friends to test Upverter and give us feedback. At the time the hope was to see actual usage. To see people building real things. And to be able to quickly transition to an open launch by demo day. We were wrong. Upverter sucked. It just wasn’t there yet. It was a toy, with incredible potential, that no one ever used more than once. We were frustrated and a little heart-broken but we went back to the drawing board.

Mike joined Upverter full-time during the first week of February, and brought with him a huge boost to our development. But we were now six months in. And it was starting to weigh on all of us that we needed to release something capable of traction. It was a common conflict in our early days but it stemmed from our misunderstanding about our product and our market. We were trying to build Upverter like it was us monetizing a weekend project, like it was something we should have prototyped in 48 hours. And it took us a really long time to come to terms with the fact that we weren’t like everyone else. That we were building new and different tech. That we weren’t mobile, or social, or game mechanics. That we were a completely unsexy problem, with real technological hurdles, that required actual R&D, but standing in front of five billion dollars a year in money already being spent. We weren’t an overnight HackerNews sensation. We were doing a lot of things that very simply had never been done before. And that took time. The caveat to this is I would think pretty hard before doing it like this again. It lacks nothing in ambition and it’s right up there was affecting great change through great risk. And it may even be one of our biggest assets today (our tech is hard to build, necessary and defensible, we are solving a real problem, there is lots of money all around us. etc, etc). But in the world of lean startups and overnight launches we just felt like we were doing alot wrong.

February continued the blur, but at the end of the month I made one final attempt to overcome the Immiugration misunderstanding and enter the US, to join my co-founders, and to meet my class – and, for whatever, reason it happened. I’ll leave my personal ramblings about YC and what I got out of it for another time. But I will say that I made it down just in time. Only days later were our Angel Day presentations. Followed by our first bit of fundraising, a mad scramble for a Demo Day launch (which we aborted), and our Demo Day presentations.

All in just a few weeks. Chaos!

At the end of the month Mike and Steve headed back home to Toronto, while I stayed in the Valley to raise our seed round. We were split up again. But at this point I was thankfully disconnected enough from development that it was all okay. So while I was fundraising, Mike and Steve were preparing for our second soft launch, this time at Maker Faire Bay Area. By May we had the money we needed and what we thought was a worthy launch candidate. We also hired our first full-timer and three interns making Upverter again a very different place. We scrambled through the start of May and were reunited at Maker Faire, where we pushed code from our booth, and generally just showed off. It was a pretty incredible experience for us and a ton of fun. In the end we gave a ton of swag too and talked with nearly five thousand potential users.

The Maker Faire launch was a much bigger success, but we still held off on going official. We were beginning to see retention and our users were beginning to do real designs, but their feedback and behaviour told us we still had work to do before we turned on the flood. And so the seven of us got back to work – leading to a mostly uneventful summer. It was heads-down, it was polish and refinement. It was focus on our funnel, and on the things our users needed, and it was seeing things beginning to really gel.

We are now a Toronto startup, and early in the summer, mostly through serendipity, we were offered a scholarship to represent Toronto and attend and present at DEMO in September. Now we didn’t really know what DEMO was, or the value in the offer, but we figured it couldn’t hurt, and in the very least it was an external deadline to work towards. Beyond that I’m not sure what the experience will be like – I’ll keep you posted though!

That about brings us to today. It was on the 27th of August last year, that I officially finished my full-time computer engineering job. And sometime in that month between the theatre and my last day of work Upverter was born. It was born through the simple restlessness that came from spending seven years of my life with the most gifted and talented people I know, and the belief that we could do it better. What started as an idea, and a bad one at that, is now a business. and we are hell-bent on changing the world. We are now just weeks away from our official launch.

We have built a platform for rapidly designing hardware, that will quickly become the fastest way to design hardware; if it isn’t already. We are going to change the way electronics are designed and the rate of hardware innovation;

You should really give it a try.

Technical Setup of Upverter

Who doesn’t love tech porn? And what’s better than an inside look at the architecture and tools that power a startup? That’s right, nothing. So we thought, why not put up our own little behind the scenes, and try and share a little bit about how we do what we do?At Upverter, we’ve built the first ever web-based, the first ever collaborative, and the first ever community and reuse focused EDA tools. This meant re-thinking a lot of assumptions that went into building the existing tools. For example, clients and servers weren’t an afterthought, but instead a core part of our architecture. Collaboration was baked in from the start which also meant a whole new stack – borrowed heavily from guys like Google Wave, and Etherpad.


On the front-end, our pride and joy is what we call the sketch tool. Its more or less where we have spent the bulk of our development time over the last year – a large compiled javascript application that uses long polling to communicate with the API and Design Servers. When we started out to move these tools to the web, we knew that we would be building a big Javascript app. But we didn’t quite know what the app itself would look like and our choice of tech for the app itself has changed quite a bit over time… more on this later!

On the back-end, we run a slew of servers. When it comes to our servers, there was a bit of a grand plan when we started, but in reality they all came about very organically. As we needed to solve new problems and fill voids, we built new servers into the architecture. As it stands right now, we have the following:

  • Front-end web servers, which serve most of our pages and community content;
  • API & Design servers, which do most of the heavy lifting and allow for collaboration;
  • DB servers, which hold the datums; and
  • Background workers, which handle our background processing and batch jobs.

So let’s talk tech…

  • We use a lot of Linux (ub) (arch), both on our development workstations and all over our servers.
  • We use Python on the server side; but when we started out we did take a serious look at using Node.js () and Javascript. But at the time both Node and javascript just wern’t ready yet… But things have come a tremendously long way, and we might have made a different choice if we were beginning today.
  • We use nginx (http://nginx.org/) for our reverse proxy, load balancing and SSL termination.
  • We use Flask (http://flask.pocoo.org/) (which is a like Sinatra) for our Community and Front-end web servers. We started with Django, but it was just too full blown and we found ourselves rewriting it enough that it made sense to step a rung lower.
  • We use Tornado () for our API and design servers. We chose Tornado because it is amazingly good at serving these type of requests at break neck speed.
  • We built our background workers on Node.js so that we can run copies of the javascript client in the cloud saving us a ton of code duplication.
  • We do our internal communication through ZMQ (www.zeromq.org) on top of Google Protocol Buffers
  • Our external communication is also done through our custom RPC javascript again mapped onto Protocol Buffers. http://code.google.com/apis/protocolbuffers/docs/overview.html/
  • We used MySQL () for both relational and KV data through a set of abstracted custom datastore procedures until very recently, when we switched our KV data over to Kyoto Tycoon ().
  • Our primary client the sketch tool is built in Javascript with the Google Closure Library () and Compiler ().
  • The client communicates with the servers via long polling through custom built RPC functions and server-side protocol buffers.
  • We draw the user interface with HTML5 and canvas (), through a custom drawing library which handles collisions and does damage based redrawing.
  • And we use soy templates for all of our DOM UI dialogs, prompts, pop-ups, etc.
  • We host on EC2 and handle our deployment through puppet master ().
  • Monitoring is done through a collection of OpsView/nagios, PingDom and Collectd.

Our development environment is very much a point of pride for us. We have a spent a lot of time making it possible for us to do some of the things we are trying to do from both the client and server sides and putting together a dev environment that allows our team to work efficiently within our architecture. We value testing, and we are fascists about clean and maintainable code.

  • We use git (obviously).
  • We have a headless Javascript unit test infrastructure built on top of QUnit () and Node.js
  • We have python unit tests built on top of nose ().
  • We run closure linting () and compiling set to the “CODE FACIEST” mode
  • We run a full suite of checks within buildbot () on every push to master
  • We also do code reviews on every push using Rietveld ().
  • We are 4-3-1 VIM vs. Text Edit vs. Text Mate.
  • We are 4-2-2 Linux vs. OSX vs. Windows 7.
  • We are 5-2-1 Android vs. iPhone vs. dumb phone.

If any of this sounds like we are on the right path, you should drop us a line. We are in Toronto, we’re solving very real-world, wicked problems, and we’re always hiring smart developers.

Ref: http://www.eflorenzano.com/blog/post/technology-behind-convore/