SpiceWorld London

We just arrived back in New York after a few days at SpiceWorld London 2014 – we had a blast! If you’re not familiar with Spiceworks, it’s a network management tool for IT Pros, providing everything from network inventory and monitoring to help desk software, mobile device management, cloud detection services and more. The tool itself may be helpful for IT Pros, but the community created by its users, employees, and other tech vendors is what makes a SpiceWorld Conference worth crossing the pond for. Twice a year the Spiceworks online community gathers in-person to swap IT knowledge at breakout sessions, happy hours, and a full-fledged party.

Attendees enjoyed a Spiceworks party Tuesday night sponsored by Microsoft.

Aside from the free drinks (kidding!) the best part of SpiceWorld was getting to speak directly with the IT Pros for whom we’re designing our storage software, AetherStore. We were able to pick their brains about everything from feature requirements to preferred support methods, and can report back to our development team with some invaluable product feedback that’s come straight from the source.

As a vendor we attended breakout sessions where Spiceworks team members shared their expertise and panels of IT Pros explained what gets their attention when it comes to tech marketing. We learned that webinars and podcasts are preferred methods of content consumption, and that whitepapers, while educational, aren’t as widely read as marketers may hope. IT Pros also shared preferred contact methods (unsurprisingly, cold calls were a strong “don’t”), and explained the challenges they’re presented with on a day-to-day basis that make vendor interruptions a nuisance.

A panel of IT Pros answer marketing questions for vendors.

Some of these sales tips may seem like common sense, but hearing them directly from our target customers has sharpened the focus of our marketing plan. As we near the AetherStore launch, the knowledge gained at SpiceWorld London will have a real impact both on the development and sales sides of our product.

If you’re in the enterprise or SMB tech space, it’s hard to find a reason NOT to get involved with the Spiceworks Community. With 15 million IT Administrators as Spiceworks users spending 5.7 Billion active minutes in Spiceworks annually, there’s no other forum exchanging such an expansive collection of IT know-how. And as cheesy as it sounds, Spiceheads don’t just swap knowledge, they share laughs and anecdotes that make the Spiceworks community as enjoyable as it is educational.

A panel of IT Pros answer marketing questions for vendors.

We’re already all set to attend SpiceWorld Austin 2014! We’ll have a booth to exhibit AetherStore and are currently brainstorming some awesome giveaways for the Spiceheads there – any suggestions?


Start-up Marketing Metrics

Marketing costs money.

The expense is easy to quantify in traditional marketing investments like buying ad space – did the price per inch justify how much it brought you in sales? Newer strategies like inbound marketing can be trickier to measure. They may not require an upfront purchase but end up costing you in the form of an hourly rate on the labor required to execute them. No matter how the bill reads, evaluating a marketing strategy always comes back to its ROI: was what you paid worth the return?

“Return” in this context is synonymous with “Revenue,” which makes this traditional marketing concept difficult when applied to a pre-launch start-up. When revenue is not yet an available metric, how do you evaluate your marketing investments?

Marketing Metrics Without Revenue

We’re trying to answer this question while marketing our storage software, AetherStore, and have been using the number of AetherStore Early Release Signups in place of sales figures. Signing up for early release is as far as potential AetherStore customers can get in our marketing funnel while we’re pre-launch, so for now if a marketing expenditure compels an individual to reach that point it’s been successful.

Having an online signup form makes it easy to differentiate between marketing channels. Through Google Analytics we can pinpoint how our signups found us, for example through organic search, social media, paid AdWords, this blog, etc. To an extent, we can also track the source of leads that sign up after hearing about us offline. For example, we exhibited at NY Tech Day last week and had hundreds of conversations, during which we mentioned and passed out materials promoting an AetherStore URL we had set up specifically for TechDay. Signups that came through that specific form are easily traced back to the event, allowing us to measure the “return” on our time there by counting how many signups it produced.

“Unpaid” Advertising Gets Expensive

This isn’t a perfect metric. One element it doesn’t account for is the quality of signups. We have a small budget for Google AdWords and a number of signups have come through this channel. We don’t spend a lot of money or time (which end up being the same thing) on our paid ads and they continue to produce signups, which makes them a sound investment if we’re looking only at the numbers. Yet, I know the quality of those signups is lower because of the background information provided and the lower engagement rates we have post-signup with these leads.

On the other hand, our signups that find us through social media have been more likely to engage with follow-up contact up and seem to have stronger potential as customers. This is a result that any inbound marketer would have predicted: when someone finds us on social media it’s often because someone they follow has mentioned our brand, so their discovery of AetherStore is like a peer recommendation. It’s more “organic” than what we get from a paid ad. However, just because it’s free to set up a Twitter handle doesn’t mean these leads aren’t expensive. Cultivating the online relationships that produce inbound leads requires an immense amount of time (see: money). All told, they require more resources to generate than the signups that come through our Google Ads.

Thus the problem with using signup numbers as the sole metric in evaluating our marketing efforts: they don’t account for quality. If we invest $1000/month into both mediums and get more signups via Google Ads, ROI favors the ads over social media. In reality, we know social media is probably the better investment.

Quality Over Quantity

The fact that I have to use the word “probably” brings me to the main problem we face evaluating marketing efforts while AetherStore is pre-launch: we can’t assign a dollar amount to an AetherStore Early Release Signup. The ROI analysis depends on both sides of the equation being a monetary value, so it’s simple to see whether the return is high enough to validate the investment. Right now, we can only project how much revenue our marketing investments will bring in based on how we plan to price the software and how many signups we think will actually buy.

We’re banking on the assumption that more signups = more potential customers, but we don’t know with certainty that the number of signups produced by any of our marketing expenditures will produce enough cash to justify the investments. It’s what’s exciting, and most difficult, about marketing at a  start-up: until we can actually calculate ROI by tracking revenue, we’re working with a far more qualitative definition of what constitutes a good “Return” on investment.



NY TechDay 2014

We’re still gathering all of the business cards, free goodies, and great ideas we took away from NY TechDay yesterday, where we exhibited AetherStore and spoke with hundreds of attendees . Pier 92 was packed with tech companies showing off what they’re working on – everything from dating apps to enterprise software. With hundreds of start-ups and over 10,000 attendees, NY TechDay proved there are a lot of exciting things happening in Silicon Alley.

A special congratulations to Atmospheir, an AetherWorks portfolio company that took home the NY Tech Day award for “Best in Social Media.” They’ve built a social address book that’s available for download now!


We had a blast running the AetherStore booth, where visitors stopped by and learned how to turn unused workstation hard drive space into a valuable storage resource. We even put visitors to work, polling opinions on some AetherStore taglines and other copy to see which marketing materials they preferred. With so many start-up experts in one place, we couldn’t resist a chance to get their feedback.

We didn’t let those that stopped by the AetherStore booth leave empty-handed, though. We came armed with 300 orange donuts and had almost polished off all 25 boxes by the day’s end.


The AetherWorks team had an awesome time at TechDay 2014. We can’t wait to follow up with everyone we got to connect with there and see what’s next for New York Tech!


St Andrews Programming Competition Winners

As we recently announced on the blog, AetherStore sponsored the St Andrews Programming Competition 2014 on April 7th at the University of St Andrews. Seventy-five participants including undergraduates, postgraduates, and even staff members competed to solve a series of coding problems in three hours, using a programming language of their choosing. £200 cash prizes were up for grabs in the subhonours, honours, postgraduate, and individual student categories. Congratulations to all the winners!

Overall Champion: 

Head of School: Steve Linton

Postgraduate Champion: 

Team: SKI Instructors (Matus Tejiscak, Christopher Swaab, Adam Barwell)

Postgraduate Runner Up: 

Team: Kmp (Daniela Grijincu, Mihai Pitu, Radu Floroiu)

Honours Champion: 

Team: TwoGingersAndAnAsian (Alex Field, Luke Borwell, Ivan King)

Sub-honours Champion: 

Team: Missionary (Kestutis Vilcinskas, Austeja Elvina)

Sub-honours Runner Up: 

Team: Stack Overflow (Tom Dalton, Emily Dick, Neil Wells)

Best Individual Student: 

Nathan Blades

Here are some shots from the competition:

Congratulations to all of the participants, and thanks to the St Andrews computer science department for putting together a great competition!


Brainstorming Blog Ideas: Why you probably already have the material you need

“Start blogging.”

It’s probably the number one piece of advice given to marketers looking to up engagement online. If you put out the right content, the right people will find you. Yet companies (us included!) don’t blog as often or as effectively as we’d like because putting out the “right content” is so much easier said than done. We know first-hand it takes time and serious brainpower to identify the topics where your expertise and your audience’s interests intersect.

As a brainstorming tool, I’m breaking down three of the categories that successful blog posts seem to fall into – based on my own experience and other blogs I’ve read. You’re already familiar with the categories, but I’ve included some questions and examples that may be of help if you’re ever asking (like we often are) “What should we write about this week?”

1. The How-To:

There’s nothing like Googling “How to…” to realize that whatever your problem is, you’re probably not the first person to look for an answer to it. Tutorial posts are a no-brainer when it comes to creating content that’s valuable to your audience. We’re a software R&D firm, so some of our most successful posts have been written by our developers detailing solutions they’ve found to particularly challenging or interesting programming problems.

Tutorials don’t need to be advanced. I recently needed to make some changes to our AetherStore brochure in Adobe Illustrator, a few of which required Illustrator skills that weren’t in my wheelhouse. I posed my “How-to” questions to the web and found tutorials that gave me the exact tidbits of advice I was looking for. In this case, I didn’t need an expert’s overview of the software, I needed specific instructions that were actionable for someone of any skill level.

2. Reviews & Comparisons

If a blog’s purpose is to unite your insight with your reader’s interest, a knowledgeable review is a great way to get there. From which software to buy to which conferences to attend, peer opinion carries a lot of weight, specifically when your organization doesn’t stand to benefit from the review. There are few decisions made today that aren’t pre-researched online.

Blog reviews can be even more helpful when they compare two things directly. At various moments we’ve found ourselves deciding between Jira and YouTrack for task tracking, Optimizely and Unbounce for A/B Testing, even Paychex vs. ADP to handle our payroll. We almost always consult blogs that compare and contrast as part of the research we do make an informed decision – as does the majority of the web. If you’re experienced with a product or service or well-versed in how two different ones stack up – someone may be searching for your opinion.

3. New Ideas

One of our most popular posts was written by one of our engineers, called “The Waiting Game: Fast-Food Queuing Theory.” This post applied our specific skillset, computer science, to a very common problem, long lunch lines. Programmers could study the code, and everyone could appreciate the proposed solution.

If you’ve been musing on a solution to an everyday problem or have ideas on a new way of doing something, why not propose your theories to your blog audience? Whether or not your solution holds up, it could be a great conversation starter.

Per those categories, here’s a list of questions to use as a jumping-off point when trying to brainstorm blog ideas:

  • What problems have you solved recently?
  • Have you learned a new skill, shortcut or technique? (Think beyond tech, too. Did you restructure a meeting format to make it more productive? Send a thank-you email that received a great response? Come up with some great interview questions?)
  • Did you read another tutorial that didn’t answer your question or find one on which you could expand?
  • Have you started using any new software or hardware recently?
  • Have you attended any conferences or events that you could review?
  • Have you switched products or services recently?
  • What daily annoyance drives you crazy? How would you propose to fix it?

We’re always striving to improve the quality of the AetherWorks Blog and reach new audiences. Not every post resonates, but it’s worth keeping a frequently-updated blog to help hone in on what does interest readers. If you put out the right content the right people will find you. And if you put out enough content, you have a better chance of putting out the right content.

Gus at Comp

St Andrews Programming Competition

We’re excited to have AetherStore sponsor the upcoming St Andrews Programming Competition 2014! The AetherWorks team has plenty of St Andrews graduates. Our six alumni have a collective ten computer science degrees, nine of which came from St Andrews, so they’ve logged a lot of hours in the department and look forward to being part of the event.

The programming competition is open to students of all levels and with any amount of programming experience. Teams of three will have three hours to solve a set of programming problems and win £200 worth of prizes. Here’s what the St Andrews School of Computer Science Blog had to say about the competition:

“Generally, programming competitions are aimed at the best programmers, this is a first-of-its-kind competition where students from all levels with any amount of programming experience stand a chance to win a prize. Another unique aspect of this competition is that it has also open to members of staff from the School of Computer Science, making this a fun experience and a bonding opportunity for staff and students.”

The competition will be held Monday, April 7th from 2pm-5pm GMT, and AetherStore will also be providing refreshments. Click here for more details and registration information. Best of luck to all of the participants!

st a compsci
A photo from back in the day: Angus and Greg in the computer science lab in 2010

Meet the IT

It’d be difficult to develop software that makes life easier for IT Pros without understanding what they’re dealing with, so we appreciate every insight we can get into what a day at the office looks like for an IT Administrator (as it turns out, no two days at the office really look the same). Throughout AetherStore‘s development we’ve had the opportunity to speak with some awesome IT Pros, and one of our Spiceworks beta testers agreed to let us publish some info on what makes him tick so everyone can share his insight.

Meet Shuey, a passionate IT Pro with a unique talent!

Name: John Schuepbach (“Shuey”)

Role: Network/Systems Administrator

John Schuepbach

Can you briefly describe your role as a Network/Systems Administrator?

“I support a staff of approximately 250 users, and my IT team consisting of 6 people. Pretty much anything that has to do with IT (hardware, software, networking, printers, servers, etc), I support it. Heck, some staff even think that ‘IT’ also means ‘building maintenance’, ‘janitor’ and ‘free home IT support’ LOL.”

What’s the breakdown of a typical day for you, in terms of tasks or areas of focus?

“What’s really cool about my job is that no day is ‘typical’. On my ‘best’ days, I may only get one phone call during the entire 8 hours I’m on the clock. And those are the days that I dig into projects and keep charging forward to get as much done as I can, because… On my ‘worst’ days, I’m so busy putting out fires that I’ll have one person on-hold, one person I’m talking to, and another person calling in! And it’s next to impossible to dive into anything on days like that.”

What’s your biggest pain point, what makes your job most difficult?

“Politics!! Whether it’s users who think that THEIR problem is the ONLY thing I have on my plate, or finding a way to help upper management understand what’s REALLY going on in the IT department, or conveying the importance of the need to spend money in order to maintain and effectively grow IT infrastructure, it always seems like political red tape is the biggest hurdle.”

What’s the most helpful tool in your IT arsenal?

“Having a strong ability to remotely troubleshoot and fix problems. This might seem like a simple answer, but I can’t tell you the number of times I’ve seen IT staff who either 1. Don’t have a strong enough foundation to know how to remotely support staff, or 2. Don’t think to use it. When a user has a problem, and their success depends on how quickly you can troubleshoot and fix the problem, leaving your ‘battle station’ to physically deal with the issue often takes extra time that ends up turning into wasted time. Plus, it never seems to fail that when you leave your desk to go take care of something, that’s when another user calls in and needs help; but now you don’t have access to all your ‘IT Tools’ because you’ve left your battle station!”

What’s your favorite part of your role?

“Things I really enjoy working on are big projects that take several hours over the course of a few days, to as many as hundreds of hours over the course of a couple of months. Especially things that involve revamping something to make it a lot better, or building something from the ground up (cleaning up an existing group policy implementation, setting up a WSUS server, creating scripts to simplify tasks, and documenting procedures and policies; to name a few).”

Hidden Talent:

Shuey is world-famous for his Tetris creations (check them out here)! His videos have been featured on TV shows in Japan, Australia and the UK, as well as on popular websites like, and Here’s an interview he did for HardDrop.

He has also been a self-proclaimed Hardcore Video Gamer since the age of five, and before selling off a large portion amassed an impressive game collection during his 36-year run.

Shuey’s “How-tos” and More:

The New Jersey (version 2). That's. The. Joke.

Creating a Java REST API with Jersey (Including Code Example)

In our latest development cycle we’ve been working on creating an official API to manage and control AetherStore. As part of this process I’ve been experimenting with Jersey 2, the Java reference implementation for JAX-RS, the Java API for RESTful Web Services.

This post discusses an example API using Jersey. The example is itself fairly well commented, explaining why certain pieces of code are needed, and how they relate to the project. This post covers the structure of the project and discusses some of its more interesting features.

The example is of an API representing a set, which allows:

  • Strings to be added as part of a GET request parameter
  • Strings to be added as part of a PUT request body.
  • The set of all strings stored to be returned.

If you’re using Jersey, it’s important to note that a lot of examples online use Jersey v1, which causes problems because this version of Jersey uses an entirely different namespace — v1 uses com.sun.jersey, whereas v2 uses org.glassfish.jersey, and a number of classes are either named differently, or are in different sub-packages.

The code on GitHub should work straight out of the box if you’re using Eclipse for Java EE.

Areas Covered

The code is useful if you’re interested in one of the following features in relation to jersey:

  • Running in eclipse.
  • Setting up appropriate Jersey Maven dependencies.
  • Setting up your web.xml to work with Jersey.
  • Creating a basic API.
  • Using JSON to wrap requests and responses.
  • Using an exception mapper for more readable error handling.
  • Injecting dependencies into resource classes (the API classes).
  • Unit testing Jersey.
  • Mocking calls used by our Jersey API.
  • Unmarshalling responses from a Jersey API.

Reading the Code

This section describes how the code is structured at a high level. There are some comments on specific lines of code, but I’d recommend looking at the comments in the code for a closer look at individual features.


At the core of a Jersey application is the pom.xml file, which specifies all of the dependencies in the code — including Jersey itself — and the versions being used. If you’re using another example, it’s important to note the version of Jersey you’re using. Here we are using Jersey 2.6:

The web.xml file specifies how your servlet is named, and where the main Jersey Application class is. This Application class is used to start your Jersey servlet.

In this example our application class is called SetApplication. It registers bindings for a few classes, which we’ll discuss later. At this point the most relevant call to our application is:

This tells the servlet container where to look for the resource classes that form the API. In this case our resource class is called SetResource.

SetResource (API) Class

To recap, this project implements an API which supports two calls to add a string to a set (/set/add/<value> and /set/add), and a single call to get all entries in the set (/set/get). The class definition for this class annotated (shown below), to set the base path of the API call to be /set:

Then the methods in this class are further annotated to describe the API calls under this path. For example, the following code is executed when a /set/add/{value} request is made.

The full call to this method will be /set/add/{value}, where value is a variable that is mapped to the value parameter of the method as a result of the @PathParam annotation. We want the call to consume and produce a JSON response, so we specify this in the @Produces annotation. The marshalling to JSON is handled automatically, but we have to specify the marshaller dependency in the pom.xml file, as follows:

There are two methods which include the /add path, but they accept different numbers of inputs so there is no conflict. The class also contains an @Inject annotation, which tells the container to inject a dependency into the callHandler field. If we look back at the SetApplication class, we can see that this value is injected by registering it with the application through the register() call:

Unit Tests

I’ve written two unit test classes. One, SetApiTests provides what are essentially end-to-end integration tests, which call the API and check that its operations perform as expected. The second, MockedSetApiTests provides an example of using mocking to test just the API calls themselves. Both test classes extend JerseyTest, which handles the heavy lifting of setting up a servlet container and providing the API. To run correctly, JerseyTest requires a test framework provider, which is the servlet container used to run the test. In this example I’ve used the jetty container, where the dependency is specified in the pom.xml class with the following code:

In the MockedSetApiTests class, the SetCallHandler, which manages the logic behind the API call (and is injected), is mocked out:

The configure call is required by JerseyTest to properly configure the application, which in this case requires us to pass the mocked dependency so that it can be injected into the SetResource. In the tests themselves, the call to the API is relatively simple:

This makes the API call and returns the result (whether it is a success or failure to the responseWrapper). This can then be queried to establish whether the call was successful (by getting the HTTP response code):

If successful, we can then obtain the returned value:

The test addMultipleSingleCall shows an example of an API request with a message body (in this case a set of Strings), also showing how to package up this request parameter in the test:

The examples in this post don’t include any parameters that are non-standard Java types, but doing so is relatively simple. By default only the public fields in the class are serialized, and a default constructor is required, but the class doesn’t have to implement serializable.

How To Run

To run this example in Eclipse for Java EE:

  1. Download / clone the code from GitHub.
  2. In Eclispe, go to File -> New -> Java Project
  3. Untick ‘Use default location‘ and navigate to the path of the jersey2-example repository.
  4. Re-tick the ‘Use default location‘ option, which sets up the project name as jersey2-example.
  5. Click finish to create the project.
  6. To run, either run the unit tests in JUnit, or right-click on the project and select Run as -> Run on Server.

If you want to create your own eclipse project, you can follow this example, but note that this is for Jersey v1, so you need to adjust the options used in steps 3 and 5 (i’d compare them to the example in my GitHub repo).

To run standalone (the previous steps are required):

  1. Right-click on the project, Export -> WAR File.
  2. Set the location to store the WAR file, and change the specified server runtime if necessary.
  3. Run the WAR in your favorite application server, or standalone with Jetty Runner.

Additional Resources

The following links are resources I found useful in writing this example. Where the examples refer to v1 of Jersey I’ve said so — examples are included because some part of them is useful, but be careful to note places where v1 specific code is used. This includes anywhere where a com.sun.jersey namespace is used.

Ideas Meeting Discussion (2)

Effective Communication in a (Very) Small Company

It’s hard to manage communication in a company with only eight people.

That might seem preposterous if you work somewhere much larger, but as we’ve grown it’s been interesting to see where issues have arisen, and how important it has been to formalize the process of communicating the visions and goals of the company.

We created a weekly company-wide coffee meeting, which has evolved over the last two years through trial and error, gradually becoming a key part of our process. It has moved from a focus on work we’ve done to a focus on work we’re going to do, and the reasons for this are the focus of this post.

The development team discussing new features.
Members of the development team discussing a new release.


Everyone in our development team has the same goals, a road map they are aware of, and a set of assigned tasks. On a day-to-day basis we know what each other is doing, and where we are heading. We might have reasonable idea what the operations team is doing — the office isn’t that big! — but this is much less useful than understanding their goals and plans for the future.

For example, it’s better to know in advance that the company’s in-bound marketing strategy is changing, than it is to know that the operations team spent the day changing some text on the website. It’s harder to make a contribution on something that is already written (the website text), than it is to discuss and contribute to the future direction of something (the marketing strategy). It’s also motivating to know where the company is heading.

In essence, we want to create situations where people can provide useful feedback for future work, instead of hearing about past work.


We also want to get everyone involved in creative meetings on the future direction of our work, because each person brings a unique and often useful perspective to these discussions.

To achieve this we have regular creative idea sessions for both features useful to our current product (AetherStore) and ideas for our next product. It’s also a great forum to discuss the direction of other companies and their products.

This gives everyone a better understanding of what we’re doing, why we’re doing it, and the direction we’re headed. It also aids the early discovery of potential problems, because everyone knows what we’re trying to create, and can see when we deviate from that path.

What We Do

With our weekly meetings, we’ve tried numerous strategies that didn’t work.

Micro over macro. We focused too much on day-to-day work rather than on future directions. Initially every employee was given a minute to discuss their current work, which was informative but not great for discussion.

Un-directed question sessions. Our initial meetings were simple open-ended Q&A sessions, which didn’t work because most people don’t know what questions they should be asking.

Un-directed ideas meetings. We encouraged new ideas, but without direction. This was often useful, but when everyone’s existing knowledge on a subject was exhausted, these meetings ended up producing the same ideas. We are currently experimenting by adding a learning element – discussing the work of others – as a way of spurring creativity by expanding our understanding of related industries.


We are learning and adapting from these mistakes, with the goal of creating more focused, productive company-wide meetings. Every Tuesday at 3PM we sit down, drink coffee, and discuss one of four rotating topics: development work, operations work, product ideas, and discussions of related work.

It’s interesting to me because we only discovered some of our communication blind spots after we started improving the process. With such a small company it’s tempting to think that everyone knows and understands everything that is going on, but that’s unlikely to ever be completely true. So it’s critical to identify what you have to communicate and to make sure there’s an explicit mechanism to aid that communication, because it’s likely that the other party won’t know it’s a problem.

smaller cleanweb

January Cleanweb Meetup At AetherWorks

We’re excited to be hosting this month’s CleanwebNYC meetup at AetherWorks! The event kicks off Tuesday, January 28th at 6:30pm at the AetherWorks office, located at Bryant Park in Manhattan. We’ll have pizza and beer, and anyone is welcome! RSVP here.

If you’re not familiar, Cleanweb leverages technology to tackle resource problems in energy, water, food, waste, transit and beyond. Check out the CleanwebNYC meetup page for more information on their monthly meetings and how you can get involved, or to see how the Cleanweb initiative is addressing resource challenges on a global scale.

There will be two presentations Tuesday on solutions that use computer hardware resources more efficiently:


  • We’ll be presenting the storage software we’re developing, AetherStore, which turns unused space on machine hard drives into a shared storage network. AetherStore requires no new hardware and allows organizations to use their existing storage space more efficiently.


  • Revivn re-purposes unused technology for social and environmental impact, creating “a new and greater purpose for unused computers.” They use outdated electronics from companies to build out various initiatives helping people gain computer access.

It should be a fun night, so join us to see what’s going on in the CleanwebNYC community – and of course to enjoy some free food and drinks! RSVP now!