Linkshow Devlog - Interactive Slideshows

(devlog index incase I can’t edit after x days:

So last year I tried to build a project called Stemlet (a “modern wikipedia”), which I devlogged about here. That project was a total floparoo because I was basically trying to force a sideproject into a startup instead of trying to build a startup around a problem.

I’ve since immersed myself in the startup scene spending a year at an incubator and trying to start a few of my own. I’ve learned a lot. And now that I’ve built a little confidence and have a cofounder I’d like to give it another go!

Project Name: Linkshow

Problem: During presentations, audiences just sit there unable to interact with the presenter or each other.

Solution: Interactive slideshows that allows the audience and presenters to interact with each other without disrupting the presentation.

Team: My best friend Courtney and I. We also get a lot of support our friends at Running Start in Worcester, MA.

Mission: Help people share experiences.
Vision: Let anyone experience anything.

Linkshows are basically slideshows where the slides are made up of embedables - things like Google Street Views, 3D models from Sketchfab, and Google Sheets…pretty much anything you find online with a “share” or “embed” link. You collect a bunch of these links and either embed the linkshow on your blog or “stream” it to your audience’s mobile device during a presentation.

It’s pretty simple. A friend calls it “guided browsing”.

The format for this devlog will be:

  • What we did and how
  • Lessons learned
  • What we’ll do next
  • Metrics

They’ll probably be lengthy so I’ll likely stick to once a week. I’m not sure if I can edit posts after a certain amount of time, if so then I’ll put an index to the posts so I can answer questions, otherwise you can find it here:

What & How

We’re using WordPress since it handles all the annoying bits of a webapp out of the box: security, user authentication, and user management. It’s also got a badass repository of plugins we can tap into, one of which is the insanely powerful Advanced Custom Fields:

We were grandfathered into their pro plan, but it’s totally worth it. This plugin itself has 100+ user contributed “sub-plugins” and an active community. The main draw for us was that we can create clean user interfaces for the front end with automatic data validation. You can very quickly prototype a web app with this thing, it’s seriously amazing.

For project management we went through a number of tools including WordPress itself and Google Drive before settling on Trello.

Trello is a Kanban board where you basically move tasks from the left most column (the backlog) to the right most column (done). Courtney and I basically split the work into code/non-code relating things, so we each have our own boards with our own tasks and then one shared “master” board that we both dig into.

You can read more about agile methodologies from M. David Green here on SitePoint. I highly recommend Kanban even if it’s just you as it helps you get things done.

Other key WordPress plugins:

  • wpDiscuz - Extends WordPress’ comment system. We decided to go with this system so that we can better integrate the two (we have plans to build interfaces for students to chat with teachers etc)
  • WP-Mail-SMTP - We’re using a custom registration system (using ACF) that requires activation. We also built a custom notification system for a custom admin bar. This plugin helps with sending out customized emails.

Example of the userbar and the notification system. We’ll cover how we built it in a later post.

JavaScript libraries:

  • Growl - OSX “growl”-like notifications
  • Tooltipster - Tooltips and “popup cards” (if you view that first GIF, the speech bubble over the characters is really a tooltip)
  • RRSSB - Rediculously Responsive Social Sharing Buttons
  • URIJS - The app does a lot of URI work to figure out embeds and such, this library is invaluable for that


It’s actually really hard to start something by yourself. Trying to build a startup is a roller coaster ride and the thing about going solo is that you don’t have anyone to ground you on your euphoric days and no one to lift you up on your low days. Both extremes can be harmful.

Having someone else also helps you maintain discipline, especially when it comes to feature creep. You don’t even need an actual cofounder. Having a mentor or friend you meet with regularly would probably work just as well (at least early on)!

Another thing we’ve learned is that we skipped a bunch of “steps”. In hindsight having done some validation would have saved us a week or two in building features no one wanted.

If you’re looking to start a startup or large project, I can’t recommend StartupStash enough (basically start at the top left square and work your way across):


Our goal is to launch by next Sunday (Aug 7th). We still have a boatload of content to fill in and people to reach out to, but the app itself is in stable condition!


Since we’re not launched we don’t have any real metrics. Here’s what we have:

  • Weeks in : 4
  • Members: 2
  • Twitter Followers : 43
  • Analytics graph:


Now that our app is fully usable we’ve been focused on finding users and iterating based off of analytics. These tools include:


I’ll talk about how powerful the Twitter Ads manager is in a future post once I have a better understanding of how to properly use it, but CrazyEgg’s heatmap tool…it’s awesome!

If you’ve never seen a heatmap it basically color codes what users see/click, which you can use to optimize your site. CrazyEgg has a few different views: heatmap (that first, dark gif image), scrollview (the 2nd rainbow one), and overlay (the last one). It also has “confetti” which shows you who clicked from which referral. I haven’t found that to be useful yet but I also don’t have a lot of data.

I’ll write more about the different uses in future updates. One thing I found surprising is that people like clicking on our mascot. I really wanted to create a memorable mascot when I designed it so seeing that was really exciting! In fact the image file is called Octoboo, which I got from Octocat of GitHub.

I also noticed that people were clicking on links to pages I figured they wouldn’t care much about…which wasn’t as exciting because those were the ones we didn’t finish.


If you’re curious, here’s our expenses. We spend ~$10 a day on ads which is how we’ve gotten most of our followers. Because you have so much control over who sees your ads it’s a solid way to gain followers who are genuinely interested in what you’re doing.

I’m still optimizing our campaigns, but as of this writing we’ve spent $61.90 got:

The detailed data you get is amazing. You get things like demographics, how and where your ad got seen, and - if you target the ads to be seen only by followers of specific users - from whom (a very powerful feature because you can target only followers of Sitepoint for example).

I don’t have any idea if these are good results, but I’m happy with the interaction/mentions we’re getting. With a little practice I’m sure I can easily optimize this further.

Lessons Learned

Optimization through analytics really does work. As with anything though the data is useless if you don’t actively iterate on it. And while I don’t have any data/experience to support this, my thinking is that you should probably work on improving one or two things at a time.

I’m also starting to relearn time management. I’ve been using an online tool called Timer Tab, which I use to work in 25min intervals with a short break. One of the tricky things about working on a web app is that you tend to explore the web, so while I’m in my 25min work mode I bookmark anything I find interesting to read during my break.

What I like the most about it is that the Favicon updates every second with the time so it’s always there. I’ve been experimenting with this myself, check out Favico.js if you need it for your project!

Up Next

“Presentation” mode and oEmbed support.

Currently you can only embed linkshows using an embed code (iframe). The trick is to tie it into the public oEmbed API so that you can just copy/paste the link into your editor and it expands into an embed (like how you embed Codepens and that Google Sheet in here).

If we can get Facebook to support us (which they have with a few other startups) then you’d be able to copy/paste the linkshow link and it’ll embed into your Facebook stream - like you can with YouTube videos and Sketchfab models/VR.

Presentation mode was working but I broke it trying to refactor the codebase. Presentation mode is where anyone viewing your linkshow on their mobile device sees the slide you’re currently on. This lets you guide your audience through different web apps like Google Street Views, Sketchfab, etc…kind of like a virtual “Show and Tell”.


We got our real members (the 2 from last week was my cofounder and I)!!!

  • Weeks in (since idea) : 5
  • Members : 5 (+2)
  • Twitter Followers : 74 (+31)
  • This weeks Google Analytics:

Speaking of GitHub, what is the link to the repository?

It would be both very interesting and educational to study the source code.

Great question! I know I shouldn’t be but I’m still a little hesitant about opening up the whole project. Since there’s interest though I’ll write mini tutorials on how to replicate the more interesting parts like I did with my last devlog.

That was actually the plan to begin with, I just get caught up in talking about the other stuff :stuck_out_tongue:

1 Like

This topic was automatically closed after 91 days. New replies are no longer allowed.