You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.5 KiB

  1. <template>
  2. <main class="special">
  3. <div class="section">
  4. <NuxtLink to="/go" class="btn btn--primary">
  5. go to the site
  6. </NuxtLink>
  7. <br><br>
  8. <h1 style="font-size: 2rem;">
  9. "what is this site, really?"
  10. </h1>
  11. <br>
  12. <pre style="white-space: pre-wrap;">
  13. Last week, I was mulling over FlyLocal.io's speed issues.
  14. As an exercise, I made a list of all the things that the FlyLocal website does.
  15. - [1] get data from a server three times
  16. - [2] display data on a map, twice
  17. - [3] display data on a page, once
  18. I let it ruminate that, by design, all the heavy lifting, all the processing, is already being done by Airtable.
  19. From a technical perspective, the site is really just a *viewer* of our product, and our product is Airtable data.
  20. ***
  21. Then I thought about all the previous iterations of the site.
  22. It occurred to me that all the fancy stuff I'd done in Bubble v1 and pre-Bubble was for a business model that no longer existed.
  23. There was nothing fancy about this *new* model. No forms, no calculations. Get data, display data.
  24. And it occurred me that all the time-consuming stuff I'd done with Bubble v2 over the last year was really about me learning Bubble and figuring out how to get it to do the stuff that I already knew that websites could do: Get data, display data.
  25. And really, there was nothing all that time-consuming about getting data and displaying data, especially in 2021.
  26. ***
  27. So... I decided to take a couple days and make a website. And I'm pleasantly surprised with how quickly it all came together.
  28. Hand-coded from the ground up on a modern, popular web-dev framework, it's lean, snappy, mobile-first, it has an elegant backend, and it checks all of my boxes.
  29. It still needs some css TLC, but all the major dev is complete.
  30. </pre>
  31. <NuxtLink to="/go" class="btn btn--primary">
  32. v5, for your consideration
  33. </NuxtLink>
  34. </div>
  35. </main>
  36. </template>
  37. <script>
  38. export default {
  39. mounted () {
  40. const body = document.querySelector('body')
  41. body.classList.add('special')
  42. }
  43. }
  44. </script>
  45. <style>
  46. main.special {
  47. color: #888 !important;
  48. display: flex;
  49. align-items: center;
  50. padding: 3rem;
  51. background: #262626;
  52. overflow-y: scroll;
  53. }
  54. .section {
  55. max-width: 60ch;
  56. border-radius: 2rem;
  57. border: 1px solid #888;
  58. background: rgba(255, 255, 255, 0.05);
  59. padding: 3rem;
  60. }
  61. .btn {
  62. border-radius: 999px;
  63. padding: 0.4em 0.8em;
  64. font-size: 1rem;
  65. white-space: nowrap;
  66. transition: 0.2s all;
  67. }
  68. .btn.btn--primary {
  69. background: #007fff;
  70. color: #fff;
  71. }
  72. </style>