-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
1042 lines (929 loc) · 57.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="favicon.svg" />
<link rel="stylesheet" href="/src/style.css" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Darklang</title>
</head>
<!--
Backend complexity is out of control, and the amount of work needed by
developers to built professional, scalable, backend applications is rising not
falling. Applications should be about business logic, instead our teams are
working on serverless, kubernetes, dev-production parity, database
maintenance, migrations, babysitting servers and orchestrating fleets of
containers.
---
What's wrong with backend?
Infra complexity
Deployment Complexity
Development complexity (envs, toolchains, compilers, build, devcontainers, parse errors, collaboration, git, vim config, formatting, linters)
kubernetes AWS dev-containers node_modules docker devops ci/cd terraform yaml
provisioning schema-migrations DB-locks sql nosql service-meshes linters
language-server-protocol vscode-packages vim-config docker-compose IAM servers
serverless linux kernels bash ports networking compilers build-systems
performance-monitoring supply-chain-provenance dependency-management
deployment-artifacts production-containers APM micro-services opentelemetry
capacity-planning auto-scaling health-checks ORMs sticky-sessions firewalls
user-management session-management code-formatters backups replication
postgres-version-upgrades syntax-errors failed-deploys network-configuration
persistence-layers MVC apache nginx load-balancers logging scaling pod
buildpacks ec2 ddos ssl-certs sql-injection application-servers
apt-get-install VMs tarballs
---
Darklang is a project to remove all the *accidental complexity* from
backend applications. It's a language designed for cloud backends, to solve the
problems of professional backend developers, based on industry best practices.
Darklang removes infrastructure complexity by running the infrastructure for
you. Darklang removes deployment complexity by having instant, 50ms
deployments and a language and environment designed to make this safe.
Darklang solves development complexity with innovative, always-on debugging,
language and library versioning, with databases, workers and feature flags
built into the language.
---
BUT: Darklang is still early. It works, mostly. The new
technology--deployless, trace driven design--is proven, but doesn't scale yet.
The language is nice, but incomplete. The editor is interesting but glitchy.
The tools you expect from existing languages, such as packages and SDKs for
every vendor under the sun, don't exist. Not even a good user/account
management solution. We're a lot of work to do.
You can use Darklang today. You can have instant deployment and infrastructure
and people use it to build real applications, But I want to set expectations:
**it can be really annoying** and you copy-and-paste something wrong, when you
discover you need to implement some OAuth connection yourself, or when you see
our janky type checking situation in a supposedly staticly-typed language.
As we discuss features below, we'll include a frank assessment of where they are.
--- What is Darklang?
Combination of language, editor, and cloud, designed to avoid this complexity. Features:
List all the features
No infra
Deployless
DB stuff
Error Rail/ no excepions
Live values
Trace-driven development
package management
version control
testing
type checking
version control
multi-player
Our language is designed to make it hard to make mistakes
- fully immutable
- no nulls
- no exceptions
- statically types (with Rust-like enums)
--- Good users for Darklang
- 1-3 people
- need a very small set of SDKs
- uses storage, HTTP,
---
But Dark is bad?
Lots
live values SAY MORE
trace driven development SAY MORE - build up computation from requests that happened IN THE PAST
itomic, nstant, deployment, the most continuous of deployments SAY MORE
omg Paul this sounds amazing, is there a catch?
Of course there's a catch. Darklang isn't good yet.
So far we've proven that our core ideas work, and that you can build apps without any of this complexity.
But alas, there are problems:
- the editor can be tough to learn, frustrating, and sometimes buggy. Writing new code isn't bad, but editing existing code isn't fun
- the ecosystem is threadbare: we only have a small handful of 2rdparty integrations, and they're very minor. You will very likely have to write some HTTP-based code to use vendor APIs. There's no user module in particular.
-
But, you can help! Darklang is source available, developed in the open by a tiny but dedicated full-time team. Our issue tracker has...
Can I use Darklang today?
Yes, of course -> GET STARTED. Just promise me that you're aware of the frustration.
Can I contribute to Dark?
If you use dark, you should definitely contribute! Fixes to the editor, standard library functions, ideas for new features, support for new types. If you're willing to help, we're very willing to help you help us, writing guides, contributor docs, and even 1-on-1 pairing.
We especially appreciate contributions from folks using Dark, as they solve real problems our users are experiencing.
Darklang is incomplete, and using it can be frustrating.
Still, Darklang is pretty usable for:
- non-mission critical work
- small REST/JSON based projects
- reasonably data and scaling requirements
- 1 developers, maybe 2-3
-->
<body>
<div class="bg-white">
<header>
<div class="relative bg-white">
<div
class="flex justify-between items-center max-w-7xl mx-auto px-4 py-6 sm:px-6 md:justify-start md:space-x-10 lg:px-8">
<div class="flex justify-start lg:w-0 lg:flex-1">
<a href="#">
<span class="sr-only">Workflow</span>
<img class="h-8 w-auto sm:h-10"
src="https://tailwindui.com/img/logos/workflow-mark-purple-600-to-indigo-600.svg" alt="">
</a>
</div>
<div class="-mr-2 -my-2 md:hidden">
<button type="button"
class="bg-white rounded-md p-2 inline-flex items-center justify-center text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500"
aria-expanded="false">
<span class="sr-only">Open menu</span>
<!-- Heroicon name: outline/menu -->
<svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2"
stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16" />
</svg>
</button>
</div>
<nav class="hidden md:flex space-x-10">
<a href="#" class="text-base font-medium text-gray-500 hover:text-gray-900">
Demo
</a>
<a href="#" class="text-base font-medium text-gray-500 hover:text-gray-900">
Documentation
</a>
<a href="#" class="text-base font-medium text-gray-500 hover:text-gray-900">
Source
</a>
<a href="#" class="text-base font-medium text-gray-500 hover:text-gray-900">
Roadmap
</a>
<a href="#" class="text-base font-medium text-gray-500 hover:text-gray-900">
Community
</a>
<a href="#" class="text-base font-medium text-gray-500 hover:text-gray-900">
Blog
</a>
</nav>
<div class="hidden md:flex items-center justify-end md:flex-1 lg:w-0">
<a href="#" class="whitespace-nowrap text-base font-medium text-gray-500 hover:text-gray-900">
Log in
</a>
<a href="#"
class="ml-8 whitespace-nowrap inline-flex items-center justify-center bg-gradient-to-r from-purple-600 to-indigo-600 bg-origin-border px-4 py-2 border border-transparent rounded-md shadow-sm text-base font-medium text-white hover:from-purple-700 hover:to-indigo-700">
Sign up </a>
</div>
</div>
<!--
Mobile menu, show/hide based on mobile menu state.
Entering: "duration-200 ease-out"
From: "opacity-0 scale-95"
To: "opacity-100 scale-100"
Leaving: "duration-100 ease-in"
From: "opacity-100 scale-100"
To: "opacity-0 scale-95"
-->
<div class="absolute z-30 top-0 inset-x-0 p-2 transition transform origin-top-right md:hidden">
<div class="rounded-lg shadow-lg ring-1 ring-black ring-opacity-5 bg-white divide-y-2 divide-gray-50">
<div class="pt-5 pb-6 px-5">
<div class="flex items-center justify-between">
<div>
<img class="h-8 w-auto"
src="https://tailwindui.com/img/logos/workflow-mark-purple-600-to-indigo-600.svg" alt="Workflow">
</div>
<div class="-mr-2">
<button type="button"
class="bg-white rounded-md p-2 inline-flex items-center justify-center text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500">
<span class="sr-only">Close menu</span>
<!-- Heroicon name: outline/x -->
<svg class="h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
stroke-width="2" stroke="currentColor" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
</div>
</div>
<div class="py-6 px-5">
<div class="grid grid-cols-2 gap-4">
<a href="#" class="text-base font-medium text-gray-900 hover:text-gray-700"> Pricing </a>
<a href="#" class="text-base font-medium text-gray-900 hover:text-gray-700"> Partners </a>
<a href="#" class="text-base font-medium text-gray-900 hover:text-gray-700"> Company </a>
</div>
<div class="mt-6">
<a href="#"
class="w-full flex items-center justify-center bg-gradient-to-r from-purple-600 to-indigo-600 bg-origin-border px-4 py-2 border border-transparent rounded-md shadow-sm text-base font-medium text-white hover:from-purple-700 hover:to-indigo-700">
Sign up </a>
<p class="mt-6 text-center text-base font-medium text-gray-500">
Existing customer?
<a href="#" class="text-gray-900"> Log in </a>
</p>
</div>
</div>
</div>
</div>
</div>
</header>
<main>
<!-- Hero section -->
<div class="relative">
<div class="absolute inset-x-0 bottom-0 h-1/2 bg-gray-100"></div>
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
<div class="relative shadow-xl sm:rounded-2xl sm:overflow-hidden">
<div class="absolute inset-0">
<img class="h-full w-full object-cover"
src="https://images.unsplash.com/photo-1521737852567-6949f3f9f2b5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=2830&q=80&sat=-100"
alt="People working on laptops">
<div class="absolute inset-0 bg-gradient-to-r from-purple-800 to-indigo-700 mix-blend-multiply"></div>
</div>
<div class="relative px-4 py-16 sm:px-6 sm:py-24 lg:py-32 lg:px-8">
<h1 class="text-center text-4xl font-extrabold tracking-tight sm:text-5xl lg:text-6xl">
<span class="block text-white">Darklang</span>
<span class="block text-4xl text-indigo-200">Backends without complexity</span>
</h1>
<p class="mt-6 max-w-lg mx-auto py-8 text-center text-xl text-indigo-100 sm:max-w-3xl">
Darklang lets you focus on coding your application logic, removing all backend complexity. Never think
about deployment, infrastructure, or dev environments again.
</p>
</div>
</div>
</div>
</div>
<div class="relative py-16 bg-white overflow-hidden">
<div class="relative px-4 sm:px-6 lg:px-8">
<div class="text-lg max-w-prose mx-auto">
<h1>
<span class="block text-base text-center text-indigo-600 font-semibold tracking-wide uppercase">
The problem
</span>
<span
class="mt-2 block text-3xl text-center leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Backend complexity is out of control
</span>
</h1>
<p class="mt-8 text-xl text-gray-500 leading-8">
There is so much work that developers have to do that isn't strictly part of building their cloud
application. We believe that 90% of building applications is this "accidental complexity". We want you to
be able to focus on the important 10% of coding: the "essential complexity" of your application.
</p>
</div>
</div>
</div>
<!-- The problem, subsections -->
<div class="bg-white">
<div class="max-w-2xl mx-auto px-4 sm:px-6 lg:max-w-7xl lg:px-8">
<div class="mt-16 space-y-16">
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-8 xl:col-span-4 lg:col-start-1">
<h3 class="text-lg font-medium text-gray-900">
Infrastructure Complexity
</h3>
<p class="mt-2 text-sm text-gray-500">
Why are we playing with yaml, trying to describe infrastructure as code, setting up and orchestrating
clusters of containers, or worrying about cold-starts, application servers or healthchecks? Why do we
spend time babysitting postgres, Kafka, or kubernetes, instead of writing code that helps our users.
</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-5 xl:col-span-8 lg:col-start-6 xl:col-start-5">
<p class="mt-2 text-sm text-gray-500 line-through">
kubernetes AWS docker devops terraform yaml provisioning schema-migrations database-locks sql nosql
service-meshes linters IAM servers kafka RDS orchestrating serverless linux kernel-upgrades bash
ubuntu ports networking performance-monitoring supply-chain-provenance containers APM microservices
opentelemetry capacity-planning auto-scaling health-checks ORMs sticky-sessions firewalls
user-management session-management backups replication database-upgrades persistence apache nginx
load-balancers logging scaling pods buildpacks ec2 DDOS-protection CDNs SSL-certificates sql-injection
application-servers apt-get-install VMs
</p>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-8 xl:col-start-9">
<h3 class="text-lg font-medium text-gray-900">
Deployment complexity
</h3>
<p class="mt-2 text-sm text-gray-500">
Companies dedicate massive resources to reducing the end-to-end time of shipping a change to
customers. But the act of shipping code involves necessary steps which take time. Packaging code
(Docker container, tarball, webpack, AMI, git checkout, jars), testing it (CircleCI, code coverage,
browser testing/Selenium), syncing it (git push to Heroku, Docker registries, artifact hosting, S3,
CDNs), enabling the new code (Kubernetes, reverse proxies, Capistrano, swapping symlinks), and rolling
it out (feature flags, blue-green deploys, DB migrations, API versioning), involves not just massive
complexity and tooling, but also unavoidable wall-clock time.
</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-1">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="/src/darklang-pipeline.jpeg" alt="" class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-1">
<h3 class="text-lg font-medium text-gray-900">Development complexity</h3>
<p class="mt-2 text-sm text-gray-500">
Development environments and tooling are typically configured piecemeal, with dozens of tools
interacting--often badly--to make up a development environment. It is not uncommon for simple projects
to involve dozens of tools: devcontainers, formatters, linters, build systems, package managers,
compilers, and dependency management, and that's before we come to disparate editors and operating
systems.
</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-6 xl:col-start-5">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-01.jpg"
alt="White canvas laptop sleeve with gray felt interior, silver zipper, and tan leather zipper pull."
class="object-center object-cover">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="relative py-16 bg-white overflow-hidden">
<div class="relative px-4 sm:px-6 lg:px-8">
<div class="text-lg max-w-prose mx-auto">
<h1>
<span class="block text-base text-center text-indigo-600 font-semibold tracking-wide uppercase">
The solution
</span>
<span
class="mt-2 block text-3xl text-center leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Just Code
</span>
</h1>
<p class="mt-8 text-xl text-gray-500 leading-8">
Darklang doesn't have any of this complexity. Instead, you just write code that's instantly available in
production. It does so by <span class="font-bold">combining a programming language, editor, and hosted
cloud infrastructure</span>.
</p>
<p class="mt-8 text-xl text-gray-500 leading-8">
This combination allows us to completely cut out <span class="font-bold">infrastructure complexity</span>.
We handle servers, databases and workers, all instantly available without having to write yaml, build
containers, or any of the overhead of configuring cloud infrastructute.
</p>
<p class="mt-8 text-xl text-gray-500 leading-8">
<span class="font-bold">Deployment complexity</span> is removed because Darklang is designed for instant
deployment. Instead of a complex CI/CD pipeline, or packaging and deploying containers, each tiny change
made in the Darklang editor is instantly deployed. All parts of Darklang are designed to make this safe,
from built-in feature flags, AST-based code storage, support for and the language is designed to make this
safe.
</p>
<p class="mt-8 text-xl text-gray-500 leading-8">
Similarly, Darklang's <span class="font-bold">development environment</span> requires no setup. All
tooling is integrated into the editor and cloud, and no steps are required to create or maintain it. No
devcontainers or build systems or complex tooling.
</p>
<p class="mt-8 text-xl text-gray-500 leading-8">
Finally, in addition to removing all this complexity, Darklang's combination of editor, language and
infrastructure allows features that do not exist elsewhere, such as <span class="font-bold italic">live
values</span>, <span class="font-bold italic">Trace-Driven Development</span>, and <span
class="font-bold italic">always-on debugging</span>.
</p>
</div>
</div>
</div>
<div class="relative bg-gray-900">
<div class="h-80 absolute inset-x-0 bottom-0 xl:top-0 xl:h-full">
<div class="h-full w-full xl:grid xl:grid-cols-2">
<div class="h-full xl:relative xl:col-start-2">
<img class="h-full w-full object-cover opacity-25 xl:absolute xl:inset-0"
src="https://images.unsplash.com/photo-1521737852567-6949f3f9f2b5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=2830&q=80&sat=-100"
alt="People working on laptops">
<div aria-hidden="true"
class="absolute inset-x-0 top-0 h-32 bg-gradient-to-b from-gray-900 xl:inset-y-0 xl:left-0 xl:h-full xl:w-32 xl:bg-gradient-to-r">
</div>
</div>
</div>
</div>
<div
class="max-w-4xl mx-auto px-4 sm:px-6 lg:max-w-7xl lg:px-8 xl:grid xl:grid-cols-2 xl:grid-flow-col-dense xl:gap-x-8">
<div class="relative pt-12 pb-64 sm:pt-24 sm:pb-64 xl:col-start-1 xl:pb-24">
<h2 class="text-sm font-semibold tracking-wide uppercase">
<span class="bg-gradient-to-r from-purple-300 to-indigo-300 bg-clip-text text-transparent">
That said, it's not all sunshine and daisies...
</span>
</h2>
<p class="mt-3 text-3xl font-extrabold text-white">Darklang is incomplete</p>
<p class="mt-5 text-lg text-gray-300">
Darklang has a long way to go to fulfil all its promise. The infrastructure part works, the deployless
works but does not have nearly all the features needed to make it safe, the editor is janky and buggy, and
the language is incomplete as well. And most importantly, Darklang doesn't yet for
support for the hundreds of thousands of packages and SDKs that you might be used to in Node or Python or
Go. Not even a user/account package.
</p>
<p class="mt-5 text-lg text-gray-300">
Darklang is built by Dark Inc, with 2 fulltime engineers working on it. We haven't gotten to product
market fit yet, and we believe that Darklang is not really <span class="italic">good</span>. It's cool,
it's interesting, it's got a lot of properties that frankly other languages and environments should steal,
but it's not actually <span class="italic">good</span> yet.
</p>
<p class="mt-5 text-lg text-gray-300">
We are confident it will get there, and you are welcome to try Darklang out, and even build things in it.
You'll likely find it eye-opening, liberating, and quite frustrating.
</p>
<div class="mt-12 grid grid-cols-1 gap-y-12 gap-x-6 sm:grid-cols-2">
<p>
<span class="block text-2xl font-bold text-white">305</span>
<span class="mt-1 block text-base text-gray-300">
<span class="font-medium text-white">Projects</span>
with more than 10 HTTP requests in some arbitrary 4 week period ending June 2022</span>
</p>
<p>
<span class="block text-2xl font-bold text-white">2</span>
<span class="mt-1 block text-base text-gray-300"><span class="font-medium text-white">Engineers
</span> working full-time on Darklang.
</span>
</p>
<p>
<span class="block text-2xl font-bold text-white">98%</span>
<span class="mt-1 block text-base text-gray-300"><span class="font-medium text-white">Customer
satisfaction</span> laoreet amet lacus nibh integer quis.</span>
</p>
<p>
<span class="block text-2xl font-bold text-white">12M+</span>
<span class="mt-1 block text-base text-gray-300"><span class="font-medium text-white">Issues
resolved</span> lacus nibh integer quis.</span>
</p>
</div>
</div>
</div>
</div>
<!-- Feature section -->
<div class="bg-white">
<div class="max-w-2xl mx-auto py-24 px-4 sm:px-6 sm:py-32 lg:max-w-7xl lg:px-8">
<div class="max-w-3xl mx-auto text-center">
<h2 class="text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Features
</h2>
<p class="mt-4 text-gray-500">
By tightly integrating the darklang language with the darklang editor and
the darklang cloud environment, we're able to remove masses of annoying complexity, and create features
that don't exist in any other language.</p>
</div>
<div class="mt-16 space-y-16">
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-1">
<h3 class="text-lg font-medium text-gray-900">
Instant infrastructure
</h3>
<p class="mt-2 text-sm text-gray-500">
Built-in, instantly available infrastructure, including
HTTP handlers, databases, queues/workers and scheduling, fully managed for you. Never wait to
deploy or scale.</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-6 xl:col-start-5">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-01.jpg"
alt="White canvas laptop sleeve with gray felt interior, silver zipper, and tan leather zipper pull."
class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-8 xl:col-start-9">
<h3 class="text-lg font-medium text-gray-900">
Deployless
</h3>
<p class="mt-2 text-sm text-gray-500">
Instant deployment, without CI/CD pipelines. The Darklang
editor, language and infrastructure are designed to be fully and safely deployed on each
keystroke, for safe, instant feedback. Uses built-in feature flags (alpha), function versioning
(beta), atomic commits, zero-downtime database migration (planned), built-in error tracking
(planned) and type checking (planned).
</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-1">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-02.jpg"
alt="Detail of zipper pull with tan leather and silver rivet." class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-1">
<h3 class="text-lg font-medium text-gray-900">Live values</h3>
<p class="mt-2 text-sm text-gray-500">
Darklang uniquely combines its execution engine and editor, allowing you to see real values of
the code you're working on. Code is instantly and safely evaluated where possible, and unsafe
code by be run on the touch of a button.
</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-6 xl:col-start-5">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-01.jpg"
alt="White canvas laptop sleeve with gray felt interior, silver zipper, and tan leather zipper pull."
class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-8 xl:col-start-9">
<h3 class="text-lg font-medium text-gray-900">title</h3>
<p class="mt-2 text-sm text-gray-500">Copy</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-1">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-02.jpg"
alt="Detail of zipper pull with tan leather and silver rivet." class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-1">
<h3 class="text-lg font-medium text-gray-900">title</h3>
<p class="mt-2 text-sm text-gray-500">copy</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-6 xl:col-start-5">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-01.jpg"
alt="White canvas laptop sleeve with gray felt interior, silver zipper, and tan leather zipper pull."
class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-8 xl:col-start-9">
<h3 class="text-lg font-medium text-gray-900">title</h3>
<p class="mt-2 text-sm text-gray-500">Copy</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-1">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-02.jpg"
alt="Detail of zipper pull with tan leather and silver rivet." class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-1">
<h3 class="text-lg font-medium text-gray-900">title</h3>
<p class="mt-2 text-sm text-gray-500">copy</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-6 xl:col-start-5">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-01.jpg"
alt="White canvas laptop sleeve with gray felt interior, silver zipper, and tan leather zipper pull."
class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-8 xl:col-start-9">
<h3 class="text-lg font-medium text-gray-900">title</h3>
<p class="mt-2 text-sm text-gray-500">Copy</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-1">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-02.jpg"
alt="Detail of zipper pull with tan leather and silver rivet." class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-1">
<h3 class="text-lg font-medium text-gray-900">title</h3>
<p class="mt-2 text-sm text-gray-500">copy</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-6 xl:col-start-5">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-01.jpg"
alt="White canvas laptop sleeve with gray felt interior, silver zipper, and tan leather zipper pull."
class="object-center object-cover">
</div>
</div>
</div>
<div class="flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-x-8 lg:items-center">
<div class="mt-6 lg:mt-0 lg:row-start-1 lg:col-span-5 xl:col-span-4 lg:col-start-8 xl:col-start-9">
<h3 class="text-lg font-medium text-gray-900">title</h3>
<p class="mt-2 text-sm text-gray-500">Copy</p>
</div>
<div class="flex-auto lg:row-start-1 lg:col-span-7 xl:col-span-8 lg:col-start-1">
<div class="aspect-w-5 aspect-h-2 rounded-lg bg-gray-100 overflow-hidden">
<img src="https://tailwindui.com/img/ecommerce-images/product-feature-07-detail-02.jpg"
alt="Detail of zipper pull with tan leather and silver rivet." class="object-center object-cover">
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Testimonial section -->
<div class="pb-16 bg-gradient-to-r from-teal-500 to-cyan-600 lg:pb-0 lg:z-10 lg:relative">
<div class="lg:mx-auto lg:max-w-7xl lg:px-8 lg:grid lg:grid-cols-3 lg:gap-8">
<div class="relative lg:-my-8">
<div aria-hidden="true" class="absolute inset-x-0 top-0 h-1/2 bg-white lg:hidden"></div>
<div class="mx-auto max-w-md px-4 sm:max-w-3xl sm:px-6 lg:p-0 lg:h-full">
<div
class="aspect-w-10 aspect-h-6 rounded-xl shadow-xl overflow-hidden sm:aspect-w-16 sm:aspect-h-7 lg:aspect-none lg:h-full">
<img class="object-cover lg:h-full lg:w-full"
src="https://images.unsplash.com/photo-1520333789090-1afc82db536a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2102&q=80"
alt="">
</div>
</div>
</div>
<div class="mt-12 lg:m-0 lg:col-span-2 lg:pl-8">
<div class="mx-auto max-w-md px-4 sm:max-w-2xl sm:px-6 lg:px-0 lg:py-20 lg:max-w-none">
<blockquote>
<div>
<svg class="h-12 w-12 text-white opacity-25" fill="currentColor" viewBox="0 0 32 32"
aria-hidden="true">
<path
d="M9.352 4C4.456 7.456 1 13.12 1 19.36c0 5.088 3.072 8.064 6.624 8.064 3.36 0 5.856-2.688 5.856-5.856 0-3.168-2.208-5.472-5.088-5.472-.576 0-1.344.096-1.536.192.48-3.264 3.552-7.104 6.624-9.024L9.352 4zm16.512 0c-4.8 3.456-8.256 9.12-8.256 15.36 0 5.088 3.072 8.064 6.624 8.064 3.264 0 5.856-2.688 5.856-5.856 0-3.168-2.304-5.472-5.184-5.472-.576 0-1.248.096-1.44.192.48-3.264 3.456-7.104 6.528-9.024L25.864 4z" />
</svg>
<p class="mt-6 text-2xl font-medium text-white">Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Sed urna nulla vitae laoreet augue. Amet feugiat est integer dolor auctor adipiscing nunc
urna, sit.</p>
</div>
<footer class="mt-6">
<p class="text-base font-medium text-white">Judith Black</p>
<p class="text-base font-medium text-cyan-100">CEO at PureInsights</p>
</footer>
</blockquote>
</div>
</div>
</div>
</div>
<!-- Blog section -->
<div class="relative bg-gray-50 py-16 sm:py-24 lg:py-32">
<div class="relative">
<div class="text-center mx-auto max-w-md px-4 sm:max-w-3xl sm:px-6 lg:px-8 lg:max-w-7xl">
<h2 class="text-base font-semibold tracking-wider text-cyan-600 uppercase">Learn</h2>
<p class="mt-2 text-3xl font-extrabold text-gray-900 tracking-tight sm:text-4xl">Helpful Resources</p>
<p class="mt-5 mx-auto max-w-prose text-xl text-gray-500">Phasellus lorem quam molestie id quisque diam
aenean nulla in. Accumsan in quis quis nunc, ullamcorper malesuada. Eleifend condimentum id viverra
nulla.</p>
</div>
<div class="mt-12 mx-auto max-w-md px-4 grid gap-8 sm:max-w-lg sm:px-6 lg:px-8 lg:grid-cols-3 lg:max-w-7xl">
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
<div class="flex-shrink-0">
<img class="h-48 w-full object-cover"
src="https://images.unsplash.com/photo-1496128858413-b36217c2ce36?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1679&q=80"
alt="">
</div>
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
<div class="flex-1">
<p class="text-sm font-medium text-cyan-600">
<a href="#" class="hover:underline"> Article </a>
</p>
<a href="#" class="block mt-2">
<p class="text-xl font-semibold text-gray-900">Boost your conversion rate</p>
<p class="mt-3 text-base text-gray-500">Lorem ipsum dolor sit amet consectetur adipisicing elit.
Architecto accusantium praesentium eius, ut atque fuga culpa, similique sequi cum eos quis
dolorum.</p>
</a>
</div>
<div class="mt-6 flex items-center">
<div class="flex-shrink-0">
<a href="#">
<img class="h-10 w-10 rounded-full"
src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80"
alt="Roel Aufderehar">
</a>
</div>
<div class="ml-3">
<p class="text-sm font-medium text-gray-900">
<a href="#" class="hover:underline"> Roel Aufderehar </a>
</p>
<div class="flex space-x-1 text-sm text-gray-500">
<time datetime="2020-03-16"> Mar 16, 2020 </time>
<span aria-hidden="true"> · </span>
<span> 6 min read </span>
</div>
</div>
</div>
</div>
</div>
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
<div class="flex-shrink-0">
<img class="h-48 w-full object-cover"
src="https://images.unsplash.com/photo-1547586696-ea22b4d4235d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1679&q=80"
alt="">
</div>
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
<div class="flex-1">
<p class="text-sm font-medium text-cyan-600">
<a href="#" class="hover:underline"> Video </a>
</p>
<a href="#" class="block mt-2">
<p class="text-xl font-semibold text-gray-900">How to use search engine optimization to drive
sales</p>
<p class="mt-3 text-base text-gray-500">Lorem ipsum dolor sit amet consectetur adipisicing elit.
Velit facilis asperiores porro quaerat doloribus, eveniet dolore. Adipisci tempora aut
inventore optio animi., tempore temporibus quo laudantium.</p>
</a>
</div>
<div class="mt-6 flex items-center">
<div class="flex-shrink-0">
<a href="#">
<img class="h-10 w-10 rounded-full"
src="https://images.unsplash.com/photo-1550525811-e5869dd03032?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80"
alt="Brenna Goyette">
</a>
</div>
<div class="ml-3">
<p class="text-sm font-medium text-gray-900">
<a href="#" class="hover:underline"> Brenna Goyette </a>
</p>
<div class="flex space-x-1 text-sm text-gray-500">
<time datetime="2020-03-10"> Mar 10, 2020 </time>
<span aria-hidden="true"> · </span>
<span> 4 min read </span>
</div>
</div>
</div>
</div>
</div>
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
<div class="flex-shrink-0">
<img class="h-48 w-full object-cover"
src="https://images.unsplash.com/photo-1492724441997-5dc865305da7?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1679&q=80"
alt="">
</div>
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
<div class="flex-1">
<p class="text-sm font-medium text-cyan-600">
<a href="#" class="hover:underline"> Case Study </a>
</p>
<a href="#" class="block mt-2">
<p class="text-xl font-semibold text-gray-900">Improve your customer experience</p>
<p class="mt-3 text-base text-gray-500">Lorem ipsum dolor sit amet consectetur adipisicing elit.
Sint harum rerum voluptatem quo recusandae magni placeat saepe molestiae, sed excepturi cumque
corporis perferendis hic.</p>
</a>
</div>
<div class="mt-6 flex items-center">
<div class="flex-shrink-0">
<a href="#">
<img class="h-10 w-10 rounded-full"
src="https://images.unsplash.com/photo-1487412720507-e7ab37603c6f?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80"
alt="Daniela Metz">
</a>
</div>
<div class="ml-3">
<p class="text-sm font-medium text-gray-900">
<a href="#" class="hover:underline"> Daniela Metz </a>
</p>
<div class="flex space-x-1 text-sm text-gray-500">
<time datetime="2020-02-12"> Feb 12, 2020 </time>
<span aria-hidden="true"> · </span>
<span> 11 min read </span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- CTA Section -->
<div class="relative bg-gray-900">
<div class="relative h-56 bg-indigo-600 sm:h-72 md:absolute md:left-0 md:h-full md:w-1/2">
<img class="w-full h-full object-cover"
src="https://images.unsplash.com/photo-1525130413817-d45c1d127c42?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1920&q=60&sat=-100"
alt="">
<div aria-hidden="true"
class="absolute inset-0 bg-gradient-to-r from-teal-500 to-cyan-600 mix-blend-multiply">
</div>
</div>
<div class="relative mx-auto max-w-md px-4 py-12 sm:max-w-7xl sm:px-6 sm:py-20 md:py-28 lg:px-8 lg:py-32">
<div class="md:ml-auto md:w-1/2 md:pl-10">
<h2 class="text-base font-semibold uppercase tracking-wider text-gray-300">Award winning support</h2>
<p class="mt-2 text-white text-3xl font-extrabold tracking-tight sm:text-4xl">We’re here to help</p>
<p class="mt-3 text-lg text-gray-300">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Et,
egestas tempus tellus etiam sed. Quam a scelerisque amet ullamcorper eu enim et fermentum, augue.
Aliquet amet volutpat quisque ut interdum tincidunt duis.</p>
<div class="mt-8">
<div class="inline-flex rounded-md shadow">
<a href="#"
class="inline-flex items-center justify-center px-5 py-3 border border-transparent text-base font-medium rounded-md text-gray-900 bg-white hover:bg-gray-50">
Visit the help center
<!-- Heroicon name: solid/external-link -->
<svg class="-mr-1 ml-3 h-5 w-5 text-gray-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"
fill="currentColor" aria-hidden="true">
<path
d="M11 3a1 1 0 100 2h2.586l-6.293 6.293a1 1 0 101.414 1.414L15 6.414V9a1 1 0 102 0V4a1 1 0 00-1-1h-5z" />
<path d="M5 5a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-3a1 1 0 10-2 0v3H5V7h3a1 1 0 000-2H5z" />
</svg>
</a>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="bg-gray-50" aria-labelledby="footer-heading">
<h2 id="footer-heading" class="sr-only">Footer</h2>
<div class="max-w-md mx-auto pt-12 px-4 sm:max-w-7xl sm:px-6 lg:pt-16 lg:px-8">
<div class="xl:grid xl:grid-cols-3 xl:gap-8">
<div class="space-y-8 xl:col-span-1">
<img class="h-10" src="https://tailwindui.com/img/logos/workflow-mark-gray-300.svg" alt="Company name">
<p class="text-gray-500 text-base">Making the world a better place through constructing elegant
hierarchies.</p>
<div class="flex space-x-6">
<a href="#" class="text-gray-400 hover:text-gray-500">
<span class="sr-only">Facebook</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z"
clip-rule="evenodd" />
</svg>
</a>
<a href="#" class="text-gray-400 hover:text-gray-500">
<span class="sr-only">Instagram</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z"
clip-rule="evenodd" />
</svg>
</a>
<a href="#" class="text-gray-400 hover:text-gray-500">
<span class="sr-only">Twitter</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path
d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
</svg>
</a>
<a href="#" class="text-gray-400 hover:text-gray-500">
<span class="sr-only">GitHub</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
clip-rule="evenodd" />
</svg>
</a>
<a href="#" class="text-gray-400 hover:text-gray-500">
<span class="sr-only">Dribbble</span>
<svg class="h-6 w-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true">
<path fill-rule="evenodd"
d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z"
clip-rule="evenodd" />
</svg>
</a>
</div>
</div>
<div class="mt-12 grid grid-cols-2 gap-8 xl:mt-0 xl:col-span-2">
<div class="md:grid md:grid-cols-2 md:gap-8">
<div>
<h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Solutions</h3>
<ul role="list" class="mt-4 space-y-4">
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Marketing </a>
</li>
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Analytics </a>
</li>
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Commerce </a>
</li>
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Insights </a>
</li>
</ul>
</div>
<div class="mt-12 md:mt-0">
<h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Support</h3>
<ul role="list" class="mt-4 space-y-4">
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Pricing </a>
</li>
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Documentation </a>
</li>
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Guides </a>
</li>
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> API Status </a>
</li>
</ul>
</div>
</div>
<div class="md:grid md:grid-cols-2 md:gap-8">
<div>
<h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Company</h3>
<ul role="list" class="mt-4 space-y-4">
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> About </a>
</li>
<li>
<a href="#" class="text-base text-gray-500 hover:text-gray-900"> Blog </a>
</li>