Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 100 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,128 @@
<p align="center">
<img src="https://raw.githubusercontent.com/pkosiec/website/main/static/img/logo.png" width="75">
<img src="./static/img/logo.png" width="100" alt="P Foundation Logo">
</p>

# Paweł Kosiec - Personal Website
# P Foundation

This repository contains source code of the Paweł Kosiec's personal website. To see it live, navigate to the [kosiec.dev](https://kosiec.dev) address.
**Empowering nations with open internet and free journalism.**

P Foundation is a 501(c)(3) non-profit corporation registered in Washington, DC, dedicated to bridging the digital divide and promoting open access to information worldwide. Established in 2021, we serve the global community with a focused commitment to the Middle East and Lebanon, where the need for open internet and free journalism is crucial.

## Our Mission

At the core of our foundation lies the ethos that an open internet and free journalism form the backbone of every progressive nation, binding societies with threads of transparency, accountability, and uninhibited expression. We envision a world where every individual, irrespective of their location or background, has unhindered access to the vast reservoirs of knowledge and information the internet has to offer.

## Our Values

Our work is guided by four core principles:

- **Patriotism**: We fuel our drive to serve the nations we operate in, ensuring that the benefits of our efforts are felt at every grassroots level.
- **Passion**: Our passion for an open internet propels us forward, driving us to challenge the status quo and break down barriers.
- **Persistence**: This helps us overcome challenges, ensuring that we remain committed to our goals no matter the hurdles.
- **Partnership**: Our belief in global partnerships stems from understanding that collaborative efforts amplify impact. By forging alliances with like-minded entities, we strive to achieve collective success that benefits all.

## Background & Rationale

The P Foundation emerged from a profound belief in the power of media and the transformative capabilities of technology. Founded during a period of significant challenges in the Middle East, particularly in Lebanon where internet access had become a political bargaining chip and infrastructure was crumbling, we recognized the urgent need for sustainable solutions.

Our founder's journey from developer to media professional, combined with exposure to newsrooms and understanding of both technical and communications challenges, laid the foundation for our comprehensive approach to digital empowerment.

## Current Programs

### MediaGuard

Designed to bolster media organizations globally, MediaGuard extends tailored support ensuring they maintain a consistent and uninterrupted media presence. Services include backhaul support, downlinking, digital streaming, and content distribution.

**Contact**: [email protected]

### CitizenMesh

A community-led initiative that empowers communities to build and maintain their own reliable internet connections. We focus on key communal spaces such as educational institutions, public libraries, and public spaces, offering free internet access as a cornerstone for enhancing public life.

**Contact**: [email protected]

### ResilientNet

A specialized extension of CitizenMesh aimed at providing robust internet connectivity to critical installations essential for public well-being, including healthcare institutions, emergency services, and utility facilities.

## Future Plans & Roadmap to 2027

Our strategic goals include:

### Expanding Partnerships

Increasing the number of beneficiaries by adding more organizations to our MediaGuard initiative, offering personalized support and dedicated points of contact for smoother transitions.

### Strengthening Citizen-Focused Programs

Deepening partnerships with organizations that have significant grassroots experience and direct impact on citizens' lives, providing enhanced tools and support.

### Forward Deployed Software Engineer Model

Developing a structured program to train software engineers in rapid problem-solving and effective integration, addressing the talent gap in the Middle East.

### Program Enhancement

Leveraging advancements in machine learning and technology to accelerate development processes and introduce new functionalities to better serve our partners.

## Key Contributors & Leadership

- **Jud**: Founder and primary architect of the foundation's vision and strategy
- Our dedicated team of volunteers who employ systematic approaches to assess connectivity needs and expand services
- Various partner organizations and stakeholders who collaborate on initiatives

## Documentation & References

- [Roadmap to 2027](./messages/2024-03-31-roadmap_to_2027.md) - Our strategic vision and goals
- [Code of Conduct](./src/pages/coc.md) - Our principles and standards
- [Foundation Website](https://p.foundation) - Complete information about our work
- [AS399728 Network Information](https://p.foundation/as399728) - Our network peering details

## Getting Involved

We welcome contributions from external stakeholders and the community at large. Whether you're a media organization seeking support, a community looking for connectivity solutions, or an individual interested in our mission, we encourage you to reach out.

For general inquiries: [Contact us through our website](https://p.foundation)

---

## Development

This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.

### Installation

```
$ npm install
```bash
npm install
```

### Local Development

```
$ npm start
```bash
npm start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
$ npm run build
```bash
npm run build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

### Testing

```bash
npm run lint
npm run typecheck
```

### Deployment

This site is deployed automatically from the `main` branch using [Cloudflare Pages](https://pages.cloudflare.com/).

---

_Together, as we navigate the challenges and opportunities of the digital age, the P Foundation stands as a beacon of hope, dedication, and unwavering commitment to a brighter, more informed, and interconnected world._
37 changes: 37 additions & 0 deletions src/components/homepage/AboutMe.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.AboutMe = void 0;
var react_1 = require('react');
var clsx_1 = require('clsx');
var AboutMe_module_scss_1 = require('./AboutMe.module.scss');
var AboutMe = function (_a) {
var avatar = _a.avatar,
descriptionComponent = _a.descriptionComponent;
return react_1.default.createElement(
'div',
{ className: 'margin-top--lg' },
react_1.default.createElement('h2', null, 'About us'),
react_1.default.createElement(
'div',
{ className: 'row' },
react_1.default.createElement(
'div',
{ className: 'col col--9' },
descriptionComponent
),
react_1.default.createElement(
'div',
{
className: (0, clsx_1.default)(
'col col--2',
AboutMe_module_scss_1.default.avatarContainer
),
},
react_1.default.createElement('div', {
className: AboutMe_module_scss_1.default.avatar,
})
)
)
);
};
exports.AboutMe = AboutMe;
56 changes: 56 additions & 0 deletions src/components/homepage/Hero.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.Hero = void 0;
var clsx_1 = require('clsx');
var react_1 = require('react');
var Hero_module_scss_1 = require('./Hero.module.scss');
var Hero = function () {
return react_1.default.createElement(
'header',
{
className: (0, clsx_1.default)(
'hero hero--primary',
Hero_module_scss_1.default.heroBanner
),
},
react_1.default.createElement(
'div',
{ className: 'container' },
react_1.default.createElement(
'h1',
{
className: (0, clsx_1.default)(
'hero__title',
Hero_module_scss_1.default.title
),
},
'Empowering nations with',
' ',
react_1.default.createElement(
'span',
{ className: Hero_module_scss_1.default.highlighted },
'open internet'
),
' and',
' ',
react_1.default.createElement(
'span',
{ className: Hero_module_scss_1.default.highlighted },
'free journalism'
),
'.'
),
react_1.default.createElement(
'p',
{
className: (0, clsx_1.default)(
'hero__subtitle',
Hero_module_scss_1.default.subtitle
),
},
'Bridging the digital divide, the P Foundation is committed to connecting communities and fostering a world of informed, global collaboration.'
)
)
);
};
exports.Hero = Hero;
89 changes: 89 additions & 0 deletions src/components/homepage/SocialLinks.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.SocialLinks = exports.defaultSocialLinkData = void 0;
var clsx_1 = require('clsx');
var react_1 = require('react');
var SocialLinks_module_scss_1 = require('./SocialLinks.module.scss');
exports.defaultSocialLinkData = [
{
name: 'GitHub',
url: 'https://github.com/pfoundation',
svg: react_1.default.createElement(
'svg',
{
role: 'img',
viewBox: '0 0 24 24',
xmlns: 'http://www.w3.org/2000/svg',
},
react_1.default.createElement('title', null, 'GitHub'),
react_1.default.createElement('path', {
d: 'M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12',
})
),
},
{
name: 'X',
url: 'https://x.com/pfoundation',
svg: react_1.default.createElement(
'svg',
{
role: 'img',
viewBox: '0 0 24 24',
xmlns: 'http://www.w3.org/2000/svg',
},
react_1.default.createElement('title', null, 'Twitter'),
react_1.default.createElement('path', {
d: 'M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z',
})
),
},
];
var SocialLinks = function (_a) {
var data = _a.data;
var socialLinksComponents = data.map(function (_a) {
var name = _a.name,
url = _a.url,
svg = _a.svg;
return react_1.default.createElement(
'div',
{
className: (0, clsx_1.default)(
'col',
SocialLinks_module_scss_1.default.col
),
key: name,
},
react_1.default.createElement(
'a',
{
href: url,
target: '_blank',
className: (0, clsx_1.default)(
'button button--outline button--primary',
SocialLinks_module_scss_1.default.btn
),
},
react_1.default.createElement(
'span',
{ className: SocialLinks_module_scss_1.default.btnIcon },
svg
)
)
);
});
return react_1.default.createElement(
'div',
{ className: SocialLinks_module_scss_1.default.socialContainer },
react_1.default.createElement(
'div',
{
className: (0, clsx_1.default)(
'row',
SocialLinks_module_scss_1.default.socialLinks
),
},
socialLinksComponents
)
);
};
exports.SocialLinks = SocialLinks;
Loading