Twilio SendGrid

Twilio SendGrid

Utilities / Communications / Transactional Email
Shared insights


Overview: To put it simply, we plan to use the MERN stack to build our web application. MongoDB will be used as our primary database. We will use ExpressJS alongside Node.js to set up our API endpoints. Additionally, we plan to use React to build our SPA on the client side and use Redis on the server side as our primary caching solution. Initially, while working on the project, we plan to deploy our server and client both on Heroku . However, Heroku is very limited and we will need the benefits of an Infrastructure as a Service so we will use Amazon EC2 to later deploy our final version of the application.

Serverside: nodemon will allow us to automatically restart a running instance of our node app when files changes take place. We decided to use MongoDB because it is a non relational database which uses the Document Object Model. This allows a lot of flexibility as compared to a RDMS like SQL which requires a very structural model of data that does not change too much. Another strength of MongoDB is its ease in scalability. We will use Mongoose along side MongoDB to model our application data. Additionally, we will host our MongoDB cluster remotely on MongoDB Atlas. Bcrypt will be used to encrypt user passwords that will be stored in the DB. This is to avoid the risks of storing plain text passwords. Moreover, we will use Cloudinary to store images uploaded by the user. We will also use the Twilio SendGrid API to enable automated emails sent by our application. To protect private API endpoints, we will use JSON Web Token and Passport. Also, PayPal will be used as a payment gateway to accept payments from users.

Client Side: As mentioned earlier, we will use React to build our SPA. React uses a virtual DOM which is very efficient in rendering a page. Also React will allow us to reuse components. Furthermore, it is very popular and there is a large community that uses React so it can be helpful if we run into issues. We also plan to make a cross platform mobile application later and using React will allow us to reuse a lot of our code with React Native. Redux will be used to manage state. Redux works great with React and will help us manage a global state in the app and avoid the complications of each component having its own state. Additionally, we will use Bootstrap components and custom CSS to style our app.

Other: Git will be used for version control. During the later stages of our project, we will use Google Analytics to collect useful data regarding user interactions. Moreover, Slack will be our primary communication tool. Also, we will use Visual Studio Code as our primary code editor because it is very light weight and has a wide variety of extensions that will boost productivity. Postman will be used to interact with and debug our API endpoints.

15 upvotes2 comments106.4K views

Firebase Go Ember.js React Native React GraphQL SendGrid MySQL

Emberjs for our admins panels using ember-apollo and react native using apollo too for our apps, using golang graphql, services like SendGrid to send all the emails, Conekta to for accepting credit cards, firebase for our auth with facebook, google, phone, etc...

4 upvotes3 comments49.1K views
Avatar of juliendefrance
Principal Software Engineer at Tophatter

Nexmo vs Twilio ?

Back in the early days at SmartZip Analytics, that evaluation had - for whatever reason - been made by Product Management. Some developers might have been consulted, but we hadn't made the final call and some key engineering aspects of it were omitted.

When revamping the platform, I made sure to flip the decision process how it should be. Business provided an input but Engineering lead the way and has the final say on all implementation matters. My engineers and I decided on re-evaluating the criteria and vendor selection. Not only did we need SMS support, but were we not thinking about #VoiceAndSms support as the use cases evolved.

Also, on an engineering standpoint, SDK mattered. Nexmo didn't have any. Twilio did. No-one would ever want to re-build from scratch integration layers vendors should naturally come up with and provide their customers with.

Twilio won on all fronts. Including costs and implementation timelines. No-one even noticed the vendor switch.

Many years later, Twilio demonstrated its position as a leader by holding conferences in the Bay Area, announcing features like Twilio Functions. Even acquired Authy which we also used for 2FA. Twilio's growth has been amazing. Its recent acquisition of SendGrid continues to show it.

3 upvotes366.5K views
Avatar of itsRems
Student at RocketPlay

We use JavaScript in both our #Frontend and #Backend. Front-End wise, we're using tools like Vue.js , Webpack (for dev & building), pulsejs . For delivering the content, we push to GitLab & use GitLab CI (running on our own Ubuntu machine) to install (with npm) our packages, build the app trough Webpack and finally push it to our nginx server via a folder. From there, use accessing the website will get cached content thanks to CloudFlare. Back-End wise, we again use JavaScript with tools such as ExpressJS (http server), Sequelize (database, server running on PostgreSQL ) but also JSON Web Token with passport to authenticate our users. Same process used in front-end is used for back-end, we just copy files to a dist where PM2 watches for any change made to the Node.js app. Traffic doesn't go trough CloudFlare for upload process reasons but our nginx reverse proxy handles the request (which do go trough CloudFlare SSL-wise, since we're using their ns servers with our OVH domain.) Other utils we use are SendGrid for email sending & obviously HTML5 for the base Vue.js app. I hope this article will tell you more about the Tech we use here at RocketPlay :p

3 upvotes62.5K views
Avatar of juliendefrance
Principal Software Engineer at Tophatter

I was at some point looking for a way to loadtest some of my environments, staging initially, but including production as well, ultimately, to ensure our ability to scale when facing sudden bursts of requests, and understand how it would impact our load balancers, our instances, our database server... etc.

I came across , a service by SendGrid labs which not only allowed my team and I to loadtest our API endpoints but also simulate actual user traffic on our website.


3 upvotes42.6K views
Avatar of CalumJEadie
Product Engineer at accuRx

We use SendGrid for sending transactional emails to the users of our Chain SMS service. This includes emails like verifying your email address, welcome emails and password reset emails.

We recently switched from sending emails using an Microsoft Office 365 email account to using SendGrid. Here we've changed our approach from consuming a lower level capability (we used an SMTP interface to the Office 365 account) to consuming the higher level SendGrid service which we interact with using their C# client library.

We gradually rolled out the change to our user base and measured the % of users confirming their email address to estimate email delivery, we found SendGrid performed at least as well as an Office 365 account.

We found using more advanced email confirmation (SPF, DKIM, etc.) has made a significant improvement to delivery rate (increased the delivery rate by 10%).

We've also found that the email activity feature in SendGrid (which shows whether an email has been delivered, bounced etc) is particularly useful and has helped us learn more about how emails can go wrong (e.g. hard/soft bounce).

3 upvotes23.6K views

SendGrid came to our attention as a great way of handling outgoing e-mail communication. Mass capabilities, spam handling and the sheer power of MailChimp as a vendor made our decision here. SendGrid

1 upvote4.5K views