It's testing resourse.
+Some unneadable information will be placed here for testing phone programming in action. All this text + created with default CSS style and placed into the second line after H2 text.
+Sorry, but the page you were trying to view does not exist.
+ + + + diff --git a/dist/LICENSE.txt b/dist/LICENSE.txt new file mode 100644 index 0000000..294e91d --- /dev/null +++ b/dist/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (c) HTML5 Boilerplate + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/dist/css/style.css b/dist/css/style.css new file mode 100644 index 0000000..654e876 --- /dev/null +++ b/dist/css/style.css @@ -0,0 +1,247 @@ +/*! HTML5 Boilerplate v9.0.0-RC1 | MIT License | https://html5boilerplate.com/ */ + +/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */ +/* + * What follows is the result of much research on cross-browser styling. + * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, + * Kroc Camen, and the H5BP dev community and team. + */ + +/* ========================================================================== + Base styles: opinionated defaults + ========================================================================== */ + +html { + color: #222; + font-size: 1em; + line-height: 1.4; +} + +/* + * Remove text-shadow in selection highlight: + * https://twitter.com/miketaylr/status/12228805301 + * + * Customize the background color to match your design. + */ + +::-moz-selection { + background: #b3d4fc; + text-shadow: none; +} + +::selection { + background: #b3d4fc; + text-shadow: none; +} + +/* + * A better looking default horizontal rule + */ + +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; +} + +/* + * Remove the gap between audio, canvas, iframes, + * images, videos and the bottom of their containers: + * https://github.com/h5bp/html5-boilerplate/issues/440 + */ + +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle; +} + +/* + * Remove default fieldset styles. + */ + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +/* + * Allow only vertical resizing of textareas. + */ + +textarea { + resize: vertical; +} + +/* ========================================================================== + Author's custom styles + ========================================================================== */ + +/* ========================================================================== + Helper classes + ========================================================================== */ + +/* + * Hide visually and from screen readers + */ + +.hidden, +[hidden] { + display: none !important; +} + +/* + * Hide only visually, but have it available for screen readers: + * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility + * + * 1. For long content, line feeds are not interpreted as spaces and small width + * causes content to wrap 1 word per line: + * https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe + */ + +.visually-hidden { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + white-space: nowrap; + width: 1px; + /* 1 */ +} + +/* + * Extends the .visually-hidden class to allow the element + * to be focusable when navigated to via the keyboard: + * https://www.drupal.org/node/897638 + */ + +.visually-hidden.focusable:active, +.visually-hidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + white-space: inherit; + width: auto; +} + +/* + * Hide visually and from screen readers, but maintain layout + */ + +.invisible { + visibility: hidden; +} + +/* + * Clearfix: contain floats + * + * The use of `table` rather than `block` is only necessary if using + * `::before` to contain the top-margins of child elements. + */ + +.clearfix::before, +.clearfix::after { + content: ""; + display: table; +} + +.clearfix::after { + clear: both; +} + +/* ========================================================================== + EXAMPLE Media Queries for Responsive Design. + These examples override the primary ('mobile first') styles. + Modify as content requires. + ========================================================================== */ + +@media only screen and (min-width: 35em) { + /* Style adjustments for viewports that meet the condition */ +} + +@media print, + (-webkit-min-device-pixel-ratio: 1.25), + (min-resolution: 1.25dppx), + (min-resolution: 120dpi) { + /* Style adjustments for high resolution devices */ +} + +/* ========================================================================== + Print styles. + Inlined to avoid the additional HTTP request: + https://www.phpied.com/delay-loading-your-print-css/ + ========================================================================== */ + +@media print { + *, + *::before, + *::after { + background: #fff !important; + color: #000 !important; + /* Black prints faster */ + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]::after { + content: " (" attr(href) ")"; + } + + abbr[title]::after { + content: " (" attr(title) ")"; + } + + /* + * Don't show links that are fragment identifiers, + * or use the `javascript:` pseudo protocol + */ + a[href^="#"]::after, + a[href^="javascript:"]::after { + content: ""; + } + + pre { + white-space: pre-wrap !important; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + tr, + img { + page-break-inside: avoid; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } +} + diff --git a/dist/favicon.ico b/dist/favicon.ico new file mode 100644 index 0000000..be74abd Binary files /dev/null and b/dist/favicon.ico differ diff --git a/dist/icon.png b/dist/icon.png new file mode 100644 index 0000000..8a42581 Binary files /dev/null and b/dist/icon.png differ diff --git a/dist/icon.svg b/dist/icon.svg new file mode 100644 index 0000000..f232922 --- /dev/null +++ b/dist/icon.svg @@ -0,0 +1 @@ + diff --git a/dist/img/.gitkeep b/dist/img/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..8cd13b7 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,32 @@ + + + + + + +Hello world! This is HTML5 Boilerplate.
+ + + + + diff --git a/dist/js/app.js b/dist/js/app.js new file mode 100644 index 0000000..e69de29 diff --git a/dist/js/vendor/.gitkeep b/dist/js/vendor/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/dist/package.json b/dist/package.json new file mode 100644 index 0000000..5353ddf --- /dev/null +++ b/dist/package.json @@ -0,0 +1,24 @@ +{ + "name": " ", + "version": "0.0.1", + "description": "", + "private": true, + "keywords": [ + "" + ], + "license": "", + "author": "", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "webpack serve --open --config webpack.config.dev.js", + "build": "webpack --config webpack.config.prod.js" + }, + "devDependencies": { + "copy-webpack-plugin": "^11.0.0", + "html-webpack-plugin": "^5.5.3", + "webpack": "^5.88.2", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + } +} diff --git a/dist/robots.txt b/dist/robots.txt new file mode 100644 index 0000000..d0e5f1b --- /dev/null +++ b/dist/robots.txt @@ -0,0 +1,5 @@ +# www.robotstxt.org/ + +# Allow crawling of all content +User-agent: * +Disallow: diff --git a/dist/site.webmanifest b/dist/site.webmanifest new file mode 100644 index 0000000..222ae16 --- /dev/null +++ b/dist/site.webmanifest @@ -0,0 +1,12 @@ +{ + "short_name": "", + "name": "", + "icons": [{ + "src": "icon.png", + "type": "image/png", + "sizes": "192x192" + }], + "start_url": "/?utm_source=homescreen", + "background_color": "#fafafa", + "theme_color": "#fafafa" +} diff --git a/dist/webpack.common.js b/dist/webpack.common.js new file mode 100644 index 0000000..b502ea9 --- /dev/null +++ b/dist/webpack.common.js @@ -0,0 +1,12 @@ +const path = require('path'); + +module.exports = { + entry: { + app: './js/app.js', + }, + output: { + path: path.resolve(__dirname, 'dist'), + clean: true, + filename: './js/app.js', + }, +}; diff --git a/dist/webpack.config.dev.js b/dist/webpack.config.dev.js new file mode 100644 index 0000000..5953807 --- /dev/null +++ b/dist/webpack.config.dev.js @@ -0,0 +1,13 @@ +const { merge } = require('webpack-merge'); +const common = require('./webpack.common.js'); + +module.exports = merge(common, { + mode: 'development', + devtool: 'inline-source-map', + devServer: { + liveReload: true, + hot: true, + open: true, + static: ['./'], + }, +}); diff --git a/dist/webpack.config.prod.js b/dist/webpack.config.prod.js new file mode 100644 index 0000000..76800e8 --- /dev/null +++ b/dist/webpack.config.prod.js @@ -0,0 +1,26 @@ +const { merge } = require('webpack-merge'); +const common = require('./webpack.common.js'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const CopyPlugin = require('copy-webpack-plugin'); + +module.exports = merge(common, { + mode: 'production', + plugins: [ + new HtmlWebpackPlugin({ + template: './index.html', + }), + new CopyPlugin({ + patterns: [ + { from: 'img', to: 'img' }, + { from: 'css', to: 'css' }, + { from: 'js/vendor', to: 'js/vendor' }, + { from: 'icon.svg', to: 'icon.svg' }, + { from: 'favicon.ico', to: 'favicon.ico' }, + { from: 'robots.txt', to: 'robots.txt' }, + { from: 'icon.png', to: 'icon.png' }, + { from: '404.html', to: '404.html' }, + { from: 'site.webmanifest', to: 'site.webmanifest' }, + ], + }), + ], +}); diff --git a/docs/TOC.md b/docs/TOC.md new file mode 100644 index 0000000..9bfdc24 --- /dev/null +++ b/docs/TOC.md @@ -0,0 +1,37 @@ +[HTML5 Boilerplate homepage](https://html5boilerplate.com/) + +## Getting started + +- [Usage](usage.md) — Overview of the project contents. +- [FAQ](faq.md) — Frequently asked questions along with their answers. + +## HTML5 Boilerplate core + +- [HTML](html.md) — Guide to the default HTML. +- [CSS](css.md) — Guide to the default CSS. +- [JavaScript](js.md) — Guide to the default JavaScript. +- [Everything else](misc.md). + +## Development + +- [Extending and customizing HTML5 Boilerplate](extend.md) — Going further with + the boilerplate. + +## Related projects + +The [H5BP organization](https://github.com/h5bp) maintains several projects that +complement HTML5 Boilerplate, projects that can help you improve different +aspects of your website/web app (e.g.: the performance, security, etc.). + +- [Server Configs](https://github.com/h5bp/server-configs) — Fast and smart + configurations for web servers such as Apache and Nginx. + - [Apache](https://github.com/h5bp/server-configs-apache) + - [Google App Engine (GAE)](https://github.com/h5bp/server-configs-gae) + - [Internet Information Services + (IIS)](https://github.com/h5bp/server-configs-iis) + - [lighttpd](https://github.com/h5bp/server-configs-lighttpd) + - [Nginx](https://github.com/h5bp/server-configs-nginx) + - [Node.js](https://github.com/h5bp/server-configs-node) +- [Front-end Developer Interview Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions) +- [create-html5-boilerplate](https://github.com/h5bp/create-html5-boilerplate) — Quick start HTML5 Boilerplate development. +- [main.css](https://github.com/h5bp/main.css) — the main.css file included (as style.css) with HTML5 Boilerplate. diff --git a/docs/about-this-repo.md b/docs/about-this-repo.md new file mode 100644 index 0000000..3fbdbee --- /dev/null +++ b/docs/about-this-repo.md @@ -0,0 +1,113 @@ +# About This Repo + +This document outlines the configuration of this repo as well as the basic +process we use to manage the project. As GitHub has matured as a platform +and HTML5 Boilerplate has matured as a project there are a lot of lessons +to be learned from the way we run the show here. + +## GitHub configuration + +This section will go through the way we configure the repo in GitHub. +Open source projects get the full power of the platform and as a project +we like to experiment with new GitHub features. Our current configuration +might help you figure out some things you want to do in your own projects. + +### General Configuration + +This section outlines the basic configuration options we use. + +- We have a stub of a Wiki still, so we have wikis turned on. The most + interesting page that remains is a history of the project written several + years ago. +- We use the Issues feature heavily. We don't yet have Issue Templates set + up, but we do have adding them as an issue, so we'll take advantage of them + at some point. +- Discussions are enabled, but they haven't been very useful so far. + +### Pull Requests + +The most visible portion of our configuration is the way we handle pull +requests. At the most basic level, we require pull requests to add code +to the repo and require a review to merge code. In addition we run several +code quality checks on every pull request to make sure we're not introducing +anything we don't want into the codebase. + +We take advantage of the "draft" feature for PRs. This way we have visibility +throughout the life of the PR. + +Let's take a look at how we configure our `main` branch. + +#### `main` + +`main` is the default branch and is our only protected branch. We use feature +branches to add features and/or fix issues in the codebase. Other project +configurations might require a long-running, similarly protected, `development` +branch but for us the single protected `main` branch is enough for our +purposes. + +Our branch protection rules are as follows: + +- We require a pull request (PR) with one approving reviewer to merge code +- In addition to the PR and approving reviewer, we require three status checks + to pass before code can be merged + _ Build with Node 18 + _ Build with Node 16 \* LGTM analysis: JavaScript +- We _allow_ force pushes for project admins. While force pushes can create + some head scratching moments for people who have cloned the repo and update + before and after the force push, the ability to clean up the `HEAD` of a + public branch like this in an emergency is useful. + +#### GitHub Actions and Other Checks That Run on `main` + +- We run a simple _build status_ check. This is the most basic test you can run + and is absolutely vital. If you can't build your project you're in trouble. + Currently we're testing against Node 16 and 18. +- We take advantage of our access to _CodeQL analysis_ Free for research and + open source don't you know :) We don't have a ton of surface area to cover, + but it's nice to have this powerful code scanning tool available to us. +- We run a _dependency review_ scan to see if any newly added dependencies add + known security flaws. This is important for even us, but for a project that + uses a larger number of third party dependencies, this sort of check is vital. +- We also run a CodeQL scans to check for security issues and problems. +- We push any changes to `main` to our [HTML5\-Boilerplate Template Repo](https://github.com/h5bp/html5-boilerplate-template) + +Since we've talked about some of our Actions, let's look at the full configuration +of our `.github` folder. + +### .github Folder + +- workflows + - `build-dist.yml` is currently broken. We can't push to `main` without a + code review, so this task is blocked. What I would like, (are you there, + GitHub, it's me, Rob) is to allow Actions to bypass branch protection + rules. I think we'll have to basically write a mini-bot that opens a PR + whenever there are changes to `main` and then pushes to the same branch + until the PR is closed. In some ways that will be better as it will be less + noisy in terms of bot pushes to main. + - `codeql-analysis.yml` controls our CodeQL action. We use the defaults. If + you're building something with more JavaScript footprint, you can tweak + the settings for this job. + - `dependency-review.yml` does what it says on the tin- it tests newly + introduced dependencies for vulnerabilities. + - `publish.yml` is the action that publishes all the various versions of + the project. When we create a new tag and push it to GitHub, this script + publishes our npm package and creates a GitHub release and attaches a zip + file of our `dist` folder. + - `push-to-template.yml` pushes the `HEAD` of `main` to our template repo + - `spellcheck.yml` automatically checks markdown files for typos with cSpell. + - `test.yml` runs our test suite. +- `CODE_OF_CONDUCT.md` is our Code of Conduct, based on + [Contributor Covenant.](https://www.contributor-covenant.org/) +- `CONTRIBUTING.md` contains our contribution guidelines. +- `ISSUE_TEMPLATE.md` is our new issue boilerplate. +- `PULL_REQUEST_TEMPLATE.md` is our new PR boilerplate. +- `SUPPORT.md` points people to different (non-HTML5-Boilerplate) support + resources +- `dependabot.yml` is our Dependabot configuration. We do `npm`, monthly on + two separate `package.json` files, one in `src` and one in project root. + +--- + +That covers most of the interesting GitHub features and functionality that we +use. We're going to continue to keep this document up to date as we change +things or new GitHub features. diff --git a/docs/css.md b/docs/css.md new file mode 100644 index 0000000..0c548e3 --- /dev/null +++ b/docs/css.md @@ -0,0 +1,22 @@ +[HTML5 Boilerplate homepage](https://html5boilerplate.com/) | [Documentation +table of contents](TOC.md) + +# The CSS + +HTML5 Boilerplate's CSS includes: + +- [style.css](#stylecss) + +## style.css + +Several base styles are included. These styles: + +- provide basic typography settings that improve text readability +- protect against unwanted `text-shadow` during text highlighting +- tweak the default alignment of some elements (e.g.: `img`, `video`, + `fieldset`, `textarea`) +- style the prompt that is displayed to users using an outdated browser +- and more... + +These styles are included in +[style.css](https://github.com/h5bp/html5-boilerplate/blob/main/dist/css/style.css). diff --git a/docs/extend.md b/docs/extend.md new file mode 100644 index 0000000..a3ff5d2 --- /dev/null +++ b/docs/extend.md @@ -0,0 +1,354 @@ +[HTML5 Boilerplate homepage](https://html5boilerplate.com) | [Documentation +table of contents](TOC.md) + +# Extend and customize HTML5 Boilerplate + +Here is some useful advice for how you can make your project with HTML5 +Boilerplate even better. We don't want to include it all by default, as not +everything fits with everyone's needs. + +- [Server Configuration](#server-configuration) +- [App Stores](#app-stores) +- [DNS prefetching](#dns-prefetching) +- [Miscellaneous](#miscellaneous) +- [News Feeds](#news-feeds) +- [Search](#search) +- [Social Networks](#social-networks) +- [URLs](#urls) +- [Web Apps](#web-apps) +- [security.txt](#securitytxt) + +## Server Configuration + +We no longer include a [`.htaccess`](#htaccess) file for the [Apache HTTP +server](https://httpd.apache.org/docs/) in HTML5 Boilerplate by default, however if you are +using a web server, then we encourage you to checkout out the [server configuration](https://github.com/h5bp/server-configs) +that corresponds to your web server and environment. + +These repos offer a collection of configuration snippets that can help your server improve the +website's performance and security, while also ensuring that resources are served with the +correct content-type and are accessible, if needed, even cross-domain. + +## App Stores + +### Smart App Banners in iOS 6+ Safari + +Stop bothering everyone with gross modals advertising your entry in the App +Store. Including the following [meta +tag](https://developer.apple.com/documentation/webkit/promoting_apps_with_smart_app_banners) +will unobtrusively give the user the option to download your iOS app, or open it +with some data about the user's current state on the website. + +```html + +``` + +## DNS prefetching + +In short, DNS Prefetching is a method of informing the browser of domain names +referenced on a site so that the client can resolve the DNS for those hosts, +cache them, and when it comes time to use them, have a faster turn around on the +request. + +### Implicit prefetches + +There is a lot of prefetching done for you automatically by the browser. When +the browser encounters an anchor in your HTML that does not share the same +domain name as the current location the browser requests, from the client OS, +the IP address for this new domain. The client first checks its cache and then, +lacking a cached copy, makes a request from a DNS server. These requests happen +in the background and are not meant to block the rendering of the page. + +The goal of this is that when the foreign IP address is finally needed it will +already be in the client cache and will not block the loading of the foreign +content. Fewer requests result in faster page load times. The perception of this +is increased on a mobile platform where DNS latency can be greater. + +### Explicit prefetches + +Typically the browser only scans the HTML for foreign domains. If you have +resources that are outside of your HTML (a JavaScript request to a remote server +or a CDN that hosts content that may not be present on every page of your site, +for example) then you can queue up a domain name to be prefetched. + +```html + + +``` + +You can use as many of these as you need, but it's best if they are all +immediately after the [Meta +Charset](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-charset) +element (which should go right at the top of the `head`), so the browser can act +on them ASAP. + +### Further reading about DNS prefetching + +- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control +- https://dev.chromium.org/developers/design-documents/dns-prefetching + +## Search + +### Direct search spiders to your sitemap + +After creating a [sitemap](https://www.sitemaps.org/protocol.html) + +Submit it to search engine tool: + +- [Google](https://www.google.com/webmasters/tools/sitemap-list) +- [Bing](https://www.bing.com/toolbox/webmaster) +- [Yandex](https://webmaster.yandex.com/) +- [Baidu](https://zhanzhang.baidu.com/) OR Insert the following line anywhere in + your robots.txt file, specifying the path to your sitemap: + +``` +Sitemap: https://example.com/sitemap_location.xml +``` + +### Hide pages from search engines + +According to Heather Champ, former community manager at Flickr, you should not +allow search engines to index your "Contact Us" or "Complaints" page if you +value your sanity. This is an HTML-centric way of achieving that. + +```html + +``` + +**_WARNING:_** DO NOT INCLUDE ON PAGES THAT SHOULD APPEAR IN SEARCH ENGINES. + +### Search Plugins + +Sites with in-site search functionality should be strongly considered for a +browser search plugin. A "search plugin" is an XML file which defines how your +plugin behaves in the browser. [How to make a browser search +plugin](https://developer.mozilla.org/en-US/docs/Web/OpenSearch). + +```html + +``` + +## Miscellaneous + +- Use [Microformats](https://microformats.org/wiki/Main_Page) (via + [microdata](https://microformats.org/wiki/microdata)) for optimum search + results + [visibility](https://developers.google.com/search/blog/2009/05/introducing-rich-snippets). + +- If you want to disable the translation prompt in Chrome or block Google + Translate from translating your web page, use [``](https://developers.google.com/search/docs/crawling-indexing/special-tags). + To disable translation for a particular section of the web page, add + [`class="notranslate"`](https://support.google.com/translate/?hl=en#2641276). + +- If you want to disable the automatic detection and formatting of possible + phone numbers in Safari on iOS, use [``](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html). + +- Avoid development/stage websites "leaking" into SERPs (search engine results + page) by [implementing X-Robots-tag + headers](https://github.com/h5bp/html5-boilerplate/issues/804). + +## News Feeds + +### RSS + +Have an RSS feed? Link to it here. Want to [learn how to write an RSS feed from +scratch](https://www.rssboard.org/rss-specification)? + +```html + +``` + +### Atom + +Atom is similar to RSS, and you might prefer to use it instead of or in addition +to it. [See what Atom's all +about](Sorry, but the page you were trying to view does not exist.
+ + + + diff --git a/src/Home - Gain Access to Diverse Investment Options _ US Investing App.html b/src/Home - Gain Access to Diverse Investment Options _ US Investing App.html new file mode 100644 index 0000000..7cefdc6 --- /dev/null +++ b/src/Home - Gain Access to Diverse Investment Options _ US Investing App.html @@ -0,0 +1,8970 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +Investing from Africa has never been easier. Get started in 3 + easy steps
Create an account
+by selecting your country and instantly verify your identity + using your government issued number like your Bank Verification Number or National Identity + Number.
Fund your wallet
+via multiple channels including your local currency cards and our + partner will handle the currency conversion instantly in one click.
Start Investing
+in your favorite public listed US company, a bundle of companies + called an ETF,other African companies, mutual funds, or fixed income products from around the + world.
Our fractional investing technology allows you to invest as much or as + little as you want in your favorite public listed US company, a bundle of companies called an ETF, other + African companies, mutual funds, or fixed income products from around the world.
Start InvestingWe teach you the basics and get you started on your investment journey + in no time.
+ +You trust us with your investments and we take that very + seriously. We are committed to protecting your account with the highest standards of security + available.
Bank Level Security
+We use state-of-the-art data encryption when handling your + financial information and two-factor authentication (2FA) protection. We're backed by top + financial market operators and we not only meet traditional banking security standards, we exceed + them.
Secure Payments
+Our payment processor Flutterwave is PADSS & PCIDSS compliant + satisfying the highest level of Security Audit available.
Covered by NG & US SEC
+Trading accounts are held by our partners, a firm duly registered + by the Securities and Exchange Commission in Nigeria and in the US
SIPC Insured
+Your US stocks portfolio is insured by the United States SIPC up + to $500,000.
Stocks
+Discover the best global and local stocks to invest in. Get + unrestricted access to the U.S. and Nigerian stock markets, right from your mobile phone or + computer.
Exchange Traded Funds + (ETFs)
+Want to quickly diversify your portfolio? Unsure what stocks to + buy? Want to follow an index like the S&P 500 that tracks the US economy? Want to get + professional money management for a low price? We have got you covered.
Fixed Returns
+Bamboo Fixed Returns is for you. It is a fixed-income + dollar-denominated investment that gives you up to 8% annual returns. It allows you to invest your + extra cash and diversify your overall portfolio.
For Institutions
+Build or integrate your application with our suite of products or + use our trading tool for managers and brokers. Give your clients more access to buy stocks, ETFs, + seamlessly manage portfolios, access research and powerful reports.
Armed with the most robust data feeds about the + market, we alert our investors with power triggers that ensure you make money moves as the market moves.
+500,000+
+Registered users
Armed with the most robust data feeds about the market, we alert our + investors with power triggers that ensure you make money moves as the market moves.
+ +Our community has many gems. You can learn from others, vote on + upcoming features, chat, and share your ideas. First time investors and experienced ones - all are + welcome!
+ +Plot 1, Block 22, Babatunde Anjous Ave, Lekki Phase 1, Lagos, Nigeria.
+490 Post Street, Ste. 526
San Francisco, CA 94102
Bamboo Systems Technology Limited (“Bamboo”) is a company duly licensed by + the Securities and Exchange Commission, Nigeria. Bamboo does not provide investment advice and individual + investors should make their own decisions to seek independent advice. The value of investments can go up as + well as down and you may receive back less than your original investment. US-traded securities, including + fractional trading are provided to Lambeth Capital Limited (“Lambeth Capital”) by Drivewealth LLC, a regulated + member of FINRA/SIPC. + DriveWealth, LLC is a registered broker dealer, member of FINRA + and SIPC. + Nigerian account traded securities are facilitated by Lambeth Capital, a broker-dealer registered with the + Securities and Exchange Commission, Nigeria and a Trading License Holder of the Nigerian Exchange Group. + Lambeth Capital does not make any personal recommendations to buy, sell, or otherwise deal in investments. + Investors make their own investment decisions. The services and securities provided by Lambeth Capital may not + be suitable for all customers and, if you have any doubts, you should seek advice from an independent + financial adviser.
+© Copyright 2024 - + Bamboo. All rights reserved.
Some unneadable information will be placed here for testing phone programming in action. All this text + created with default CSS style and placed into the second line after H2 text.
+Flowjo members get good design and peace of + mind. It shouldn't feel like a burden when you hire designers to solve problems. Also - with every new + Flowjo subscription, any angel gets its wings.
You aren't stuck with us, but we hope you'll stick with us. Use Flowjo as your design
+ and Webflow needs require.
Meetings do nothing for your website issue or social campaign that can't launch without a + graphic. Let's work.
+Make a request. Receive deliverable. Revise as much as you'd like. Send us as much coffee as + you'd like.
+We’ve made thousands of designs across all + sorts of discplines over the years. Here’s an a combo platter of some of our recent work.
We know your day is already full of + infomercial-like overwhelm, so don’t worry about babysitting Flowjo to get great design. Stop juggling, + you're not a clown.
We've got a simple to use plans for every business. Design only, Design + + Webflow Support, and hit us up below if you have enterprise level needs that the other two plans don't + fit. Remember you can always scale up or down if you need to adjust.
All you ever have to do is fill out our request form and track your requests + and deliverables on your very own Dashboard in Notion.
Easily see when you can expect to get your requests delivered so that you + can plan, prioritize, and celebrate your awesome new designs accordingly.
We don't really have a 4th step, but everyone else does, so we added this + one just for you.
Let's + get you the design support you need without the shenanigans. Pick the plan that plan that fits you like a + glove and schedule a talk to chat to make sure the two clowns running this thing pass your vibe test. + (Spoiler alert...they do.)
Secret menu item: a quarterly subscription that + saves $500 per month.
Agencies suck. Good freelancers are hard to find. Get routine dev support and maintenance without + having to reach out to "that one guy."
+Agencies suck. Good freelancers are hard to find. Get quality graphic design for the price of a Jr. + Designer who uses all their sick days in the first month.
+Your personal Webflow A-Team (theme song not included) is there to develop new pages, clean up + existing work, and improve performance.
+For active marketing teams that need some extra sauce. Maybe you need more requests. A faster + turnaround time. A brand or website built from the ground up? Let's make the plan fit for you.
+Flowjo is freakishly knowledgeable - like Clippy, but actually useful.
Note:Though if you ask us about
+ Microsoft Word tips, you could be in trouble.
Flowjo is designed for + month to month payment, so you can cancel or pause whenever you're ready.
You can + sign up annually if it makes sense for you. We'll even knock off 15%! It's only fair since you're + putting your full belief in Flowjo! It may also be the case that you need some project work, like a + whole brand and website or something like that. If that's your biggest need at the moment, hit us up and we + can get you a cost for the project and you can maintain and grow with the Flowjo subscription from + there!
We're + just two guys and we're having a good time, so we don't have any freebies at the moment. Keeping the + lights on and all. You can get a big, fat discount (15% off) when you commit to a year if your hunting + for that sort of thing.
We're a + two person Webflow certified team, so you are getting work straight from the founders. Hi, I'm Matt and + he's Hien.
No, + refunds are not available since we use this subscription model to block off our time for you so we can + knock out world-changing designs. That time costs money, so outside of us severely effing something up + (knocking on wood, this is something that has literally never happened since we take pride in our work), + there are no refunds. With that being said, if you're ever unsatisfied for any reason with our services, + feel free to reach out and we'll do our best to accommodate you.
When you + sign up, you'll receive a welcome email that contains a link to log into your customer portal (via + Stripe) where you'll be able to manage your subscription.
+ Onboarding is pretty straightforward. We do a 1-hour onboarding call (it usually never takes that long) + to make sure both parties are a good fit, you provide us with an overview of what your needs are, we + read through the request and approval process, the tools we use, and we're off to the races.
Unless + you have the 'Extra Sauce' aka the Enterprise level plan, we deliver requests one at a time. You can add + as many as you like to your queue and we will work them until you're completely satisfied during your + subscription. A big reason, aside from our sanity and commitment to quality deliverables is that this is + the fastest way for you to get what you need. Simultaneous requests make for confusing priorities and a + lot on your plate as well.
+ Absolutely. We use Airtable for the form request and that's also where we work your requests. As a part + of your onboarding, we'll share a link with you so you can see what's being worked on and what's in the + queue. If you ever want us to prioritize a task, slack us.
No one + has ever been upset with one less meeting and the time we get back allows us to put our heads down to + knock out your tasks. We make ourselves readily available through Slack and email, and that's usually + enough for us get the deliverable exactly as what you had in your head. However, if the request is crazy + complicated, a meeting to walk through it may be necessary but our goal is to be 99.999% async.
+The + answer you want to hear is "yesterday" or "as soon as possible," but the actual SLA is no sooner than 2 + business days from the time the request is submitted.
Webflow + is the best design platform in our humble opinion and therefore the only one we use to design and + deliver. If you have a Webflow site and need some help maintaining and building on it - we got you. If + you want to move your site, holler at your boys and we can scope out a project for something that big + and tasty.
In the + immortal words of Stone Cold Steve Austin – "hell yeah!" Not to brag but we've migrated sites from + basically every web platform under the sun to Webflow, so we can definitely help you with this.
+