<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>2025 Conference Johannesburg (Online Only) &#8211; NodeJsOne Africa</title>
	<atom:link href="https://nodejsone.com/event/2025-conference-johannesburg-online-only/feed/" rel="self" type="application/rss+xml" />
	<link>https://nodejsone.com</link>
	<description>17th October, Johannesburg</description>
	<lastBuildDate>Thu, 30 Jan 2025 13:00:11 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://nodejsone.com/wp-content/uploads/2022/06/cropped-nodejsone-favicon-32x32.png</url>
	<title>2025 Conference Johannesburg (Online Only) &#8211; NodeJsOne Africa</title>
	<link>https://nodejsone.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Oops! I Made a Game Engine</title>
		<link>https://nodejsone.com/session/oops-i-made-a-game-engine/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Wed, 15 Jan 2025 13:37:31 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=session&#038;p=644413</guid>

					<description><![CDATA[I needed to teach a bunch of non-coders how to write JS, so I built a game engine. Not the wisest choice, but definitely one that taught me much about how game engines work. Follow along as I show you more of the interesting things I learned through this process. We&#8217;ll cover things like: &#8211; [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I needed to teach a bunch of non-coders how to write JS, so I built a game engine. Not the wisest choice, but definitely one that taught me much about how game engines work. Follow along as I show you more of the interesting things I learned through this process. We&#8217;ll cover things like:</p>
<p>&#8211; Drawing on canvas</p>
<p>&#8211; Structuring libraries to not need build steps</p>
<p>&#8211; Making sounds and music in the browser</p>
<p>&#8211; The math behind drawing circles and lines</p>
<p>&#8211; Designing JS APIs that don&#8217;t suck</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Full-stack web development with The Boring JavaScript Stack</title>
		<link>https://nodejsone.com/session/full-stack-web-development-with-the-boring-javascript-stack/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Wed, 15 Jan 2025 13:24:19 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=session&#038;p=644411</guid>

					<description><![CDATA[We have an unfair advantage of Node.js to make JavaScript a great language for full-stack web development. But why are frameworks like Rails and Laravel keep winning when it comes to great productivity for the full-stack developer? In this talk I&#8217;ll show an alternative way to build full-stack SPAs without subscribing for endless developer tools [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>We have an unfair advantage of Node.js to make JavaScript a great language for full-stack web development. But why are frameworks like Rails and Laravel keep winning when it comes to great productivity for the full-stack developer? In this talk I&#8217;ll show an alternative way to build full-stack SPAs without subscribing for endless developer tools as a server while also keeping things simple and powerful with The Boring JavaScript Stack.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Satisfying Types: Literal Magic and TypeScript Patterns</title>
		<link>https://nodejsone.com/session/talk-to-be-confirmed-2/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Wed, 15 Jan 2025 13:22:21 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=session&#038;p=644409</guid>

					<description><![CDATA[TypeScript&#8217;s type system is more than just a safety net &#8211; it&#8217;s an expressive toolkit for modelling complex relationships in your code. In this talk, we&#8217;ll explore how literal types serve as building blocks for type patterns that enhance both safety and readability. From discriminated unions to template literals, we&#8217;ll see how these concepts build [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>TypeScript&#8217;s type system is more than just a safety net &#8211; it&#8217;s an expressive toolkit for modelling complex relationships in your code. In this talk, we&#8217;ll explore how literal types serve as building blocks for type patterns that enhance both safety and readability. From discriminated unions to template literals, we&#8217;ll see how these concepts build on each other to create more powerful type definitions. Whether you&#8217;re new to advanced typing or looking to level up your skills, you&#8217;ll leave with concrete patterns you can implement in your codebase today.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What the mock? Testing database applications without mocks</title>
		<link>https://nodejsone.com/session/talk-to-be-confirmed/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Wed, 15 Jan 2025 13:18:53 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=session&#038;p=644407</guid>

					<description><![CDATA[So you&#8217;ve got an application that talks to a database. And you&#8217;ve got unit tests for your business logic. But you also want to write integration tests to make sure it&#8217;s all working together properly. You&#8217;ll need to mock the data access layer. Not necessarily! In this talk, we&#8217;ll explore how you can use Testcontainers [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>So you&#8217;ve got an application that talks to a database. And you&#8217;ve got unit tests for your business logic. But you also want to write integration tests to make sure it&#8217;s all working together properly. You&#8217;ll need to mock the data access layer. Not necessarily! In this talk, we&#8217;ll explore how you can use Testcontainers to easily spin up a real database instance in a container for testing. This approach allows for testing more realistic behaviour and catching real-world issues like SQL syntax errors.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Sometimes, you can Go further with JavaScript, if you dare to Go in the first place</title>
		<link>https://nodejsone.com/session/sometimes-you-can-go-further-with-javascript-if-you-dare-to-go-in-the-first-place/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Wed, 15 Jan 2025 13:04:36 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=session&#038;p=644405</guid>

					<description><![CDATA[There&#8217;s no question that JavaScript is everywhere and lets you do amazing things in the browser. There is however the question of whether JavaScript is suitable for all things. In one area in particular, I&#8217;ve come to rely on JavaScript for the presentation layer and Go for everything else. In this talk, I&#8217;ll show you [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There&#8217;s no question that JavaScript is everywhere and lets you do amazing things in the browser. There is however the question of whether JavaScript is suitable for all things. In one area in particular, I&#8217;ve come to rely on JavaScript for the presentation layer and Go for everything else. In this talk, I&#8217;ll show you how these two vastly different languages can work together to build a modern, cohesive solution that puts a new spin on a very old concept: The humble Desktop application.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Using Web Components in React 19</title>
		<link>https://nodejsone.com/session/using-web-components-in-react-19/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Wed, 15 Jan 2025 13:02:24 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=session&#038;p=644403</guid>

					<description><![CDATA[React announced the official beta release of the upcoming 19th version of the library. It arrived with somewhat of a bang, and rightfully so &#8211; there are a lot of major changes coming to JavaScript&#8217;s most used framework (at the point of writing).However, one massive change that seems to have flown (somewhat interestingly) under the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>React announced the official beta release of the upcoming 19th version of the library. It arrived with somewhat of a bang, and rightfully so &#8211; there are a lot of major changes coming to JavaScript&#8217;s most used framework (at the point of writing).However, one massive change that seems to have flown (somewhat interestingly) under the radar is the addition of full native Web Component interoperability. When juxtaposed against Svelte, Vue and Solid&#8217;s recent moves away from the Web Component specification &#8211; and the uproar caused by Ryan Carniato&#8217;s article arguing against Web Components &#8211; this is an extremely notable, and interesting development within the landscape of modern JavaScript. In this talk, we will not only explore the implications of the above, but also what this means for the average JavaScript developer in their day-to-day work (especially those using React). We will then end off with a practical example of how you can start using Web Components within React at this very moment.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tamira Gunzburg-Chibua</title>
		<link>https://nodejsone.com/speaker/tamira-gunzburg-chibua/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Wed, 08 Jan 2025 08:34:53 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=speaker&#038;p=644378</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[</div></div></div><!-- close content main div --></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_section-432109fec4e6eceac32b6e66d3fccd7c">
.avia-section.av-av_section-432109fec4e6eceac32b6e66d3fccd7c{
background-color:#262e3b;
background-image:unset;
}
</style>
<div id='av_section_1'  class='avia-section av-av_section-432109fec4e6eceac32b6e66d3fccd7c main_color avia-section-no-padding avia-no-border-styling avia-bg-style-scroll av-minimum-height av-minimum-height-custom  container_wrap fullsize'   data-av_minimum_height_px='60'><div class='container av-section-cont-open' style='height:60px'><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_full first flex_column_div av-zero-column-padding '     ><section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><div class="av-special-heading av-special-heading-h1 custom-color-heading blockquote modern-quote avia-builder-el-2 avia-builder-el-no-sibling " style="padding-bottom: 0px; margin-top: 34px; color: #ffffff;">
<h1 class="av-special-heading-tag" style="font-weight: 300;">Tamira Gunzburg-Chibua</h1>
<div class="special-heading-border">
<div class="special-heading-inner-border" style="border-color: #ffffff;"></div>
</div>
</div>
</div></section></div>

</div></div></div><!-- close content main div --></div></div><div id='av_section_2'  class='avia-section av-av_section-7c51d45cb193ee5453f2d869ba9ea4f1 main_color avia-section-default avia-no-border-styling avia-bg-style-scroll container_wrap fullsize'  ><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_third first flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><img width="300" height="300" src="https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-300x300.jpg" class="wp-image-644383 avia-img-lazy-loading-644383 attachment-medium size-medium wp-post-image" alt="" decoding="async" srcset="https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-300x300.jpg 300w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-80x80.jpg 80w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-36x36.jpg 36w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-180x180.jpg 180w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-120x120.jpg 120w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-450x450.jpg 450w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua-100x100.jpg 100w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Tamira-Gunzburg-Chibua.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" />
</div></section><br />
<section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p class="speaker-single-socials" target="_blank"><a href="https://www.linkedin.com/in/tamira-gunzburg-chibua/" target="_blank" rel="noopener"><i class="fa fa-linkedin"></i></a></p>
</div></section></p></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e">
.flex_column.av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e av_two_third flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-m5nn40ze-fd2ff98f9348da3af2496f29a49b527f'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p>Tamira Gunzburg-Chibua is a full-stack software engineer at Peach Payments. Prior to working in the payment space, she also worked at tech startups in the transport and property industries. One of the things that she loves about programming is when her tests catch bugs before they ever see the light of day.</p>
</div></section><br />
<div  class='avia-button-wrap av-av_button-8e119777bf2199a893b1f65f6c8708ee-wrap avia-button-left ' ><a href='https://nodejsone.com/?page_id=84'  class='avia-button av-av_button-8e119777bf2199a893b1f65f6c8708ee avia-icon_select-yes-left-icon avia-size-large avia-position-left avia-color-theme-color' ><span class='avia_button_icon avia_button_icon_left' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></span><span class='avia_iconbox_title' >Purchase Tickets</span></a></div></p></div></div></div></div><!-- close content main div --></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_section-192d22f143813973a1448a2a602f43c9">
.avia-section.av-av_section-192d22f143813973a1448a2a602f43c9{
background-repeat:no-repeat;
background-image:url(https://nodejsone.com/wp-content/uploads/2022/05/NODEJS-ONE-Conference-subscribe-1-300x156.jpg);
background-position:50% 100%;
background-attachment:fixed;
}
.avia-section.av-av_section-192d22f143813973a1448a2a602f43c9 .av-section-color-overlay{
opacity:0.8;
background-color:#313131;
}
</style>
<div id='contact'  class='avia-section av-av_section-192d22f143813973a1448a2a602f43c9 main_color avia-section-large avia-no-border-styling avia-full-stretch avia-bg-style-fixed av-section-color-overlay-active container_wrap fullsize'  data-section-bg-repeat='stretch'><div class="av-section-color-overlay-wrap"><div class="av-section-color-overlay"></div><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_full first flex_column_div av-zero-column-padding '     ><p>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-m5nn1t9a-bc10016613ce60be06452dadeb7fee91">
#top .av-special-heading.av-m5nn1t9a-bc10016613ce60be06452dadeb7fee91{
margin:0 0 0 0;
padding-bottom:20px;
color:#ffffff;
}
body .av-special-heading.av-m5nn1t9a-bc10016613ce60be06452dadeb7fee91 .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-m5nn1t9a-bc10016613ce60be06452dadeb7fee91 .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-m5nn1t9a-bc10016613ce60be06452dadeb7fee91 .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-m5nn1t9a-bc10016613ce60be06452dadeb7fee91 av-special-heading-h2 custom-color-heading blockquote modern-quote'><h2 class='av-special-heading-tag'  itemprop="headline"  >Interested in NodeJSOne Africa Conference 2025?</h2><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div><br />

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-m5nn17df-cc96205b48047c7ecf0647daed099e1d">
#top .av-special-heading.av-m5nn17df-cc96205b48047c7ecf0647daed099e1d{
margin:0 0 0 0;
padding-bottom:10px;
color:#ffffff;
}
body .av-special-heading.av-m5nn17df-cc96205b48047c7ecf0647daed099e1d .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-m5nn17df-cc96205b48047c7ecf0647daed099e1d .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-m5nn17df-cc96205b48047c7ecf0647daed099e1d .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-m5nn17df-cc96205b48047c7ecf0647daed099e1d av-special-heading-h5 custom-color-heading blockquote modern-quote'><h5 class='av-special-heading-tag'  itemprop="headline"  >If you would like to be a part of the conference as a sponsor please send an email to <a href="mailto:info@nodejsone.com">info@nodejsone.com</a></h5><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div><br />

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_hr-10bd663a30584a911f6c12f06b495e68">
#top .hr.hr-invisible.av-av_hr-10bd663a30584a911f6c12f06b495e68{
height:30px;
}
</style>
<div  class='hr av-av_hr-10bd663a30584a911f6c12f06b495e68 hr-invisible'><span class='hr-inner '><span class="hr-inner-style"></span></span></div></p></div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ewald Horn</title>
		<link>https://nodejsone.com/speaker/ewald-horn/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Sat, 14 Dec 2024 18:11:32 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=speaker&#038;p=644367</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[</div></div></div><!-- close content main div --></div></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_section-432109fec4e6eceac32b6e66d3fccd7c">
.avia-section.av-av_section-432109fec4e6eceac32b6e66d3fccd7c{
background-color:#262e3b;
background-image:unset;
}
</style>
<div id='av_section_4'  class='avia-section av-av_section-432109fec4e6eceac32b6e66d3fccd7c main_color avia-section-no-padding avia-no-border-styling avia-bg-style-scroll av-minimum-height av-minimum-height-custom  container_wrap fullsize'   data-av_minimum_height_px='60'><div class='container av-section-cont-open' style='height:60px'><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_full first flex_column_div av-zero-column-padding '     ><section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><div class="av-special-heading av-special-heading-h1 custom-color-heading blockquote modern-quote avia-builder-el-2 avia-builder-el-no-sibling " style="padding-bottom: 0px; margin-top: 34px; color: #ffffff;">
<h1 class="av-special-heading-tag" style="font-weight: 300;">Ewald Horn</h1>
<div class="special-heading-border">
<div class="special-heading-inner-border" style="border-color: #ffffff;"></div>
</div>
</div>
</div></section></div>

</div></div></div><!-- close content main div --></div></div><div id='av_section_5'  class='avia-section av-av_section-7c51d45cb193ee5453f2d869ba9ea4f1 main_color avia-section-default avia-no-border-styling avia-bg-style-scroll container_wrap fullsize'  ><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_third first flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><img width="300" height="300" src="https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-300x300.jpg" class="wp-image-644391 avia-img-lazy-loading-644391 attachment-medium size-medium wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-300x300.jpg 300w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-80x80.jpg 80w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-36x36.jpg 36w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-180x180.jpg 180w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-120x120.jpg 120w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-450x450.jpg 450w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn-100x100.jpg 100w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Edwald-Horn.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" />
</div></section><br />
<section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p class="speaker-single-socials" target="_blank"><a href="https://www.linkedin.com/in/ewaldhorn/" target="_blank" rel="noopener"><i class="fa fa-linkedin"></i></a></p>
</div></section></p></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e">
.flex_column.av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e av_two_third flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-m4oihw3l-daef24c99438611c7605013e1706ffea'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p><span style="font-weight: 400;">Ewald Horn&#8217;s been the primary obstacle to accident-free Tequila Tuesdays at NoFuss Solutions forever and a day. When he&#8217;s not running around with a chainsaw on a stick, he writes code of questionable quality in whatever compiler or interpreter he can find. If you see him at a conference, you can rest assured he&#8217;s just there for the snacks. Come on in, stay a while and listen!</span></p>
</div></section><br />
<div  class='avia-button-wrap av-av_button-8e119777bf2199a893b1f65f6c8708ee-wrap avia-button-left ' ><a href='https://nodejsone.com/?page_id=84'  class='avia-button av-av_button-8e119777bf2199a893b1f65f6c8708ee avia-icon_select-yes-left-icon avia-size-large avia-position-left avia-color-theme-color' ><span class='avia_button_icon avia_button_icon_left' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></span><span class='avia_iconbox_title' >Purchase Tickets</span></a></div></p></div></div></div></div><!-- close content main div --></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_section-192d22f143813973a1448a2a602f43c9">
.avia-section.av-av_section-192d22f143813973a1448a2a602f43c9{
background-repeat:no-repeat;
background-image:url(https://nodejsone.com/wp-content/uploads/2022/05/NODEJS-ONE-Conference-subscribe-1-300x156.jpg);
background-position:50% 100%;
background-attachment:fixed;
}
.avia-section.av-av_section-192d22f143813973a1448a2a602f43c9 .av-section-color-overlay{
opacity:0.8;
background-color:#313131;
}
</style>
<div id='contact'  class='avia-section av-av_section-192d22f143813973a1448a2a602f43c9 main_color avia-section-large avia-no-border-styling avia-full-stretch avia-bg-style-fixed av-section-color-overlay-active container_wrap fullsize'  data-section-bg-repeat='stretch'><div class="av-section-color-overlay-wrap"><div class="av-section-color-overlay"></div><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_full first flex_column_div av-zero-column-padding '     ><p>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-m4oii7af-95cb3a9e4c8aa0004f57d0f90d4fd8c5">
#top .av-special-heading.av-m4oii7af-95cb3a9e4c8aa0004f57d0f90d4fd8c5{
margin:0 0 0 0;
padding-bottom:20px;
color:#ffffff;
}
body .av-special-heading.av-m4oii7af-95cb3a9e4c8aa0004f57d0f90d4fd8c5 .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-m4oii7af-95cb3a9e4c8aa0004f57d0f90d4fd8c5 .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-m4oii7af-95cb3a9e4c8aa0004f57d0f90d4fd8c5 .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-m4oii7af-95cb3a9e4c8aa0004f57d0f90d4fd8c5 av-special-heading-h2 custom-color-heading blockquote modern-quote'><h2 class='av-special-heading-tag'  itemprop="headline"  >Interested in NodeJSOne Africa Conference 2025?</h2><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div><br />

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-m4oiimgw-3bf1d61d280524f76328f02c05c2bb30">
#top .av-special-heading.av-m4oiimgw-3bf1d61d280524f76328f02c05c2bb30{
margin:0 0 0 0;
padding-bottom:10px;
color:#ffffff;
}
body .av-special-heading.av-m4oiimgw-3bf1d61d280524f76328f02c05c2bb30 .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-m4oiimgw-3bf1d61d280524f76328f02c05c2bb30 .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-m4oiimgw-3bf1d61d280524f76328f02c05c2bb30 .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-m4oiimgw-3bf1d61d280524f76328f02c05c2bb30 av-special-heading-h5 custom-color-heading blockquote modern-quote'><h5 class='av-special-heading-tag'  itemprop="headline"  >If you would like to be a part of the conference as a sponsor, please send an email to <a href="mailto:info@nodejsone.com">info@nodejsone.com</a></h5><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div></p></div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Chris Pitt</title>
		<link>https://nodejsone.com/speaker/chris-pitt/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Sat, 14 Dec 2024 13:42:57 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=speaker&#038;p=644362</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[</div></div></div><!-- close content main div --></div></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_section-432109fec4e6eceac32b6e66d3fccd7c">
.avia-section.av-av_section-432109fec4e6eceac32b6e66d3fccd7c{
background-color:#262e3b;
background-image:unset;
}
</style>
<div id='av_section_7'  class='avia-section av-av_section-432109fec4e6eceac32b6e66d3fccd7c main_color avia-section-no-padding avia-no-border-styling avia-bg-style-scroll av-minimum-height av-minimum-height-custom  container_wrap fullsize'   data-av_minimum_height_px='60'><div class='container av-section-cont-open' style='height:60px'><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_full first flex_column_div av-zero-column-padding '     ><section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><div class="av-special-heading av-special-heading-h1 custom-color-heading blockquote modern-quote avia-builder-el-2 avia-builder-el-no-sibling " style="padding-bottom: 0px; margin-top: 34px; color: #ffffff;">
<h1 class="av-special-heading-tag" style="font-weight: 300;">Chris Pitt</h1>
<div class="special-heading-border">
<div class="special-heading-inner-border" style="border-color: #ffffff;"></div>
</div>
</div>
</div></section></div>

</div></div></div><!-- close content main div --></div></div><div id='av_section_8'  class='avia-section av-av_section-7c51d45cb193ee5453f2d869ba9ea4f1 main_color avia-section-default avia-no-border-styling avia-bg-style-scroll container_wrap fullsize'  ><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_third-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_third first flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><img width="300" height="300" src="https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-300x300.jpg" class="wp-image-644397 avia-img-lazy-loading-644397 attachment-medium size-medium wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-300x300.jpg 300w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-80x80.jpg 80w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-36x36.jpg 36w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-180x180.jpg 180w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-120x120.jpg 120w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-450x450.jpg 450w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt-100x100.jpg 100w, https://nodejsone.com/wp-content/uploads/2024/12/NodeJsOne-Africa-2025-Chris-Pitt.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" />
</div></section><br />
<section  class='av_textblock_section av-av_textblock-18ec860c7e07088d2c0a993b614e8019'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p class="speaker-single-socials" target="_blank"><a href="https://www.linkedin.com/in/christopher-pitt-685b75302/" target="_blank" rel="noopener"><i class="fa fa-linkedin"></i></a></p>
</div></section></p></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e">
.flex_column.av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_two_third-862f0c8b97abc46405e90743a1c7ee0e av_two_third flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-m4oicrp0-03005d490a14e01444ebf528c7639c2b'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p><span style="font-weight: 400;">Chris is mostly a web developer, but has done loads of other things; from making games to building houses.</span></p>
</div></section><br />
<div  class='avia-button-wrap av-av_button-8e119777bf2199a893b1f65f6c8708ee-wrap avia-button-left ' ><a href='https://nodejsone.com/?page_id=84'  class='avia-button av-av_button-8e119777bf2199a893b1f65f6c8708ee avia-icon_select-yes-left-icon avia-size-large avia-position-left avia-color-theme-color' ><span class='avia_button_icon avia_button_icon_left' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></span><span class='avia_iconbox_title' >Purchase Tickets</span></a></div></p></div></div></div></div><!-- close content main div --></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_section-192d22f143813973a1448a2a602f43c9">
.avia-section.av-av_section-192d22f143813973a1448a2a602f43c9{
background-repeat:no-repeat;
background-image:url(https://nodejsone.com/wp-content/uploads/2022/05/NODEJS-ONE-Conference-subscribe-1-300x156.jpg);
background-position:50% 100%;
background-attachment:fixed;
}
.avia-section.av-av_section-192d22f143813973a1448a2a602f43c9 .av-section-color-overlay{
opacity:0.8;
background-color:#313131;
}
</style>
<div id='contact'  class='avia-section av-av_section-192d22f143813973a1448a2a602f43c9 main_color avia-section-large avia-no-border-styling avia-full-stretch avia-bg-style-fixed av-section-color-overlay-active container_wrap fullsize'  data-section-bg-repeat='stretch'><div class="av-section-color-overlay-wrap"><div class="av-section-color-overlay"></div><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad">
.flex_column.av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-av_one_full-1df1b63c6c045939f2dc1aefbdd8e7ad av_one_full first flex_column_div av-zero-column-padding '     ><p>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-m4oiftxc-15a9ec03d846846b6a73acf27d3dbdd3">
#top .av-special-heading.av-m4oiftxc-15a9ec03d846846b6a73acf27d3dbdd3{
margin:0 0 0 0;
padding-bottom:20px;
color:#ffffff;
}
body .av-special-heading.av-m4oiftxc-15a9ec03d846846b6a73acf27d3dbdd3 .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-m4oiftxc-15a9ec03d846846b6a73acf27d3dbdd3 .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-m4oiftxc-15a9ec03d846846b6a73acf27d3dbdd3 .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-m4oiftxc-15a9ec03d846846b6a73acf27d3dbdd3 av-special-heading-h2 custom-color-heading blockquote modern-quote'><h2 class='av-special-heading-tag'  itemprop="headline"  >Interested in NodeJSOne Africa Conference 2025?</h2><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div><br />

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-m4oidot1-3fcc654146d5537521dfdcb08e2157e1">
#top .av-special-heading.av-m4oidot1-3fcc654146d5537521dfdcb08e2157e1{
margin:0 0 0 0;
padding-bottom:10px;
color:#ffffff;
}
body .av-special-heading.av-m4oidot1-3fcc654146d5537521dfdcb08e2157e1 .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-m4oidot1-3fcc654146d5537521dfdcb08e2157e1 .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-m4oidot1-3fcc654146d5537521dfdcb08e2157e1 .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-m4oidot1-3fcc654146d5537521dfdcb08e2157e1 av-special-heading-h5 custom-color-heading blockquote modern-quote'><h5 class='av-special-heading-tag'  itemprop="headline"  >If you would like to be a part of the conference as a sponsor, please send an email to <a href="mailto:info@nodejsone.com">info@nodejsone.com</a></h5><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div></p></div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Schalk Venter</title>
		<link>https://nodejsone.com/speaker/schalk-venter/</link>
		
		<dc:creator><![CDATA[Nodejscapetown]]></dc:creator>
		<pubDate>Mon, 23 Jan 2023 06:50:54 +0000</pubDate>
				<guid isPermaLink="false">https://nodejsone.com/?post_type=speaker&#038;p=643971</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[</div></div></div><!-- close content main div --></div></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-1y6s15s3-15dbbc6fb15025070a5ef9c254acb457">
.avia-section.av-1y6s15s3-15dbbc6fb15025070a5ef9c254acb457{
background-color:#262e3b;
background-image:unset;
}
</style>
<div id='av_section_10'  class='avia-section av-1y6s15s3-15dbbc6fb15025070a5ef9c254acb457 main_color avia-section-no-padding avia-no-border-styling avia-bg-style-scroll av-minimum-height av-minimum-height-custom  container_wrap fullsize'   data-av_minimum_height_px='60'><div class='container av-section-cont-open' style='height:60px'><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-6vmx5mr-fe6d647a8c39396cc19f953447a62d6a">
.flex_column.av-6vmx5mr-fe6d647a8c39396cc19f953447a62d6a{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-6vmx5mr-fe6d647a8c39396cc19f953447a62d6a av_one_full first flex_column_div av-zero-column-padding '     ><section  class='av_textblock_section av-1oxeh9fn-bb6f6bef2e4b003684a27efebdb2c4f0'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><div class="av-special-heading av-special-heading-h1 custom-color-heading blockquote modern-quote avia-builder-el-2 avia-builder-el-no-sibling " style="padding-bottom: 0px; margin-top: 34px; color: #ffffff;">
<h1 class="av-special-heading-tag" style="font-weight: 300;">Schalk Venter</h1>
<div class="special-heading-border">
<div class="special-heading-inner-border" style="border-color: #ffffff;"></div>
</div>
</div>
</div></section></div>

</div></div></div><!-- close content main div --></div></div><div id='av_section_11'  class='avia-section av-1nowx85f-5c13fac6198c4221c94e16e9aa3739e9 main_color avia-section-default avia-no-border-styling avia-bg-style-scroll container_wrap fullsize'  ><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-1fe1wzb7-7a104449bda501a9c74cda9e7295c655">
.flex_column.av-1fe1wzb7-7a104449bda501a9c74cda9e7295c655{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-1fe1wzb7-7a104449bda501a9c74cda9e7295c655 av_one_third first flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-1csofltv-195bc7fe27058a39b2521d8363c23d15'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><img width="300" height="300" src="https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-300x300.jpg" class="wp-image-644384 avia-img-lazy-loading-644384 attachment-medium size-medium wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-300x300.jpg 300w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-80x80.jpg 80w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-36x36.jpg 36w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-180x180.jpg 180w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-120x120.jpg 120w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-450x450.jpg 450w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter-100x100.jpg 100w, https://nodejsone.com/wp-content/uploads/2025/01/NodeJsOne-Africa-2025-Skalk-Venter.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" />
</div></section><br />
<section  class='av_textblock_section av-1715of2b-aa158dc8660db12104a8e59f351e57c3'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p class="speaker-single-socials" target="_blank"><a href="https://www.linkedin.com/in/schalkventer/" target="_blank" rel="noopener"><i class="fa fa-linkedin"></i></a><a href="https://twitter.com/schalkventerdev" target="_blank" rel="noopener"><i class="fa fa-twitter"></i></a></p>
</div></section></p></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-12cdaf2b-d34a1458b54cf13207246236068d4646">
.flex_column.av-12cdaf2b-d34a1458b54cf13207246236068d4646{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-12cdaf2b-d34a1458b54cf13207246236068d4646 av_two_third flex_column_div av-zero-column-padding '     ><p><section  class='av_textblock_section av-ld8dmew0-84ceb2e9bc33433bbc3eccebc11f7afc'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p><span style="font-weight: 400;">Schalk is a full-time consultant working on various personal, commercial, and open-source projects. His focus lies within the worlds of user-facing software engineering and interaction design – having done contract work for the South African National Treasury, The Google Foundation, Design Indaba, CSS-Tricks, and various others. He currently serves as the Administrative Director of Front-end Engineering and Design South Africa (FEDSA), and fills (and has filled) various academic roles where he does mentoring, curriculum creation and/or internal technical advisory.</span></p>
</div></section><br />
<div  class='avia-button-wrap av-y6sq403-6f09d45a6a8dc39a128a178426f3e548-wrap avia-button-left ' ><a href='https://nodejsone.com/?page_id=84'  class='avia-button av-y6sq403-6f09d45a6a8dc39a128a178426f3e548 avia-icon_select-yes-left-icon avia-size-large avia-position-left avia-color-theme-color' ><span class='avia_button_icon avia_button_icon_left' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></span><span class='avia_iconbox_title' >Purchase Tickets</span></a></div></p></div></div></div></div><!-- close content main div --></div></div>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-w3eex37-fa0f430c189b5280462ce7058588c5a9">
.avia-section.av-w3eex37-fa0f430c189b5280462ce7058588c5a9{
background-repeat:no-repeat;
background-image:url(https://nodejsone.com/wp-content/uploads/2022/05/NODEJS-ONE-Conference-subscribe-1-300x156.jpg);
background-position:50% 100%;
background-attachment:fixed;
}
.avia-section.av-w3eex37-fa0f430c189b5280462ce7058588c5a9 .av-section-color-overlay{
opacity:0.8;
background-color:#313131;
}
</style>
<div id='contact'  class='avia-section av-w3eex37-fa0f430c189b5280462ce7058588c5a9 main_color avia-section-large avia-no-border-styling avia-full-stretch avia-bg-style-fixed av-section-color-overlay-active container_wrap fullsize'  data-section-bg-repeat='stretch'><div class="av-section-color-overlay-wrap"><div class="av-section-color-overlay"></div><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-644378'><div class='entry-content-wrapper clearfix'>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-poie8jn-06656b8db5e19f0cdcdb0a3f1c3db75d">
.flex_column.av-poie8jn-06656b8db5e19f0cdcdb0a3f1c3db75d{
-webkit-border-radius:0px 0px 0px 0px;
-moz-border-radius:0px 0px 0px 0px;
border-radius:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
}
</style>
<div class='flex_column av-poie8jn-06656b8db5e19f0cdcdb0a3f1c3db75d av_one_full first flex_column_div av-zero-column-padding '     ><p>
<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-l3tnqkj-453e1f25388dc0246007bc4b8e4901ca">
#top .av-special-heading.av-l3tnqkj-453e1f25388dc0246007bc4b8e4901ca{
margin:0 0 0 0;
padding-bottom:20px;
color:#ffffff;
}
body .av-special-heading.av-l3tnqkj-453e1f25388dc0246007bc4b8e4901ca .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-l3tnqkj-453e1f25388dc0246007bc4b8e4901ca .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-l3tnqkj-453e1f25388dc0246007bc4b8e4901ca .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-l3tnqkj-453e1f25388dc0246007bc4b8e4901ca av-special-heading-h2 custom-color-heading blockquote modern-quote'><h2 class='av-special-heading-tag'  itemprop="headline"  >Interested in NodeJSOne Africa Conference 2023?</h2><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div><br />

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-i6tmmtf-1eef5662e64f38445f7288288b076858">
#top .av-special-heading.av-i6tmmtf-1eef5662e64f38445f7288288b076858{
margin:0 0 0 0;
padding-bottom:10px;
color:#ffffff;
}
body .av-special-heading.av-i6tmmtf-1eef5662e64f38445f7288288b076858 .av-special-heading-tag .heading-char{
font-size:25px;
}
.av-special-heading.av-i6tmmtf-1eef5662e64f38445f7288288b076858 .special-heading-inner-border{
border-color:#ffffff;
}
.av-special-heading.av-i6tmmtf-1eef5662e64f38445f7288288b076858 .av-subheading{
font-size:15px;
}
</style>
<div  class='av-special-heading av-i6tmmtf-1eef5662e64f38445f7288288b076858 av-special-heading-h5 custom-color-heading blockquote modern-quote'><h5 class='av-special-heading-tag'  itemprop="headline"  >If you would like to be a part of the conference as a sponsor, please complete the form below, or send an email to <a href="mailto:info@nodejsone.com">info@nodejsone.com</a></h5><div class="special-heading-border"><div class="special-heading-inner-border"></div></div></div><br />

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-a4m03cz-09088172fa9898987f7bdafd9c6b6b46">
#top .hr.hr-invisible.av-a4m03cz-09088172fa9898987f7bdafd9c6b6b46{
height:30px;
}
</style>
<div  class='hr av-a4m03cz-09088172fa9898987f7bdafd9c6b6b46 hr-invisible'><span class='hr-inner '><span class="hr-inner-style"></span></span></div><br />
<section  class='av_textblock_section av-928qfwj-8cdd7125e011cefc1a35e179a903183f'  itemscope="itemscope" itemtype="https://schema.org/CreativeWork" ><div class='avia_textblock'  itemprop="text" ><p>[gravityform id=&#8221;2&#8243; title=&#8221;false&#8221; description=&#8221;false&#8221; ajax=&#8221;true&#8221;]</p>
</div></section></p></div>
</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
