- Developer Hub
- Email Tools
- Slack Channel
- User Guides & Migrations
- Submit a Ticket
- Deliverability Guide
- Email Explained
- White Papers & Guides
- Webinars & Videos
- SparkPost vs. SendGrid
- Contact Us
As the fall semester comes to an end, students are cramming for finals and desperately trying to decipher their notes from hours’ worth of lectures. We all can relate to that heart-stopping moment when you realize that your notes don’t match the professor’s slides, which means you either copied their notes incorrectly or worse, missed an entire section of the day’s lecture. As you rest your head on your keyboard, you wish there were an easier way.
Enter Megafind, overall winners of the recent Cal Hacks 4.0 hackathon, sponsored by SparkPost. I recently caught up with Anthony, Kartik, Kian, and Ajay, creators of this revolutionary note-taking (and time-saving) application.
Tell Me More
Who makes up the Megafind team?
There are four of us on the team, all sophomores studying computer science at UC Berkeley. Anthony enjoys playing Clash Royale, drums, and basketball in his free time. Kartik is wants to focus on consumer products, and when he’s not working, he enjoys swimming, watching basketball, and sampling tasty foods. Kian likes to play soccer is a fan of Barcelona. Last but not least, Ajay plays the saxophone and also enjoys playing tennis and basketball.
What’s the problem you were trying to solve?
Students waste time copying lecture slides without including their own personal notes. This also means they may get lost when looking at their notes later because they missed a key piece of information while copying down slides. We realized we might be able to create a web app that allowed students to use lecture time more efficiently to maximize learning.
How did your application solve this problem?
Megafind is a web app based platform for hosting live lecture sessions. Professors can begin a session that students in the lecture can join using some provided passcode. Upon joining the live session, students gain access to multiple features that provide an enhanced lecture experience. The dashboard has 3 main features:
- The first is simply the lecture slides embedded into the left half of their screen––this is for the students to follow along with the presentation.
- The right side contains two tabs. One is a live transcript of what the professor is saying that updates in real time. The app parses the professor’s words in real time to find relevant people, places etc. Each term deemed relevant has a hyperlink to additional resources. These keywords are also stored in a digest that we send at the end.
- The third feature is an in-browser note taker that begins the lecture with all the bullet points/text scraped from the presentation slides. This way, students can focus on putting their own thoughts/notes instead of simply copying the lecture bullets.
At the end of the lecture, Megafind sends each student a copy of their “lecture digest” which contains 3 parts:
- A summary of the lecture created by performing natural language understanding on the transcript
- The notes taken by the student in lecture
- Each keyword that we picked up on compiled into a list with a short summary of its definition (for study guides/quick reference)
Tell me more about the technologies that you chose to integrate with. What are they, and why did you choose these in particular?
Our web app uses live speech-to-text translation to convert the professor’s words into a transcript students can refer to during a lecture. While it is producing the text, our application uses entity extraction to pick out keywords and provide a hyperlink to more information about the highlighted content. To achieve this, we used Google’s Cloud Speech and Natural Language APIs to create this hyperlinked transcript. With this feature, students don’t need to worry about missing something the professor says. In addition, they can now refer to further resources about topics they might be unsure of.
We also used SparkPost’s email API to send each student their personal notes. Their notes were added onto the slide text, which was extracted via Google’s Slides API. The email also included a list of keywords from the entity extractor and a summary of the entire lecture. This simple but important feature allows students to keep a record of each lecture in one, single file.
What problems did you come up against while trying to build out the application?
Despite not knowing much Node.js, we persevered by asking mentors questions, checking Stack Overflow, and continually revising the code through both nights to fix our bugs. We didn’t want to stop until we had our application working exactly how we imagined it.
At the end of the day, we always love to see the creative ways that hackathon attendees choose to use SparkPost in their applications. Today, these students are solving day-to-day problems like how to keep up in class lectures, but we’re confident that the real-world skills that they learn at the hackathon will lead them to solve bigger problems down the road.
What have you been tinkering with lately? If you’ve used SparkPost in a cool way or recently integrated it into a project, we’d love to hear about it! Send us a note on Twitter or come chat about it in Community Slack.
Have you ever embarked on an adventure to learn a completely new skill set? Did it make you feel overwhelmed with no idea where to start? For many of our community members, that feeling is more common than you’d think. Tons of developers or coders didn’t originally start out on that path, and today we’re chatting with someone who’s making big waves and providing a ton of resources for newbies in the coding community.
Not too long ago, Saron was also new to coding. She worked for a few different start-ups, but became more and more interested in the product side of things — which required a more technical background. So Saron did what any motivated self-starter does — she vowed to teach herself. From there, she started her own bootcamp and conference to help others!
Today, Saron has built the CodeNewbie community, a growing network of over 15,000 people who join in on weekly twitter chats, listen to podcasts, attend CodeLand (check out Cole’s experience teaching a workshop) and exchange ideas with others working on projects in tech. Saron was gracious enough to share some insights on the community she’s built, her favorite part about her job, and advice for those just starting out. I hope you enjoy!
What’s your background in the tech world, how did you get started down this path?
I first got interested in tech after reading the Steve Jobs book. It was the first time I saw the connection between tech and more liberal artsy topics like design and psychology. I then read everything I could find about tech and startups, and eventually worked at a few startups. I worked primarily on the business side of things, but I was always more interested in the product. Because I didn’t have a technical background of any kind, I felt that the only way I could have a say in the product was if I invested in learning how to code. So I quit my job, taught myself for a few months then enrolled in a coding bootcamp.
Why did you start CodeNewbie?
When I started my coding bootcamp, I was surprised to find that I not only learned a lot, but gained a lot of confidence in what I already knew. I realized that when I was learning on my own, I’d been internalizing the natural failure that comes with coding, and interpreting my struggles as my own stupidity. But in my class, I saw that everyone was struggling! It removed so much of the emotional burden that I could actually focus on learning. The true benefit of the bootcamp was the community. But finding that community is hard if you don’t have $11K and can’t quit your job. So I wanted to create a way for everyone to have a supportive community, and that community is #CodeNewbie.
In your opinion, how important is community in the programming world?
It’s everything. Community is how you get out of your own way. It’s how you get jobs, opportunities, make friends, build partnerships, create meaningful change. I’m here today as a result of the incredibly kind community around me, and that’s what I hope to provide for others.
Why did you start the CodeNewbie podcast?
When I decided to do the CodeNewbie Podcast, I’d been doing the #CodeNewbie Twitter chat for about a year. I loved the chat. It was such a great way to connect people and start conversations. But it’s not a great medium for diving deep into a topic or a story. Since I’d previously worked at NPR, I thought that a podcast was a great way to focus on one story, one problem, one idea, and really explore it. Audio is such a flexible medium because it’s one of the few you can consume while partaking in other activities. I felt it was a great way to provide a weekly dose of knowledge and inspiration in the lives of our community members.
Which episode is your favorite so far and why?
This is tough! I’d have to say Season 1, Episode 2: “Building community in a virtual world: Moderation tools in VR Cameron Brown.” On a content level, I personally learned so much in that conversation and really appreciated the passion from Cameron. You can hear in his voice how much he loves creating a safe space for all. He talks so matter of factly about topics like diversity and inclusion, and how obviously important they are, in a way that I’ve never heard from a developer that absolutely blew me away. On a production level, I got to be more creative with the intro, so mixing that was lots of fun.
There are 150 episodes on the CodeNewbie podcast. For new listeners, where should they start?
It depends on their goal. If they’re looking to learn more about CodeNewbie in general and what we’re all about, definitely checkout the episode where my husband interviewed me. For job-hunting inspiration, I loved Paola’s incredibly powerful interview on her journey to finding a job. To hear how tech and society collide, I thought Carina’s episode on algorithms was brilliant. For an inspiring story on persistence and dedication, definitely checkout George Moore’s episode “Truck Driver.”
What are some great resources for all the CodeNewbies out there?
There are so many! The obvious ones are Codecademy, Coursera, Khan Academy. But there are also great communities like Girl Develop It, Women Who Code, RailsBridge, Hacker Hours, PyLadies.
Do you have any advice for people who want to begin their own journey in programming but don’t know how to start?
The rush of learning a new skill. The flush of success when you finally solve a problem that’s been plaguing you for hours. The thrill of building something from scratch, and watching it succeed. This is what drives many people to hackathons. Student or developer, community advocate or a brand new company, everyone has an exciting time and learns new skills.
Three years ago, it was this excitement that led Mike Swift and Jon Gottfried to found Major League Hacking. MLH is the world’s largest community of student developers, designers, makers, and community leaders on high school and college campuses.
Major League Hacking hosts over 250 hackathons per year. Furthermore, over 65,000 students participate in 15 different countries across North America and Europe. As school ramps up and organizers start thinking about their next big event, I sat down with co-founder Jon Gottfried to discuss the value of hackathons and what led him and Swift to found a company around them.
Hackathons: It’s Where the Creators are Congregating
One of the first questions I asked Jon was “What is a hackathon?”
He smiled knowingly and said, “There are a lot of assumptions for what a hackathon is. Some people think it’s a startup competition or a security thing. And some even think it’s an event that’s only for the most experienced hackers out there. But when we boil it down, a hackathon is an invention marathon. It’s a compressed, marathon-period of time where people come together and build new technology.”
At its core, hackathons, and the people who attend them, are changing the world as we know it. Jon acknowledged that it’s hard to keep up! “The types of things these students are working on, even as young as high school, are pretty impressive and bleeding-edge and mind-blowing,” he said.
“As time goes on, we’re only going to see more of those break-out companies and apps and new SDKs and APIs getting their start at hackathons, because ultimately, that’s where the creators are congregating. It’s where all of these really intelligent people are meeting their collaborators.”
A Long, Sleep-Deprived, Amazingly Exciting Weekend
It’s all true – a hackathon is a fun and exciting and invigorating place to spend the weekend. You’ll go home sleep-deprived and a little stinky. However, you’ll come away with new skills, having played with real-world, in-use technologies.
As Jon says, “curriculum lags behind actual real-world development, and being able to get Amazon Web Services for free, which you’re inevitably going to be using at your job in a few years is a fantastic opportunity.”
So there’s obvious value for the attendees, but what about for the companies sponsoring the event? There are two different categories of value that Jon laid out for me, depending on your role at an event. If you’re a recruiter, you’ll get a chance to see students showcasing not only the skills that they already know, but their ability to learn new skills and figure things out on the fly. This, as Jon says, is often a more valuable component of that trade.
If you’re a developer evangelist or someone from the product team, you’ll get to see someone using your product from start to finish. You’ll also be able to receive real-time feedback about your product’s UX, UI, and functionality.
Jon clarifies: “Companies can’t assume that just because someone uses you in their project that they’ll use your product in the real world anytime soon. But realistically, once you teach people how to be more awesome by using your product in their hacks, it becomes something that’s permanently part of their tool belt.”
How Major League Hacking Remains Community-First and Mission Driven
Major League Hacking is a Certified B Corp. This means they’re a for-profit company that is certified by non-profit B Labs. MLH meets rigorous standards when it comes to social and environmental performance, accountability, and transparency. Jon said, “It’s the perfect way to build something sustainable as well as creating something that is very devoted to its mission.”
Their mission is quite literally written into the company’s operating documents, which holds them to a higher standard than most. “It helps us maintain a level of understanding both inside and outside the company of what we need to do to uphold those values,” says Jon.
That’s not to say they need the B Corps standards to motivate them to put community first. Throughout the interview, it was obvious that the hacker community comes first in all things that Jon does with MLH.
“A lot of the things that we provide at events, the ways we talk about our community, the ways we talk to our community, is really in that vein of putting the hackers needs first, and finding ways to leverage our resources to make their lives better,” he says.
Why? “Because these are the people that are ultimately at the heart of this movement, and who at the end of the day, are creating all of these amazing things. At the end of the day, what we truly care about is how we’re serving these hackers.”
Hackathons & SparkPost
Hackathons are changing the world as we know it, but they’re doing it one company at a time. At SparkPost, we’ve had an opportunity to participate in quite a few different hackathons. The amount of feedback we’ve received from students and other companies alike is invaluable.
Connecting with students as they figure out what they’re building, why they’re building it, and how all of the pieces hook together is not only fun, it’s enlightening for us as a team. This gives us the opportunity to continue improving on our API to make it even better for years to come.
Interested in learning more about Major League Hacking or getting involved in one of their hackathons? See mlh.io for more information. Also, keep an eye on developers.sparkpost.com to see what hackathons we’ll be at in the near future.
One of the biggest benefits of open source programming is the ability to work with other talented developers that you may never meet in person. Being able to see what solutions other folks have already found can spark an idea that you or your team may not have thought of before. When faced with a transition to a whole new platform as many people were earlier this year, building on the solutions the community has already found can save you an invaluable amount of time.
It was this situation that our featured community member, Dave Goerlich, found himself in several months ago. He, along with the rest of his team at The Refinery, found a straightforward solution with the SparkPost Rails gem, originally built by Kevin Kimball. They’ve since built on top of the repo, adding enhancements based on their needs, as well as the needs of the community.
In addition to his Github contributions, Dave has become an active member of our community Slack channel, proving to be a true team player, one of the key tenants of being an open source programmer.
How long have you been a developer, and what got you started in the tech world?
I’ve been a professional software developer for over 25 years, however my first experience writing software was in 4th grade when I was one of a handful of kids that were sat down in front of some VIC-20s to learn some very basic (ha!) programming. It came very naturally for me. I peeked at the documentation and poked around a bit (okay, okay – I’ll stop with the puns), and found myself able to do things far beyond the scripted lesson we were working through. By the end of the session, I had the teacher asking me, “Oh, that’s cool! How did you make it do that?”
Influenced by my father’s technology-based career, programming was a regular hobby of mine from then until my junior year of high school when I enrolled in a beginning programming class. Noting that programming came easily for me, my teacher, Mr. Lyons, asked me if I’d ever considered software development as a major in college, and as a career path. I had never viewed programming as something that could be a job I could get paid to do. That one simple question started me down this amazing trail.
What led you to contribute to open source projects? What are some of the issues (pro or con) you’ve run into when contributing to open source work?
Open source projects are the foundation of Ruby development. My projects couldn’t be successful without the great contributions by many other developers. When I have the opportunity to give back to the community, I’m excited to be able to contribute. Probably one of the biggest issues in contributing to open source as the maintainer of Ruby gems is having vision for the gem that exceeds my team’s available time to invest into those projects. It can be frustrating, but it does open the door for other developers to add their contributions to our gem.
What’s your favorite language and why?
Over the years, I’ve written software in many languages and leveraged many frameworks. By far, Ruby has been my most favorite. It is a very elegant language, with an amazing open source community around it. Of all the languages I’ve worked in, Ruby has been the one I’ve fought with the least to accomplish my goals, and the first one in which I truly enjoy working in it.
What are you working on right now?
I am Co-CEO of The Refinery, and as the company has grown my responsibilities have changed considerably. I don’t get to write code for our clients nearly as much as I once did, but I do still enjoy working on internal projects such as the SparkPost Rails gem. Most of my coding comes as part of my side business, GreenBarHQ, an online event management and registration platform. It’s a family business with my father and brother, where I do get to handle all the software development.
How do you use email in your apps/projects?
For GreenBarHQ, and our client projects at The Refinery, our email usage is almost exclusively transactional.
How did you find SparkPost, and what led you to contribute to the SparkPost Rails gem?
As I’m sure with many, we found Sparkpost in our search for a replacement for Mandrill. We adopted the SparkPost Rails gem from Kevin Kimball, who had originally built a very basic version as part of a hackathon. His basic architecture of simply providing an ActionMailer delivery handler was exactly the fit we needed to make our transition from Mandrill easy. Our work on the gem, and the enhancements in functionality from Kevin’s original start were mostly driven by our implementation needs.
What are you passionate about outside of work?
I am an Eagle Scout, and still actively involved with our local BSA council. GreenBarHQ is originally built as an online management tool for Boy Scout summer camps, and I enjoy being able to give back to Scouting along with my father and brother in that way as well.
Recreationally, I play volleyball – leagues and tournaments – pretty much year round. I play indoor all winter, and through the summer I play beach as there are a number of venues here in the Cleveland area with great sand courts.
Thanks again for all of your contributions, Dave! We appreciate everything you’ve done to better our community and the SparkPost Rails gem!
One of our greatest joys here at SparkPost is creating tools and watching our community members run with them. From improving on what we’ve built, to creating SparkPost tutorials for other community members, to writing entire client libraries, it’s clear that we’ve got a talented group of people using our product. As our social media manager, it’s so incredible to see these tools and libraries evolve and ignite some great conversations online.
We’re continuing our community spotlight series today by sitting down with Chris Pitt, a community member that we first met at Fluent, who’s contributed to our community in a number of different ways. Aside from his What is SparkPost blog, he’s also featured SparkPost tutorials in a daily coding series on his YouTube channel – you can view “Sending Email with SparkPost” parts one, two and three there. Chris is an overall delight and a very talented developer. Enjoy!
How long have you been a developer, and what got you started in the tech world?
When I was younger I wanted to be an electrical engineer. My parents got a computer, and I started spending more and more time on it, mostly playing rogue-like games.
Later, they bought me a computer. By the time I finished school, I really wanted to do something with computer hardware. A family friend had a business selling, amongst other things, computer networking hardware. He had a website (which was a big thing at the time), so he convinced the agency managing it to let me “hang around” and watch what they were doing. I guess I just never left…
What do you like about being a developer?
I love learning new things. Programming gives me an out for that, because there are more new things happening all the time than there is time to learn all the new things.
What’s a myth about software development you wish you could dispel?
That it is too complex for some to learn. That belief turns many capable people away and becomes a goal-post for others. They chase complexity as a demonstration of how well they know the limitations of a language or the nuances it provides.
The best programmers I know thirst for simplicity. They set fire to their old code and habits. They realize how vital it is that others can understand what they’ve written.
Do you think having a developer’s mindset causes you to see solutions to non-technical problems in any particular way?
I think that depends on what you enjoy about programming. For some people, approaching things analytically is just natural. They are the kinds of people that have to solve a problem, when sometimes all you want is for them to hear you. On the other hand, having someone around who won’t quit until things are “just right” can be a source of sudden and unexpected progress.
For some people, the expression of creativity is the most compelling thing about programming. For those people, programming is just a learned expression of the tools they already have and use.
Any interesting examples come to mind?
I’m one of those people who wants to analyze everything. It takes a lot of effort to just listen, because I just want to fix all the things.
What does community mean to you as a developer?
It’s a matter of life and death to me. I often go back to an article called “The Ghost Who Codes” because it so accurately describes what I was like before I actively sought community with other developers. In it, Troy Hunt describes someone who takes and takes, never trying to give anything back. A person without a paper-trail. A ghost.
I can tell you exactly when I started to play an active part in the PHP community because it made such a difference to my enjoyment of programming, and my career growth as a result. It was when I joined my first user group, about half way through 2013.
Since then I’ve presented at ten conferences, published four books, and traveled the world. These are things I would not otherwise have had the support, encouragement, or ability to do without the community.
How do you like to communicate and socialize with other devs?
Meet-up groups and conferences are the best places to meet other programmers in person. For everything else I use Twitter. I would be in such trouble if it went down for good…
What are some of the issues (pro or con) you’ve run into when contributing to open source work?
People can be jerks sometimes. The weight of maintaining a successful open source project forces people to either be unresponsive or terse. Sometimes that terseness becomes rude. At that point it’s hard to continue being excited about contributing to that project…
What’s your favorite language and why?
What are you working on right now?
I’m spending a lot of my time writing these days. If you set aside my day job, I probably spend about 75% of my career time on writing. The rest I spend working on various open source tooling things, like undemanding testing frameworks and async PHP standards.
What’s in your dev toolkit?
I develop on a Mac, using PHPStorm for any serious PHP development, and Atom for everything else. PHP/MySQL is installed locally (no virtualization), as I find my Macbook too underpowered to run iTunes, Chrome, PHPStorm and VirtualBox all at the same time. Now that Docker (Beta) works without VirtualBox, maybe I’ll switch to using that. For hosting, I use Digital Ocean and Laravel Forge, for continuous integration, I use Travis and Scrutinizer.
How do you use email in your apps and projects?
Email is a huge part of account management. You can’t really build any substantial application, these days, without sending a few different types of transactional email. For a long time, the task of sending those emails fell to Mandril. Then they ended their free account support and in a panic I discovered SparkPost.
How did you find SparkPost?
I heard about SparkPost at a conference. They were one of the sponsors and were honest about their services and competitors. The kind of honest that made me want to check them out…
What led you to contribute and create the SparkPost tutorials live coding videos?
Streaming is a way for me to commit to learning something new every day. After the conference, I decided to write some code to talk to the API – a kind of alternative to the PHP client their already have. It was quite fun actually. You can check it out on YouTube, if you’re keen to see what I got up to.
What’s something you love/hate about email?
Setting up and maintaining a trusted email server is a pain. I love being able to use services like Gmail (for personal email) and SparkPost (for transactional email) and not have to worry about my mails bouncing. Ain’t nobody got time fo’ that!
What are you passionate about outside of work?
I have the best family. Don’t even try to argue! I enjoy hanging out with them and making them laugh.
Thank you, Chris, for taking the time to chat with us, and all of your contributions to the SparkPost community!
The community of developers working with SparkPost really has stepped up in the last few months: submitting pull requests, writing new client libraries, finding bugs, and helping each other out in our community Slack. They say you are the company you keep—well, if even a small bit of your collective awesomeness rubs off on us, we’ll know we’ve made it. 🙂
We’d like to show a little bit of love in return by highlighting some of the community members who’ve helped raise the bar for SparkPost and our tools. Today, I’ll start with Darren Cauthon, who contributed the SparkPost C# client library. I asked Darren to share a little bit of his point of view.
How long have you been a developer and what got you started in the tech world?
I’ve been a developer for over 15 years. I got started with tech in my sophomore year, right around the time my college forces students to pick a major. I thought about being a music teacher or going for a general “business” degree, but I remembered that programming in QA Basic in junior high was fun. So I signed up for my first C++ class and never looked back.
What do you like most about being a developer?
Working with all types of people to solve new problems. The tech is fun, but using it to solve actual problems that exist in reality makes it very fulfilling.
What led you to contribute to open source projects?
Two things. First, I got over the fear that my code wasn’t good enough. Second, I’ve found it’s hard to grow as a developer when I’m limited to solving the problems that my business has. Open source provides the opportunity to solve problems that I’d otherwise never think to solve, and it provides a chance to work with developers I’d otherwise never know.
How did you find SparkPost?
My company was about to deploy a new Mandrill solution when their big shakeup occurred. We looked for alternatives, and my boss noticed SparkPost due to your relationship with Port25 (which we used for other solutions).
What prompted you to create the C# client library for us?
I saw there wasn’t one, and I wanted the experience of writing the library. I’ve learned a lot about email processing and C# features while working on the library, and that’s knowledge I’d never have gained otherwise. I’ll be able to apply that knowledge to many more things than just this library.
What’s the hardest thing about contributing to an open source project?
Saying “no” to contributors. Sometimes someone may offer a pull request with a feature or change that doesn’t fit. I hate having to say “no” and reject what another developer has spent time writing. But luckily I haven’t had that problem with this library, as we’ve had a great group of developers contribute new features—and every contribution has fit.
What are you passionate about outside of work?
I have a great family, and raising kids is fun. I’ve been a tuba player for over twenty years, and I’m slowly working towards a black-belt in Tae Kwon Do. I have a 2016 resolution to beat Ninja Gaiden without dying, so I like older console gaming. But my first passion is still programming.
I was really glad to have a chance to talk with Darren and learn more about his point of view. His project really has been a great addition to the ways folks can use SparkPost. Thanks, Darren!
Do you have an idea or project to contribute to this great community of developers? Give us a shout on the SparkPost community Slack, and you might wind up in our new community features series.
p.s. you can check out another one of Darren’s C# libraries here.SparkPost © 2017 All Rights Reserved