9 |
10 | A crowdsourced collection of **tips**, **apps** and **workflows** to be better at email.
11 |
12 | ### 🚀 Contribute your tip
13 |
14 | All the content for the site lives in `content.js`. Just edit that file to [contribute content to the site](https://github.com/superlinear-hq/inboxzero-web/edit/master/content.js).
15 |
16 |
17 |
18 | Built with [Gatsby](https://www.gatsbyjs.org), [Framer Motion](https://www.framer.com/motion/) and deployed on [Zeit](https://zeit.co).
19 |
20 | Thanks [Pat Walls](https://twitter.com/thepatwalls) for the feedback and support while making this project.
21 |
--------------------------------------------------------------------------------
/content.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This file contains all the tips and apps of https://inboxze.ro
3 | *
4 | * 💡 CONTRIBUTE:
5 | *
6 | * - Add your tip to the BOTTOM of this file.
7 | * - In the "avatar" field you can specify a username, email address or domain (we use unavatar.now.sh)
8 | * - Get a unique id to use for each tip: https://www.random.org/strings/?num=1&len=8&digits=on&loweralpha=on&unique=on&format=plain&rnd=new
9 | * - You can use markdown in the tips body. If you use _emphasis_, text will be highlighted in the site (use this sparsely).
10 | * - Use `source_url` by default, and only use `url` when visiting the link is required to learn more about the tip/workflow.
11 | *
12 | * - Use one of these tags:
13 | * - tip
14 | * - app
15 | * - advice
16 | * - opinion
17 | * - extension
18 | *
19 | * 📩 SOURCES:
20 | *
21 | * Some content doesn't has a source. That's because some people were so kind
22 | * to send us private messages with their tips and takes on email.
23 | *
24 | * So thank you to DHH, Kitze, Rich Vreeland, Manuel Frigerio and Marc Köhlbrugge for their messages.
25 | *
26 | */
27 |
28 | export const content = [
29 | {
30 | id: "c5i1j2um",
31 | tag: "advice",
32 | author: {
33 | name: "Naval Ravikant",
34 | avatar: "twitter/naval",
35 | bio: "Entrepreneur, AngelList Co-Founder",
36 | },
37 | body: "If you can’t delete an email without flinching or responding, you won’t scale.",
38 | source_url: "https://twitter.com/naval/status/1012396688349192192?s=20",
39 | },
40 | {
41 | id: "8ujxxbrl",
42 | tag: "advice",
43 | author: {
44 | name: "James Hamblin",
45 | avatar: "twitter/jameshamblin",
46 | bio: "Staff Writer The Atlantic",
47 | },
48 | body:
49 | "Best? Cheers? Thanks?\n\n_None of the above._ You can write your name if it feels too naked or abrupt not to have something down there. But it shouldn’t, and it wouldn’t if it were the norm.",
50 | source_url: "https://www.theatlantic.com/health/archive/2016/09/brevity-in-email/501986/",
51 | },
52 | {
53 | id: "v64tehbe",
54 | tag: "tip",
55 | author: {
56 | name: "Peter Shankman",
57 | avatar: "twitter/petershankman",
58 | bio: "Author, Entrepreneur, and PR Strategist",
59 | },
60 | body: `_Subject lines are EVERYTHING_, and they simply MUST include a benefit to the reader.`,
61 | source_url: "https://www.shankman.com/how-to-send-an-email-to-me-or-anyone-and-guarantee-it-will-be-read/",
62 | },
63 | {
64 | id: "9xxefltv",
65 | tag: "opinion",
66 | author: {
67 | name: "Pat Walls",
68 | avatar: "twitter/thepatwalls",
69 | bio: "Founder Starter Story & Pigeon",
70 | },
71 | body: `“Email is dead” is the greatest lie in the tech industry.`,
72 | source_url: "https://www.gmass.co/gmailgenius/how-i-email-pat-walls/",
73 | },
74 | {
75 | id: "0db5tzie",
76 | tag: "app",
77 | author: {
78 | name: "Mailbrew",
79 | avatar: "twitter/mailbrew",
80 | bio: "Automated digests on things you love.",
81 | },
82 | body:
83 | "Personalized email digest from your favorite sources. Like RSS but better, with support for YouTube, Hacker News, Twitter, and more.",
84 | preview_image: "https://superlinear-assets.s3.us-east-1.amazonaws.com/inboxzero/mailbrew.png",
85 | offer: {
86 | title: "40% OFF for 3 Months",
87 | subtitle: "Click here to claim the discount",
88 | url: "https://mailbrew.com/?coupon=K9h1JrBP",
89 | },
90 | },
91 | {
92 | id: "j3ir7629",
93 | tag: "opinion",
94 | author: {
95 | name: "DHH",
96 | avatar: "twitter/dhh",
97 | bio: "Basecamp Co-Founder",
98 | },
99 | body: `Inbox zero is a fool's errand.\n\nIt puts you on the treadmill of dealing with every email as soon as it comes in, and even make that appear like the organized, virtuous thing to do. But it's not.\n\n_All email is not important_. In fact, most of it is not important! I savor my [Mailbrews](https://mailbrew.com) exactly because they're not urgent. I don't try to read it all as soon as it hits my inbox.\n\nThis has been a primary mission for our new email product [Hey](https://hey.com) – get you off the inbox-zero treadmill, and back to loving email, because you're reading the important stuff urgently, and the leisurely stuff when you have time.\n\nNo stress, no shame.`,
100 | },
101 | {
102 | id: "2dnug8c1",
103 | tag: "tip",
104 | author: {
105 | name: "Brendan Hufford",
106 | avatar: "twitter/BrendanHufford",
107 | bio: "Creator, SEO for the Rest of Us",
108 | },
109 | body: `Emails are either answered immediately, starred for later, forwarded to a teammate, or deleted. Following the [Eisenhower Box](https://jamesclear.com/eisenhower-box).`,
110 | source_url: "https://www.gmass.co/gmailgenius/how-i-email-brendan-hufford/",
111 | },
112 | {
113 | id: "s4h604vl",
114 | tag: "advice",
115 | author: {
116 | name: "Naval Ravikant",
117 | avatar: "twitter/naval",
118 | bio: "Entrepreneur, AngelList Co-Founder",
119 | },
120 | body:
121 | "Note to world — 95% of what you want to meet for can be easily handled in a 5-minute email exchange. Be efficient!",
122 | source_url: "https://twitter.com/naval/status/203644276645707776?s=20",
123 | },
124 | {
125 | id: "xtlf27uv",
126 | tag: "advice",
127 | author: {
128 | name: "Glyph",
129 | avatar: "twitter/glyph",
130 | bio: "Programmer, creator of Twisted",
131 | },
132 | body:
133 | "The trick about getting to Inbox Zero is not in somehow becoming an email-reading machine, but in _realizing that most email is worthless, and that’s OK_.\n\nIf you’re not going to do anything with it, just archive it and forget about it.",
134 | source_url: "https://glyph.twistedmatrix.com/2016/04/email-isnt-the-problem.html",
135 | },
136 | {
137 | id: "tobb0mdr",
138 | tag: "opinion",
139 | author: {
140 | name: "Paul Graham",
141 | avatar: "twitter/paulg",
142 | bio: "Y-Combinator Co-Founder",
143 | },
144 | body: "Slack fixed the chat half of email. _I'm still waiting for a startup to fix the todo-list half._",
145 | source_url: "https://twitter.com/paulg/status/737100366563549184?s=21",
146 | },
147 | {
148 | id: "k29pqdcr",
149 | tag: "advice",
150 | author: {
151 | name: "Michael Seibel",
152 | avatar: "twitter/mwseibel",
153 | bio: "CEO at Y Combinator",
154 | },
155 | body:
156 | "As an early stage investor I want to help startups succeed. If you email me – or anyone, really – your job is to succinctly communicate your situation and how I can help.\n\n_Clearly explain what you do._\n\nAvoid any jargon or complex terms. Remember, I’m probably not using 100% of my brain when reading your email so optimize for that. I’m sorry if this sounds like I’m disrespecting your communication. That is not my intention. It’s just that I check my email all the time and I cannot guarantee that I won’t be distracted or that my mind won’t be focused on other things.",
157 | source: "https://blog.ycombinator.com/how-to-email-early-stage-investors/",
158 | label: "Read the article",
159 | },
160 | {
161 | id: "nckucbst",
162 | tag: "opinion",
163 | author: {
164 | name: "Alexis C. Madrigal",
165 | avatar: "twitter/alexismadrigal",
166 | bio: "Staff Writer The Atlantic",
167 | },
168 | body:
169 | "_Email is actually a tremendous, decentralized, open platform_ on which new, innovative things can and have been built. In that way, email represents a different model from the closed ecosystems we see proliferating across our computers and devices.\n\nEmail is a refugee from the open, interoperable, less-controlled 'web we lost.' It's an exciting landscape of freedom amidst the walled gardens of social networking and messaging services.\n\nYes, email is exciting. Get excited!",
170 | url: "https://www.theatlantic.com/technology/archive/2014/08/why-email-will-never-die/375973/",
171 | label: "Read Essay",
172 | },
173 | {
174 | id: "uj2ecty5",
175 | tag: "advice",
176 | author: {
177 | name: "Marc Kaöhlbrugge",
178 | avatar: "twitter/marckohlbrugge",
179 | bio: "Founder of W.I.P.",
180 | },
181 | body: "Keep your replies short and sweet.",
182 | },
183 | {
184 | id: "apratzxq",
185 | tag: "opinion",
186 | author: {
187 | name: "Mathilde Collin",
188 | avatar: "twitter/collinmathilde",
189 | bio: "CEO @ Front",
190 | },
191 | body:
192 | "Yes, email is being replaced for some types of communication. It’s nothing to be worried about.\n\nWe have more choices for how to communicate today, and can cherry-pick the best tool for every situation. _It doesn’t mean email is dying._ It simply means that the communication ecosystem has expanded.",
193 | source_url: "https://medium.com/@collinmathilde/email-will-last-forever-eaf3ea6e2196",
194 | label: "Read Essay",
195 | },
196 | {
197 | id: "l9bdawt4",
198 | tag: "advice",
199 | author: {
200 | name: "Matt Might",
201 | avatar: "twitter/mattmight",
202 | bio: "Director, Hugh Kaul Precision Medicine Inst.",
203 | },
204 | body:
205 | "_If the entire email fits in the subject, put it in the subject._\n\nIf you think that's rude, it's not.\n\nIf you insist that it's rude, put 'Thanks!' in the body.\n\nIf the email fits in the subject, it takes a click out of processing it, and raises the probability of a reply.",
206 | source: "http://matt.might.net/articles/how-to-email/",
207 | label: "How to send and reply to email",
208 | },
209 | {
210 | id: "589etf84",
211 | tag: "advice",
212 | author: {
213 | name: "Kitze",
214 | avatar: "kitze.io",
215 | bio: "Founder React Academy",
216 | },
217 | body: "_Turn off all email notifications._ Phone, desktop, literally everywhere. You'll be fine.",
218 | },
219 | {
220 | id: "pwfg01t4",
221 | tag: "tip",
222 | author: {
223 | name: "Pat Walls",
224 | avatar: "twitter/thepatwalls",
225 | bio: "Founder Starter Story & Pigeon",
226 | },
227 | body: `Need to do something every Tuesday at 1 PM? I set a Google Calendar event and turn email notifications on.\n\nForget push notifications, I treat email as the central source for these tasks so I never miss them.`,
228 | source_url: "https://www.gmass.co/gmailgenius/how-i-email-pat-walls/",
229 | },
230 | {
231 | id: "u28lx4zr",
232 | tag: "tip",
233 | author: {
234 | name: "Fabrizio Rinaldi",
235 | avatar: "twitter/linuz90",
236 | bio: "Co-Founder Mailbrew & Boxy Suite",
237 | },
238 | body: `A few months ago I've decided to always press unsubscribe or mark as spam if I'm not interested in an email.\n\nSince then, my inbox has become progressively cleaner, and now I hit inbox zero every few days effortlessly.\n\n_You need to unsubscribe ruthlessly._`,
239 | },
240 | {
241 | id: "6acgyamv",
242 | tag: "app",
243 | author: {
244 | name: "Sanebox",
245 | avatar: "twitter/sanebox",
246 | bio: "Your Inbox Perfected.",
247 | },
248 | body:
249 | "SaneBox AI identifies important messages, hides distractions, has Do Not Disturb, banishes annoying senders, reminds you to followup and more...",
250 | preview_image:
251 | "https://assets.sanebox.com/assets/welcome/illustration-whiteboard-abe59cf7d9dff01f867f84ddfef03efd5ec2d161f8f7400c8b5a945b967c7de4.png",
252 | offer: {
253 | title: "$25 credit",
254 | subtitle: `Click to redeem`,
255 | url: "https://www.sanebox.com/mailbrew",
256 | },
257 | },
258 | {
259 | id: "1am7ezzm",
260 | tag: "tip",
261 | author: {
262 | name: "Francesco Di Lorenzo",
263 | avatar: "twitter/frankdilo",
264 | bio: "Co-Founder Mailbrew & Boxy Suite",
265 | },
266 | body: `Use a _dedicated email address for newsletters_, something like frank+news@gmail.com (note the "+news" part).\n\nThanks to a Gmail filter I created, emails directed to that address never hit my inbox and go to a dedicated label that I browse when I want to read them.`,
267 | },
268 | {
269 | id: "cjz4ignh",
270 | tag: "tip",
271 | author: {
272 | name: "Manuel Frigerio",
273 | avatar: "twitter/manuel_frigerio",
274 | bio: "Founder of ReferralHero, SparkLoop",
275 | },
276 | body:
277 | "I’ve created a Gmail filter that matches the address of all newsletter I follow (using the OR operator to do it in a single query). This filter applies a “newsletters” label to each matching email and archives it.\n\nI only check this label once a week.",
278 | },
279 | {
280 | id: "h1q0fvf7",
281 | tag: "extension",
282 | author: {
283 | name: "Rich Vreenland",
284 | avatar: "richvreeland",
285 | bio: "Composer of “It Follows” soundtrack",
286 | },
287 | body:
288 | "I use a Chrome extension called 'Inbox When Ready' which will hide my inbox by default after a certain period of time, to add an extra step to prevent compulsive e-mail checking.\n\nYou can even lock yourself out of it after a certain number of attempts per day, but I felt that was too restrictive for me.",
289 | chrome_extension: {
290 | title: "Inbox When Ready",
291 | url: "https://inboxwhenready.org/",
292 | icon:
293 | "https://lh3.googleusercontent.com/QkFKUeSsig0JNrIA936iV5C8vdD7c51jmz6FjevlBbJUFaSXuIGteqV1Yge0jzFmkvGb5Xho=w128-h128-e365",
294 | },
295 | },
296 | {
297 | id: "of6jsxq1",
298 | tag: "tip",
299 | author: {
300 | name: "Tim Sneath",
301 | avatar: "twitter/timsneath",
302 | bio: "Product Manager for Flutter & Dart",
303 | },
304 | body:
305 | "Moving emails out of the inbox is no good if it simply hides them from sight. It’s critical that they’re visible.\n\nSo I rely on the [Multiple Inboxes feature](https://gsuite.google.com/learning-center/products/gmail/choose-inbox-type/#!/section-4) in Gmail to ensure that three key folders are in view:\n\n* Follow Up\n\n* Waiting\n\n* Read Through.\n\nMultiple Inboxes has been around for a while in Gmail, but only recently graduated from the experimental Labs area. You can enable it from the Advanced tab under Settings.",
306 | preview_image: "https://miro.medium.com/max/2000/1*M1DUvFWbHbX4JbUSSGhjYA.png",
307 | source_url: "https://medium.com/@timsneath/zero-inbox-94b326683183",
308 | },
309 | {
310 | id: "szjvyo4o",
311 | tag: "opinion",
312 | author: {
313 | name: "James Hamblin",
314 | avatar: "twitter/jameshamblin",
315 | bio: "Staff Writer The Atlantic",
316 | },
317 | body:
318 | "Aspiring to inbox zero—an empty inbox, perfectly clean and organized and contained—is for most people some mythical idea. The world seems to be conspiring to keep it from happening. And _obsessing over it can be totally counterproductive_ if it means you give priority to emails that don’t deserve your attention at the moment.\n\nBut inbox zero is totally possible if you add emails to a to-do list, along with all other worldly tasks, that you can keep prioritized according to what you really need to get done. What you really want out of any given day, week, or lifetime. Which is rarely to be beholden to the whims of an inbox.",
319 | source_url: "https://www.theatlantic.com/health/archive/2016/09/brevity-in-email/501986/",
320 | },
321 | {
322 | id: "kcbqjw7x",
323 | tag: "opinion",
324 | author: {
325 | name: "New York Times",
326 | avatar: "twitter/nytimes",
327 | bio: "Kostadin Kushlev and Elizabeth W. Dunn",
328 | },
329 | body:
330 | "Cutting back on email might reduce stress as much as picturing yourself swimming in the warm waters of a tropical island several times a day.",
331 | url: "https://www.nytimes.com/2015/01/11/opinion/sunday/stop-checking-email-so-often.html",
332 | label: "Read the study",
333 | },
334 | {
335 | id: "zerywvyz",
336 | tag: "app",
337 | author: {
338 | name: "Boxy Suite",
339 | avatar: "twitter/getboxy",
340 | bio: "Gmail, redesigned for Mac.",
341 | },
342 | body:
343 | "Multitasking kills productivity, and doing email in your browser is a recipe for disaster.\n\nBoxy Suite brings Gmail, Calendar and other G Suite apps to your Mac, with single-purpose apps that look and feel native.",
344 | preview_image: "https://superlinear-assets.s3.us-east-1.amazonaws.com/inboxzero/boxy-suite.png",
345 | offer: {
346 | title: "20% OFF",
347 | subtitle: "Click here to claim the discount",
348 | url: "https://boxysuite.com/?coupon=inboxzero",
349 | },
350 | },
351 | {
352 | id: "p4zdy4cd",
353 | tag: "advice",
354 | author: {
355 | name: "Paul Graham",
356 | avatar: "twitter/paulg",
357 | bio: "Y-Combinator Co-Founder",
358 | },
359 | body:
360 | "There are many ways to fight spam. Which works best?\n\nSo far the best single solution is probably Bayesian filtering. But you don't have to choose just one. Many of the following solutions could be used in combination.",
361 | url: "http://www.paulgraham.com/stopspam.html",
362 | label: "Read the essay",
363 | },
364 | {
365 | id: "fqx7o672",
366 | tag: "opinion",
367 | author: {
368 | name: "Brod Gondwana",
369 | avatar: "twitter/brongondwana",
370 | bio: "CEO at Fastmail",
371 | },
372 | body:
373 | "The email in your mailbox is _your copy of what was said_, and nobody else can change it or make it go away.\n\nThe fact that the content of an email can’t be edited is one of the best things about POP3 and IMAP email standards. I admit it annoyed me when I first ran into it – why can’t you just fix up a message in place – but the immutability is the real strength of email.\n\nYou can safely forget the detail of something that you read in an email, knowing that when you go back to look at it, the information will be exactly the same.",
374 | source_url: "https://fastmail.blog/2018/02/14/email-is-your-electronic-memory/",
375 | label: "Read blog post",
376 | },
377 | {
378 | id: "qskiwa9h",
379 | tag: "opinion",
380 | author: {
381 | name: "Ryan Hoover",
382 | avatar: "twitter/rrhoover",
383 | bio: "Product Hunt Founder",
384 | },
385 | body:
386 | "I never understood inbox zero.\n\nEvery email isn’t more important than all the other commitments I’ve made.",
387 | source_url: "https://twitter.com/rrhoover/status/1167874754532917252",
388 | },
389 | {
390 | id: "erpxshiu",
391 | tag: "tip",
392 | author: {
393 | name: "Keith Rarick",
394 | avatar: "twitter/krarick",
395 | bio: "Programmer",
396 | },
397 | body: "Mute. Heavily. The 'm' shortcut key is your friend.",
398 | url: "https://xph.us/2013/01/22/inbox-zero-for-life.html",
399 | label: "Read more tips & shortcuts",
400 | },
401 | {
402 | id: "imlnicr3",
403 | tag: "advice",
404 | author: {
405 | name: "Michael Waxman",
406 | avatar: "twitter/wxmn",
407 | bio: "Founder of Grouper",
408 | },
409 | body:
410 | "This widely circulated system for using Gmail from Andreas Klinger was the tipping point. It takes about 15 minutes to set up, and gives you a thoughtful, efficient system for plowing through your inbox.\n\nThe system itself is great, but I found that just having a system at all made it a lot easier to dive in to a full inbox.",
411 | source_url: "http://waxman.me/30-days-of-inbox-zero-how-i-did-it",
412 | url: "https://klinger.io/post/71640845938/dont-drown-in-email-how-to-use-gmail-more",
413 | label: "Read about this system",
414 | },
415 | {
416 | id: "742ds0t7",
417 | tag: "tip",
418 | author: {
419 | name: "Kitze",
420 | avatar: "kitze.io",
421 | bio: "Founder React Academy",
422 | },
423 | body:
424 | 'Check and answer emails once per day.\n\nMark emails that can wait with a "fluff" label and answer them during the weekend.',
425 | },
426 | {
427 | id: "75yrc814",
428 | tag: "advice",
429 | author: {
430 | name: "Ja Raphael",
431 | avatar: "twitter/jrraphael",
432 | bio: "Writer Android Intelligence, Fast Company and more",
433 | },
434 | body:
435 | "For every email you encounter, choose from the following fast-triage options:\n\n* If a message requires no action on your behalf, archive it immediately.\n\n* If a message requires a simple reply that you can knock out in a minute or less, respond right then and there—and then archive it immediately.\n\n* If a message requires some level of thought or response that you can’t get to right away, snooze it to a time and date when you will be able to handle it—whether it’s later that same day, sometime the following week, or on a Friday two months down the road.",
436 | url: "https://www.fastcompany.com/40507663/the-7-step-guide-to-achieving-inbox-zero-and-staying-there-in-2018",
437 | label: "Read the guide to inbox zero",
438 | },
439 | {
440 | id: "ageyw1qv",
441 | tag: "tip",
442 | author: {
443 | name: "Rich Vreenland",
444 | avatar: "richvreeland",
445 | bio: "Composer of “It Follows” soundtrack",
446 | },
447 | body:
448 | "I use auto-advance (a Gmail setting) to make it easier to work through mail, send/delete/archive anything easily actionable, and snooze anything that I can't address this week.\n\nIt's easy this way to use the default keyboard shortcuts to quickly breeze through e-mail.",
449 | },
450 | {
451 | id: "mty8e531",
452 | tag: "app",
453 | author: {
454 | name: "Leave Me Alone",
455 | avatar: "twitter/leavemealoneapp",
456 | bio: "Unsubscribe from unwanted emails.",
457 | },
458 | body: "See all of your subscription emails in one place and unsubscribe from them with a single click.",
459 | preview_image: "https://cdn-b.leavemealone.app/assets/mail-list-desktop.png",
460 | offer: {
461 | title: "10% OFF",
462 | subtitle: `Use "INBOX_ZERO" at checkout`,
463 | url: "https://leavemealone.app/",
464 | },
465 | },
466 | {
467 | id: "skpjf90r",
468 | tag: "app",
469 | author: {
470 | name: "Pigeon",
471 | avatar: "twitter/trypigeon",
472 | bio: "Powerful CRM inside Gmail.",
473 | },
474 | body:
475 | "Your business runs on email - so why are you using tools that don't integrate with it?\n\nGet replies, close deals, and attract customers. All inside Gmail.",
476 | preview_image: "https://s3.amazonaws.com/www.trypigeon.co/homepage/gmail-thread-2.png",
477 | chrome_extension: {
478 | title: "Pigeon for Gmail",
479 | url: "https://chrome.google.com/webstore/detail/pigeon-for-gmail/ggflodpkeedjmjepigkckjmhcbhlflng?hl=en",
480 | icon:
481 | "https://lh3.googleusercontent.com/-Tm5zlsGljfFhGXAmb9VVKspSuIsgZKasUaSNZZt7l9q3MSOimjpSeGZbvxN0pU2N42OMh5BpQ=w128-h128-e365",
482 | },
483 | },
484 | {
485 | id: "5pdccp95",
486 | tag: "app",
487 | author: {
488 | name: "Tempo",
489 | avatar: "twitter/your__tempo",
490 | bio: "The email client that helps you focus.",
491 | },
492 | body:
493 | "Effortlessly sort email around your schedule. Mark important ones as To-Do, then archive or snooze the rest. Enjoy communicating in a minimal and elegant interface.\n\nHelping you hit Inbox Zero at your Tempo.\n\nMade by a small team, with maximum love.",
494 | preview_image:
495 | "https://uploads-ssl.webflow.com/59c3a820387ac60001b24d4d/5b913d408065b633fe9ab88d_focus-mode-p-2000.png",
496 | offer: {
497 | title: "30% OFF for 3 months",
498 | subtitle: `Click to request`,
499 | url: "https://www.yourtempo.co/friend-of-the-app",
500 | },
501 | },
502 | {
503 | id: "43avkdi5",
504 | tag: "tip",
505 | author: {
506 | name: "Andrew Mellen",
507 | avatar: "twitter/andrewjmellen",
508 | bio: "Professional Organizer",
509 | },
510 | body: `Always _update the subject line when you’re changing thread_ or content. Don’t allow threads to carry over for months. With subject lines, always use complete information. Try to avoid being vague with phrases like “checking in” or “update,” instead write “update on the Jones project.” It’ll save you and the recipient time because you won’t have to guess what’s inside the email.`,
511 | source_url: "https://www.gmass.co/gmailgenius/how-i-email-andrew-mellen/",
512 | },
513 | {
514 | id: "53khm0uz",
515 | tag: "opinion",
516 | author: {
517 | name: "Paul Graham",
518 | avatar: "twitter/paulg",
519 | bio: "Y-Combinator Co-Founder",
520 | },
521 | body: `Every time I get an email saying "just bumping this up in your inbox," it reminds me of the huge startup that's missing.`,
522 | source_url: "https://twitter.com/paulg/status/1220313659089571847?s=21",
523 | },
524 | {
525 | id: "z4fnnxov",
526 | tag: "opinion",
527 | author: {
528 | name: "Andrew Lyon",
529 | avatar: "twitter/killltheradio",
530 | bio: "Founder Turtl",
531 | },
532 | body:
533 | "We need to view email as a framework, not an application. It is used for sending messages. That's it. It does this reliably and predictably.\n\nReplacing email with 'smarter' features will inevitably leave people out. I understand the desire to have email just be one huge TODO list. But sometimes I just want to send a fucking message, not 'make a TODO.' Boom, I just 'broke' the new email.\n\n_Email works because it does nothing but messaging._",
534 | source_url: "https://killtheradio.net/technology/email-is-not-broken-its-a-framework-not-an-application/",
535 | },
536 | {
537 | id: "69l3kl5g",
538 | tag: "app",
539 | author: {
540 | name: "Diary Email",
541 | image: "https://diaryemail.com/favicon-96x96.png",
542 | bio: "Email as your diary.",
543 | },
544 | body:
545 | "Diary Email is a calm place to capture your life and share the best moments with your friends. No big brother is trying to get into your head to sell you more stuff.",
546 | preview_image: "https://diaryemail.com/card.png",
547 | offer: {
548 | title: "30% OFF",
549 | subtitle: `Enter "ZEROINBOX" during checkout`,
550 | url: "https://diaryemail.com/",
551 | },
552 | },
553 | {
554 | id: "6ip8wgwy",
555 | tag: "app",
556 | author: {
557 | name: "Kitze",
558 | avatar: "kitze.io",
559 | bio: "Founder React Academy",
560 | },
561 | body: `Gmail is overrated.\n\nUse Missive instead of Gmail, especially if you have an assistant or a team answering your emails, it's amazing.`,
562 | url: "https://missiveapp.com",
563 | preview_image:
564 | "https://d35aizeh8x21c1.cloudfront.net/assets/home/feature-overview-light@2x-04225cd8b0712688acdbbb93b81653961209b96b2e58efea80bd32fb770efdd9.png",
565 | },
566 | {
567 | id: "lmivwwg2",
568 | tag: "app",
569 | author: {
570 | name: "Peter Shankman",
571 | avatar: "twitter/petershankman",
572 | bio: "Author, Entrepreneur, and PR Strategist",
573 | },
574 | body: `The number one tool I use probably 20 times a day is FollowUpThen.\n\n I can forward any email I want right to them, specify when I want to follow up, and they will send it back then.`,
575 | url: "https://www.followupthen.com/",
576 | source_url: "https://www.gmass.co/gmailgenius/email-peter-shankman/",
577 | },
578 | {
579 | id: "fv8h17wr",
580 | tag: "app",
581 | author: {
582 | name: "FollowUpThen",
583 | avatar: "twitter/followupthen",
584 | bio: "Easily schedule email reminders",
585 | },
586 | body: "Forward an email to FollowUpThen and get it back in your inbox when you want to take action on it.",
587 | offer: {
588 | title: "$5 off any plan",
589 | subtitle: "Click here to claim the discount",
590 | url: "https://www.followupthen.com/?coupon=inboxze_ro",
591 | },
592 | },
593 | {
594 | id: "1s3fmslu",
595 | tag: "extension",
596 | author: {
597 | name: "Hide Feed",
598 | image: "https://www.hidefeed.com/inboxze.ro/logo.png",
599 | bio: "Get things done without distractions.",
600 | },
601 | body:
602 | "Checking your email too often? Want to read and write emails without getting distracted by all the new ones?\n\nHide your inbox by default and stay focused.",
603 | preview_image: "https://www.hidefeed.com/inboxze.ro/preview.png",
604 | chrome_extension: {
605 | title: "Hide Feed",
606 | url: "https://www.hidefeed.com/?ref=inboxze.ro",
607 | icon: "https://www.hidefeed.com/inboxze.ro/logo.png",
608 | },
609 | },
610 | {
611 | id: "9i27ugmh",
612 | tag: "app",
613 | author: {
614 | name: "func.ovh",
615 | avatar: "twitter/funcovh",
616 | bio: "Superpowers for your email",
617 | },
618 | body:
619 | "Func.ovh is an e-mail based ecosystem allowing you to use features like reminders, journal and other, purely from the level of your e-mail client.\n\nNo additional software\nNo additional accounts\nNo additional fees!\n\nThe concept is really simple, just sent an e-mail to {action}@{service}.func.ovh and watch the magic happen 🙂\n\nFor more information visit - https://www.func.ovh/\n\nLet's grow the E-mail Func together 🙂",
620 | offer: {
621 | title: "Free in 2020",
622 | subtitle: "Click here to use",
623 | url: "https://func.ovh",
624 | },
625 | },
626 | ];
627 |
628 | export const tags = {
629 | all: {
630 | value: "all",
631 | name: "Show All",
632 | color: "",
633 | },
634 | tip: {
635 | value: "tip",
636 | name: "Tip",
637 | color: "#FF6948",
638 | },
639 | app: {
640 | value: "app",
641 | name: "App",
642 | color: "#4B5269",
643 | },
644 | advice: {
645 | value: "advice",
646 | name: "Advice",
647 | color: "#8348FF",
648 | },
649 | opinion: {
650 | value: "opinion",
651 | name: "Opinion",
652 | color: "#4545A1",
653 | },
654 | extension: {
655 | value: "extension",
656 | name: "Extension",
657 | color: "#3576F2",
658 | },
659 | };
660 |
661 | export default content;
662 |
--------------------------------------------------------------------------------
/gatsby-browser.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Implement Gatsby's Browser APIs in this file.
3 | *
4 | * See: https://www.gatsbyjs.org/docs/browser-apis/
5 | */
6 |
7 | exports.shouldUpdateScroll = ({ routerProps: { location }, getSavedScrollPosition }) => {
8 | if (location === "/404" || location === "/privacy-policy") {
9 | return true;
10 | }
11 |
12 | // Don't scroll when navigating in home page (client-side routing there)
13 | return false;
14 | };
15 |
--------------------------------------------------------------------------------
/gatsby-config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | siteMetadata: {
3 | title: "inboxze.ro",
4 | description: "You're doing email wrong. Here’s how the most productive people manage their inbox.",
5 | author: "@mailbrew",
6 | siteUrl: "https://inboxze.ro",
7 | },
8 | plugins: [
9 | "gatsby-plugin-emotion",
10 | "gatsby-transformer-xml",
11 | {
12 | resolve: "gatsby-plugin-react-svg",
13 | options: {
14 | rule: {
15 | include: /assets/, // See below to configure properly
16 | },
17 | },
18 | },
19 | "gatsby-plugin-react-helmet",
20 | "gatsby-transformer-sharp",
21 | "gatsby-plugin-sharp",
22 | {
23 | resolve: "gatsby-transformer-remark",
24 | options: {
25 | plugins: [
26 | {
27 | resolve: "gatsby-remark-images",
28 | options: {
29 | maxWidth: 1024,
30 | showCaptions: true,
31 | },
32 | },
33 | "gatsby-remark-copy-linked-files",
34 | ],
35 | },
36 | },
37 | {
38 | resolve: "gatsby-plugin-plausible",
39 | options: {
40 | domain: "inboxze.ro",
41 | },
42 | },
43 | {
44 | resolve: "gatsby-plugin-google-analytics",
45 | options: {
46 | trackingId: "UA-23035506-17",
47 | head: true,
48 | respectDNT: true,
49 | cookieDomain: "inboxze.ro",
50 | },
51 | },
52 | {
53 | resolve: "gatsby-plugin-canonical-urls",
54 | options: {
55 | siteUrl: "https://inboxze.ro",
56 | },
57 | },
58 | ],
59 | };
60 |
--------------------------------------------------------------------------------
/gatsby-node.js:
--------------------------------------------------------------------------------
1 | exports.onCreatePage = ({ page, actions }) => {
2 | const { createPage } = actions;
3 | // Make the front page match everything client side.
4 | // Normally your paths should be a bit more judicious.
5 | if (page.path === `/`) {
6 | page.matchPath = `/*`;
7 | createPage(page);
8 | }
9 | };
10 |
--------------------------------------------------------------------------------
/gatsby-ssr.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Implement Gatsby's SSR (Server Side Rendering) APIs in this file.
3 | *
4 | * See: https://www.gatsbyjs.org/docs/ssr-apis/
5 | */
6 |
7 | // You can delete this file if you're not using it
8 |
--------------------------------------------------------------------------------
/now.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 2,
3 | "routes": [{ "handle": "filesystem" }, { "src": ".*", "dest": "/index.html" }]
4 | }
5 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "gatsby-starter-default",
3 | "private": true,
4 | "description": "A simple starter to get up and developing quickly with Gatsby",
5 | "version": "0.1.0",
6 | "author": "Kyle Mathews ",
7 | "dependencies": {
8 | "@emotion/core": "^10.0.22",
9 | "@emotion/styled": "^10.0.22",
10 | "babel-plugin-styled-components": "^1.10.0",
11 | "eslint-plugin-prettier": "^3.0.1",
12 | "framer-motion": "^2.0.0-beta.45",
13 | "gatsby": "^2.20.21",
14 | "gatsby-image": "^2.2.30",
15 | "gatsby-plugin-canonical-urls": "^2.1.13",
16 | "gatsby-plugin-emotion": "^4.1.13",
17 | "gatsby-plugin-feed": "^2.1.2",
18 | "gatsby-plugin-google-analytics": "^2.0.19",
19 | "gatsby-plugin-manifest": "^2.0.29",
20 | "gatsby-plugin-offline": "^2.0.25",
21 | "gatsby-plugin-plausible": "0.0.6",
22 | "gatsby-plugin-react-helmet": "^3.0.12",
23 | "gatsby-plugin-react-svg": "^2.1.2",
24 | "gatsby-plugin-sharp": "^2.0.35",
25 | "gatsby-remark-copy-linked-files": "^2.0.12",
26 | "gatsby-remark-external-links": "0.0.4",
27 | "gatsby-remark-images": "^3.0.11",
28 | "gatsby-source-filesystem": "^2.0.32",
29 | "gatsby-transformer-remark": "^2.3.12",
30 | "gatsby-transformer-sharp": "^2.1.18",
31 | "gatsby-transformer-xml": "^2.0.9",
32 | "prop-types": "^15.7.2",
33 | "query-string": "^6.12.1",
34 | "react": "^16.8.6",
35 | "react-columns": "^1.2.1",
36 | "react-cursor-position": "^3.0.3",
37 | "react-dom": "^16.8.6",
38 | "react-helmet": "^5.2.0",
39 | "react-markdown": "^4.3.1",
40 | "react-router-dom": "^5.1.2",
41 | "react-tippy": "^1.2.3",
42 | "remove-markdown": "^0.3.0",
43 | "superlinear-react-ui": "^0.12.75"
44 | },
45 | "devDependencies": {
46 | "eslint": "^5.16.0",
47 | "eslint-loader": "^2.1.2",
48 | "prettier": "^1.17.0",
49 | "react-xml-parser": "^1.1.2"
50 | },
51 | "keywords": [
52 | "gatsby"
53 | ],
54 | "license": "MIT",
55 | "scripts": {
56 | "build": "gatsby build",
57 | "develop": "gatsby develop",
58 | "build_and_serve": "gatsby build && gatsby serve",
59 | "clean": "gatsby clean",
60 | "format": "prettier --write src/**/*.{js,jsx}",
61 | "lint": "eslint src",
62 | "start": "npm run develop",
63 | "serve": "gatsby serve",
64 | "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\"",
65 | "uikit:local": "npm run uikit:link && npm install superlinear-react-ui@file:../superlinear-react-ui",
66 | "uikit:latest": "npm install superlinear-react-ui@latest",
67 | "uikit:link": "npm link ../superlinear-react-ui/node_modules/react"
68 | },
69 | "repository": {
70 | "type": "git",
71 | "url": "https://github.com/gatsbyjs/gatsby-starter-default"
72 | },
73 | "bugs": {
74 | "url": "https://github.com/gatsbyjs/gatsby/issues"
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/src/components/ContentCard.js:
--------------------------------------------------------------------------------
1 | /** @jsx jsx */
2 | import { css, jsx } from "@emotion/core";
3 | import { motion } from "framer-motion";
4 | import { Card, Grid, H4, HStack, Icon, P1, P2, SubtleCard, useConfig, VStack } from "superlinear-react-ui";
5 | import { tags } from "../../content";
6 | import StyledA from "./StyledA";
7 | import ReactMarkdown from "react-markdown";
8 | import removeMd from "remove-markdown";
9 |
10 | const ContentCard = ({ show, isCurrentCard, element, onLinkClick, onTagClick, style }) => {
11 | const config = useConfig();
12 |
13 | const { tag, author, body, url, label, preview_image, source_url, offer, chrome_extension } = element;
14 |
15 | const tweetLink = createTweetLink(element);
16 |
17 | if (!show) return null;
18 |
19 | return (
20 |
21 |
22 |
23 |
29 |
30 | {author && (
31 |
32 | {author.avatar && (
33 |
42 | )}
43 | {!author.avatar && author.image && (
44 |
52 | )}
53 |
54 |
77 | Here’s how the most productive people manage their inbox. A collection of tips,{" "}
78 | apps and workflows.
79 |
80 |
81 |
88 | Contribute
89 |
90 |
100 |
101 |
102 |
103 | Made by{" "}
104 |
105 | Fabrizio
106 | {" "}
107 | and{" "}
108 |
109 | Francesco
110 |
111 | . Privacy Policy here.
112 |
113 |
114 |
115 |
136 | {content.map(tip => {
137 | const key = tip.id;
138 | const tag = tip.tag;
139 | const show = tagId === tag || tagId === "all";
140 |
141 | return (
142 | handleSelectTag(tag === tagId ? "all" : tag)}
148 | onLinkClick={() => handleSelectTip(tip)}
149 | />
150 | );
151 | })}
152 |
153 |
154 |
155 | Made by{" "}
156 |
157 | Fabrizio
158 | {" "}
159 | and{" "}
160 |
161 | Francesco
162 | {" "}
163 | with{" "}
164 |
165 | Gatsby
166 |
167 | ,{" "}
168 |
169 | Framer Motion
170 | {" "}
171 | and{" "}
172 |
173 | Zeit
174 |
175 | .
176 |
177 |
178 | Thanks{" "}
179 |
180 | Pat Walls
181 | {" "}
182 | for the feedback and support.
183 |
184 |
185 |
186 | {selectedTip && (
187 |
188 |
202 |
216 |
229 |
230 |
231 | )}
232 |
233 |
234 | );
235 | };
236 |
237 | export default IndexPage;
238 |
--------------------------------------------------------------------------------
/src/pages/privacy-policy.js:
--------------------------------------------------------------------------------
1 | /** @jsx jsx */
2 | import { css, jsx } from "@emotion/core";
3 | import { HStack, Section } from "superlinear-react-ui";
4 | import Page from "../components/Page";
5 | import ReactMarkdown from "react-markdown";
6 | import StyledLink from "../components/StyledLink";
7 |
8 | const PrivacyPolicyPage = () => {
9 | const policy = `
10 | ## Privacy Policy
11 |
12 | This document can be printed for reference by using the print command in the settings of any browser.
13 |
14 | ## Owner and Data Controller
15 | Superlinear Srl
16 | Via Paolo da Cannobio, 9
17 | 20122 Milano (MI), Italy
18 | VAT ID: IT10540450961
19 |
20 | Owner contact email: [hello@superlinear.co](mailto:hello@superlinear.co)
21 |
22 | ## Types of Data collected
23 |
24 | Among the types of Personal Data that [inboxze.ro](https://inboxze.ro) collects, by itself or through third parties, there are: Cookies; Usage Data; Data communicated while using the service.
25 |
26 | The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third parties), detect any malicious or fraudulent activity, as well as the following: Analytics.
27 |
28 | For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed information on the processing of Personal Data”.
29 |
30 | ### Detailed information on the processing of Personal Data
31 |
32 | Personal Data is collected for the following purposes and using the following services:
33 |
34 | #### Google Analytics (Google Ireland Limited)
35 | Google Analytics is a web analysis service provided by Google Ireland Limited (“Google”). Google utilizes the Data collected to track and examine the use of www.boxysuite.com, to prepare reports on its activities and share them with other Google services.
36 | Google may use the Data collected to contextualize and personalize the ads of its own advertising network.
37 |
38 | Personal Data collected: Cookies; Usage Data.
39 |
40 | Place of processing: Ireland – [Privacy Policy](https://policies.google.com/privacy) – [Opt Out](https://tools.google.com/dlpage/gaoptout?hl=en). Privacy Shield participant.
41 | `;
42 |
43 | return (
44 |
45 |
46 |
47 |
48 | Home
49 |
50 |
51 |