ET1.1 Training Menu Update

ET1.1 Training Menu Update

We have overhauled our original menu in ET1.1 to improve the adoption of the software and ease of usage.

We’ve completely redesigned the node menu to now be a source of knowledge. The Training Menu in ET1 makes learning about data transformation tools faster, attaches to the training built into dev3lop, and is more intuitive for smaller devices. The mobile device is not a common place for ETL/Analytics! Yet, with et1.1 it’s seamless.

What We Fixed

The original menu needed a major update, simply does not work on mobile, smaller devices was a struggle, and it’s the only source of information per node in the software. We are eager to expand.

Tool Descriptions That Actually Show Up

The biggest issue? Tool descriptions weren’t visible in the dual comparison view. You’d see tool names but no explanation of what they did. We fixed this by properly displaying descriptions under every tool card, so you can quickly understand what each node does without clicking around.

Say Goodbye to Cramped Layouts

Nobody likes reading text that’s squished together. We added subtle spacing throughout the menu—just enough breathing room to make everything feel polished without wasting screen space. Cards now have consistent padding, clean margins, and text that wraps naturally within its container.

Scrolling Instead of Squishing

When you have a lot of tools to browse, the old menu would try to cram everything into view by compressing cards. Now, each panel scrolls independently while maintaining proper card sizing. No more squeezed content—just smooth, natural scrolling.

What We Added | In-App Tutorials

The biggest new feature: tutorial buttons. Over 19 different tools now have a small “Tutorial” pill next to their name. Click it, and a clean overlay opens right inside the app with documentation, examples, and tips. No need to leave your workflow or open a new tab.

Tools with tutorials include:

Better Navigation Guidance

The footer tips now clearly explain how to use the menu:

  • Click any category to view tools with descriptions
  • Drag tools onto the canvas to create workflows
  • Use left/right arrows to browse categories in dual view
  • Click a tool to add its node to the canvas

Technical Improvements You’ll Notice

No More Ghost Clicks

We fixed a frustrating bug where clicking in empty space after closing the menu would still trigger node creation. The menu is now fully non-interactive when closed—no phantom clicks, no accidental nodes.

Responsive Design That Works

The dual comparison layout now kicks in at 700px instead of 1200px, giving tablet users the same side-by-side view. We also eliminated redundant CSS that was causing weird behavior at certain screen sizes.

Cleaner, Faster

By streamlining the responsive breakpoints and removing duplicate code, the menu loads faster and behaves more predictably across all devices.

Why This Matters

Learning a new tool shouldn’t require a manual or external documentation hunt. With these updates, you can:

  1. Explore faster — See descriptions and tutorials without leaving the app
  2. Learn in context — Read about a tool right before you use it
  3. Work efficiently — No more squished layouts or confusing navigation

Try It Out

Open the help menu (ℹ️ icon in the toolbar) and explore the dual comparison view. Click any “Tutorial” button to see the in-app documentation system in action.

We think you’ll notice the difference immediately—cleaner layout, better spacing, and instant access to learning resources right where you need them.

Sneak Peek: Live Demo

Here’s what the new dual comparison layout looks like in action. Notice the clean spacing, visible descriptions, and tutorial pills on each tool:

📥 Extract
🔧 Clean
📊
CSV Input
Tutorial
Extract data from CSV files
📄
JSON Input
Tutorial
Extract data from JSON files
📹
Webcam Input
Tutorial
Enable video for hand menu controls using AI
🐙
GitHub CSV
Tutorial
Extract CSV data from GitHub/Cloud repo
✏️
Column Renamer
Rename, delete, and reorder columns
🔍
Find/Replace
Tutorial
Search and replace text patterns
🔗
Concat
Tutorial
Combine multiple columns into a one
✂️
Split
Tutorial
Split column values into many columns
↑ Interactive demo – Tutorial pills are visible but disabled for this preview

Updated: October 26, 2025
Affected Versions: ET1 v1.1+
Files Modified: Help menu UI, tutorial system, responsive layouts

ET1.1 Change Log | Version #1

ET1.1 Change Log | Version #1

Never have I ever tried to reverse engineer figjam!

However once I was done, I realized there’s a lot more within my grasp.

Hey everyone, ET1.1 has come a long way, we have a free ETL version of ET1 that’s available online, plus ET1 code on github (very trendy) and everything is created by me, founder of dev3lop, Tyler Garrett.

Each change log I will share an assortment of changes, plus information on the history, firsts, major updates, the change log, and most importantly accessibility improvements.

Accessibility – Using emerging tech to improve user experiences.

Mouse hovering and highlights enable cells/rows/column highlighting. Plus, as a node does something, those columns are highlighted. These are two important element to helping people avoid distractions and we will continue to add features like this in the future.

Improving visibility, Major Design Update

There are many nodes in ET1 that are hard to see when computer monitors are in dark mode, so we have remediated this across all of these known nodes. Like below screenshot, Any Column Filter was nearly impossible to read in dark mode. This has been remediated in ET1.1 Neon, these nodes are now darker.

Today, it’s darker. Many nodes are fixed in this design update.

Google Edge AI for Accessibility

Webcam enabled and hand monitoring software has been crafted to enable users who do not want or have a mouse/keyboard. We hope this demonstrates to other companies that creating multiplayer software is more about using imagination and your brain, rather than being stuck on the keyboard and mouse plane of thought.

While your hand menu is open, someone else can click the buttons with a mouse!

Ergonomic win

Lets face it, being on a computer constantly is bad for your back, shoulders, neck starts to hurt, arms and fingers eventually get worse. With ET1, we wanted to remove you from the “fixed computer position” enabling users to present data as a solution by modeling the solution with their fingers.

The only ETL / data visualization software provider that is using Google Edge AI to improve accessibility.

Increasing adoption

Striving to make ET1 more user friendly for people in AR, VR, and avoiding getting too technical.

This will open the audience for ET1 beyond ETL and data visualization professionals.

Building Webcam navigation and development capabilities has improved the fun factor when explaining how data works to younger generations <12 years of age, and I encourage you to give it a shot if your children are showing interest. This has become a great educational device.

Improving the ease of usage

Making the software easy to use is important and we have spent a great deal of time improving the UX in a minimal way so that it continues to remain easy to understand.

Added a menu just for learning.

At the top right, you will find a question button. This opens an expandable learning menu that helps people understand more about the nodes they are using. As this gets more comfortable we have more advanced menus under hood. But until you’re comfortable, this is the menu to use.

Added a search bar.

This will open the pro left side menu and allow you to begin to type and find nodes you’re looking to utilize, and reduces the selection of nodes based on the search. This is a big move towards a more mobile friendly ET1 solution.

Added a pro left side menu.

Click the logo and the left side menu opens. These nodes can be clicked to select the node, however the power here is dragging and dropping the nodes and this then automatically connects to any nodes on your canvas based on proximity!

History and background

From a drawing on paper when we founded DEV3LOPCOM, LLC, to a software with a login.

The early stages, it was more about understanding how to reverse engineer figjam because lets face it that application is amazing.

To transitioning to data flowing through a DAG, and aiming to perfect three nodes. Not completely convinced on a “name” for the application I opted for visual ETL builder.

I love this older version, the connections aren’t connecting the the circles and it appears as if the application is sad or happy. Was a funny mistake.

Also, before this application, it was an even more simple tool, a simple csv opening application that created a data grid.

This data grid also had a wildcard filter which felt pretty exciting at the time, but I wanted the application to act more like alteryx/knime with that futuristic vibe of enso.

Past 30 days – Major updates and explainers

  1. Github Oauth Login
  2. Serverless PostgreSQL Database with Neon Input and Neon Output
  3. Created Neon Lake, a user friendly administration UX for data sources
    • linage, usage comprehension, and simple gui to enable access to where it’s in usage (unlike any other ETL app)
  4. Auto Saving functionality to reduce the compute/costs while developing ETL, data visualizations, serverless-ly
    • Manually save, 5 minute auto Save, 1 minute auto Save, and Magic.
      • Manual: lets you save the most money
      • Saves every 5 minutes
      • Saves every minute
      • Saving when something happenings
    • This system was designed to allow “client side” development in a realm that is completely free
      • enabling users to leave their tab open
      • a clever way to help users save money while developing in the cloud
  5. Charts – 1 measure and 1 dimension charts have been added to ET1.1 Neon
    • Making ChartJs visualizations more accessible and data streams into these charts from the ETL process built prior
  6. Neon Output Node Overhaul
    • Upsert – our favorite feature in postgresql is upsert because it enables a cleaner code base around updates and inserts, very user friendly for full-stack engineers, great for webhooks, but not user friendly for average data users. This tool makes it easy!
    • Append – Logging? Monitoring? Tracking everything over and over? This is the way to to do it. If you’re trying to track what is happening to a file or system, append is a great way to manage your data.
    • Overwrite – This will delete the data in that table, then overwrite it with whatever you pipe down stream to this node. Very powerful, likely what most people need, however could be very detrimental without the right understanding. We dive deeper here on Neon Output Node training.

Here’s a quick run down of the latest sprints:

2025-09-30 18:04 CT —

Implemented Phase 1 (display disambiguation) and Phase 2 (per-user unique lake_name) for Neon Lake

  Files: netlify/functions/neon-lake.js, netlify/functions/data.js, netlify/functions/migrate.js, neonlake.html

  Notes: Added user_id/lake_name columns and partial unique index; listing now prefers display_name.

2025-09-30 18:55 CT —

Updated Neon Lake rename to change friendly lake_name with uniqueness check (node_id unchanged)

  Files: netlify/functions/neon-lake.js, neonlake.html (UI already displays display_name)

  Notes: Returns 409 if name conflict per user; UI keeps optimistic rename and reverts on error.

2025-10-01 09:41 CT —

Addressed server auto-suffix loop typo and added client rename guards

  Notes: Added logging; continuing to verify persistence across refresh in all scenarios.

2025-10-01 14:30 CT —

Preview header redesign and metadata; related workflow status and tooltips; broadened lake visibility

  Files: neonlake.html; netlify/functions/neon-lake.js; netlify/functions/migrate.js

  Notes: Badges for rows/created/updated/internal; related workflows show OW and removed with tooltips; GET returns created_at; visibility includes c.user_id.

2025-10-02 10:00 CT —

Unified user identity across auth flows

  Files: netlify/functions/auth-callback.js, netlify/functions/auth-github-callback.js, netlify/functions/github-direct-callback.js, netlify/functions/handler-oauth-callback.js, netlify/functions/stack-auth-callback.js, netlify/functions/auth-register.js

  Notes: Standardized identity using shared helper; added DB constraints to prevent future duplication.

2025-10-02 10:00 CT —

Removed Stack Auth redirects from netlify.toml

  Files: netlify.toml

  Notes: Verified login still works after removing redirects.

2025-10-02 10:00 CT —

Improved migrate-identity script

  Files: netlify/functions/migrate.js

  Notes: Enhanced script to find duplicate emails, pick keeper, repoint FKs, and delete duplicates.

– Authorization using GitHub OAuth

  – Two step authentication and secure access to the application

  – We don’t store passwords

– Serverless PostgreSQL (Cloud storage)

  – No need to manage servers or databases

  – Pay only for what you use/Secure and encrypted

  – Hippa/GDPR/SOC2 compliant available (alpha)

– Inline workflows panel with counts and status

  – “OW” original workflow and “removed” states (with tooltips)

– Preview header redesign

  – Final display name, internal name, created/updated timestamps, row summary

– Per-user safe naming

  – Unique friendly lake_name with auto-suffixing; no more duplicate csv_0

– Better visibility

  – Lake list now includes user-owned caches beyond current workflow links

– Data tracking/lineage

  – Track data source and workflow origin

  – Discover original workflow and where sources are removed

  – Dig deeper into data provenance

2025-10-12 00:20 CT —

Identity helper + canonical session subject (GitHub Direct only)

  Files: netlify/functions/_utils/user.js, netlify/functions/_utils/session.js, netlify/functions/workflows.js, netlify/functions/github-direct-callback.js

  Notes: Added ensureUserFromAuth (reconcile by external_id, fallback email); sessions now use canonical external_id in sub and include uid claim. Workflows uses helper to avoid duplicate users.

2025-10-12 00:22 CT —

Remove Stack Auth redirects

  Files: netlify.toml

  Notes: Deleted legacy /handler/* redirects that pointed to Stack Auth; app uses GitHub Direct exclusively.

2025-10-12 00:24 CT —

Migrate identity guardrails + Dedupe tool

  Files: netlify/functions/migrate-identity.js, netlify/functions/dedupe-users.js

  Notes: Migration detects duplicates first and returns 409 with details until dedupe is applied; dedupe-users supports dry-run and apply with transactional FK repoints (workflows, data_cache).

2025-10-12 00:25 CT —

Fix Neon Lake UUID error with external_id sessions

  Files: netlify/functions/neon-lake.js

  Notes: Resolve user by external_id first; only treat sub as UUID when it matches regex. Fixes “invalid input syntax for type uuid: ‘github:…'”.

2025-10-12 12:40 CT —

Neon Output: Ship UX and accurate suggestions

  Files: node/element/neon_output.js, node/settings/neon_output.js, netlify/functions/neon-fetch.js

  Notes: Added 🚢 Ship button next to table input (for new table creation only, keeps clickable and spins). Suggestions only show on focus and hide on blur; row counts in suggestions now use backend total.

2025-10-12 13:20 CT —

Neon tables totals and nested row counting

  Files: netlify/functions/neon-tables.js, netlify/functions/neon-fetch.js

  Notes: Row totals now detect nested shapes (rows: [{rows:[…] }] and rows: {rows:[…]}) using CASE expressions; totals returned as ‘total’ without inflating payload.

2025-10-12 13:26 CT —

Neon Lake queries simplified and indexed path ready

  Files: netlify/functions/neon-lake.js

  Notes: Resolve userId once via ensureUserFromAuth; replace broad OR predicates with direct (c.user_id = userId OR u.id = userId). Ready to drop the OR after backfilling c.user_id.

2025-10-12 13:30 CT —

Neon Input: row limit and data path verification

  Files: node/settings/neon_input.js, netlify/functions/neon-fetch.js, netlify/functions/neon-tables.js

  Notes: Preview limit presets (5/5k/50k/All) respected; backend clamps and returns accurate totals. Neon Output → Neon Input flow confirmed via cache_id; suggestions and counts consistent.

2025-10-13 05:35 CT —

Cosmetic collapse is UI-only (no save/recompute)

  Files: ui/settings.js

  Notes: Removed saveCurrentWorkflow() from toggleNodeCollapse(); emits lightweight UI event and redraws connections only.

2025-10-13 05:50 CT —

UI-only saves skip output flushing

  Files: index.html (saveCurrentWorkflow)

  Notes: Added skipOutputFlush option; silent saves and navigation use it to avoid flushNeonOutputs().

2025-10-13 06:10 CT —

Centralized downstream recompute helper

  Files: node/nodeSettings.js, node/settings/neon_output.js

  Notes: Added markDownstreamDirty(nodeId) and refactored Neon Output to use it, preventing feedback loops.

2025-10-13 06:25 CT —

Idempotent autosave for Neon Output

  Files: node/settings/neon_output.js

  Notes: Signature guard (table|mode|headers|rowCount|cacheId) skips redundant autosaves when nothing changed.

2025-10-13 06:40 CT —

Processed-first preview for Neon Output; stable highlights

  Files: node/process/neon_output.js, node/settings/neon_output.js

  Notes: Preview synthesizes IDs/is_duplicate immediately to avoid raw→processed flicker; persist and reuse system-added columns for consistent highlighting.

2025-10-13 06:55 CT —

Same-mode selection is a no-op

  Files: node/settings/neon_output.js (selectWriteMode)

  Notes: Selecting the current mode (e.g., Append while already Append) performs no work to prevent preview churn.

2025-10-13 07:05 CT —

Neon Input saves are UI-only

  Files: node/settings/neon_input.js

  Notes: Table selection and preview limit changes call saveCurrentWorkflow({ silent: true, skipOutputFlush: true }).

2025-10-13 07:20 CT —

Mode-aware notifications; toast parity

  Files: node/settings/neon_output.js, ui/notificationCenter.js

  Notes: Append/Overwrite hide duplicate stats; Upsert shows ✓updated/+added. Floating toast mirrors the center succinctly.

2025-10-13 08:10 CT —

Neon Output width loosened (parity with Neon Input)

  Files: etls.css (.neon_output-node)

  Notes: Removed universal max-width clamp; allow natural width and horizontal scroll only within data preview.

2025-10-13 08:26 CT —

Clean collapsed chip (no scrollbars; proper connection dots)

  Files: etls.css (.neon_output-node, .neon_output-node.collapsed)

  Notes: Node container uses overflow: visible; scrollbars limited to preview area so collapsed looks like other nodes.

2025-10-13 08:50 CT —

Unified ID generation between preview and final save

  Files: node/process/neon_output.js, node/settings/neon_output.js

  Notes: Preview now uses analyzeDataUniqueness/simpleHash for IDs and duplicate flags, matching final write; eliminates short→long key flicker.

2025-10-13 08:55 CT —

Duplicate policy alignment (append-only)

  Files: node/settings/neon_output.js (updateNeon_outputConfig)

  Notes: preserveDuplicates true only in Append; Upsert/Overwrite do not preserve. Keeps preview/save behavior consistent.

2025-10-13 09:50 CT —

Add created_at/updated_at across all write modes (save path)

  Files: node/settings/neon_output.js

  Notes: Append sets both timestamps for new rows; Upsert preserves created_at and stamps updated_at; Overwrite stamps updated_at for all and backfills created_at when missing.

2025-10-13 10:05 CT —

Show timestamps in preview with highlights

  Files: node/process/neon_output.js, branch/branch.js, etls.css

  Notes: Preview always includes created_at/updated_at; adds to impact columns so header highlights match ID column styling.

2025-10-13 11:20 CT —

Persist highlight columns for stability

  Files: node/process/neon_output.js, node/settings/neon_output.js

  Notes: Persist `_systemColumnsAdded` (id, is_duplicate, created_at, updated_at) so highlight survives autosave/UI updates.

2025-10-13 14:25 CT —

Append preview uses simple 1..N primary key

  Files: node/process/neon_output.js

  Notes: For learnability, the first upsert key renders 1..N in Append preview.

2025-10-13 15:20 CT —

Append save continues sequence from existing max

  Files: node/settings/neon_output.js

  Notes: Missing IDs for Append are filled by continuing from current table max; preserves any provided IDs.

2025-10-13 17:02 CT —

Node healing limited to negative positions only

  Files: ui/settings.js (healNodePositions)

  Notes: Only auto-corrects when x or y is < 10px; no right/bottom clamping; logging shows accurate old→new when a fix occurs.

2025-10-16 17:45 CT —

Fix charts node data preview always showing issue

  Files: branch/branch.js (updateNodePreview)

  Notes: Charts nodes now respect preview toggle state; only show data preview when user explicitly enables it via eye button.

2025-10-16 17:50 CT —

Add Bar Chart support to charts node

  Files: node/element/charts.js, node/settings/charts.js, node/process/charts.js

  Notes: Added bar chart as 4th chart type option with proper scales, aspect ratio, and Chart.js configuration.

2025-10-16 18:05 CT —

Fix bar chart legend to show dimension labels

  Files: node/process/charts.js

  Notes: Bar charts now show dimension legend entries (Widget A, Gadget B, etc.) instead of dataset label, matching pie chart behavior.

2025-10-16 18:10 CT —

Fix bar chart legend text color to white

  Files: node/process/charts.js

  Notes: Added fontColor property to custom legend generation and global Chart.defaults.color to ensure white text.

2025-10-16 18:15 CT —

Standardize bar chart size with other chart types

  Files: node/process/charts.js

  Notes: Set aspectRatio to 1 for all chart types for consistent square dimensions.

2025-10-16 18:25 CT —

Convert measures selection from checkboxes to dropdown

  Files: node/settings/charts.js, node/element/charts.js

  Notes: Charts only use one measure, so replaced multi-select checkboxes with single dropdown for better UX.

2025-10-16 18:35 CT —

Add SVG icons to chart type buttons

  Files: node/element/charts.js

  Notes: Added visual icons for Pie, Donut, Polar, and Bar chart buttons with vertical layout (icon above text).

2025-10-16 18:40 CT —

Combine Legend and Title checkboxes side-by-side

  Files: node/element/charts.js

  Notes: Removed redundant section titles and placed both checkboxes in single row for space efficiency.

2025-10-16 20:45 CT —

Add Charts category to left sidebar and main menu

  Files: index.html

  Notes: Added Charts section with individual chart type options for drag-and-drop creation of specific chart types.

2025-10-16 21:00 CT —

Fix chart type button color inversion and drag-and-drop selection

  Files: etls.css, index.html

  Notes: Selected chart buttons now show inverted colors (white bg, dark text); drag-and-drop correctly sets chart type instead of defaulting to pie.

Thanks for learning about ET1 Chang log

From advanced analytics consulting to building software, my LLC dev3lop has come a long way too.

Thanks for learning more about et1!

ET1.1 Charts Node

ET1.1 Charts Node

In ET1.1 Neon you can now pipeline your data to Charts.

  1. Pie Chart
  2. Donut Chart
  3. Polar Chart
  4. Bar Chart

This covers an array of classic data visualizations and the same highlighting functionally flows through from data grid to charts. Making it the first ETL software that help you see and understand your data between tools.

Using graph tech, we can show you up and downstream what is happening by mousing over and highlighting in the software.

These data visualizations are “single measure” and “single dimensions” charts.

How to use Charts

We made Charts user friendly!

  1. Access et1.1
  2. Open data in CSV Node, JSON Node, Neon Input or others
  3. Pipeline data to Charts Node

Charts Node will automatically infer a good dimension and measure based on what you’re sending to the node. Also, manual selections are good for directing the tool the right direction.

Data can continue to pass through the charts.

Charts Node: Bar Chart

Creating a bar chart in ET1.1 is possible and has the most settings currently. However in the spirit keeping everything very simple and user friendly for the future of AR/VR users, we want to reduce whatever settings possible and each Chart Type selection will hide “features” related to that chart type, which we are going to term “display options” for the foreseeable future.

Here’s the bar chart features aka Display Options:

  1. Y axis
  2. X axis
  3. Labels
  4. Grid Lines
  5. Horizontal Bars
  6. Start at zero

Display options are change as Chart Types change.

Pie Charts and Donut Charts in ET1 Charts Node

Pie charts and donut chart are similar.

Polar Chart in ET1 Charts Node

Seeking a no-code way to create chartjs Polar charts? Look no further, we built that app here!

Polar Chart is a unique chart not commonly found in data visualization consulting services engagements and fit perfectly into our ET1 framework.

Thanks for checking out The Charts Node by DEV3LOPCOM, LLC

We appreciate your interest in ET1 and hope it changes the way you think about solving problems.

Now, with end-to-end analytics, we can start focusing on the next realm!

Please contact DEV3LOPCOM, LLC for more information.

Dev3lop was founded in 2016 by Tyler Garrett!

Also, learn about how we are the first ETL/Visualization company to deploy Google Ai Edge technology in ET1.1, so that you can use your fingers/hand to solve problems, which turns this into a multiplayer solution!

Return to ET1 Overview to learn more.

Login to ET1.1 with Auth2

Login to ET1.1 with Auth2

Picture a world where your most sensitive data files and database tables are protected with the same robust security protocols and layers you’d expect from a leading, Fortune 500 corporation.

Without having to setup data security; login, authorization, storage, persistence, managing login information and keeping data compliance people happy.

In ET1.1, we encourage end users to begin translating important data to solutions that can become a single source of truth around their team, organization, or across the sea.

Authorization isn’t just a checkbox on our to-do list

Authorization, it’s our top priority, and that’s why we went with GitHub’s OAuth!

Our commitment with developing solutions is to cultivate and maintain an exceptionally secure environment, safeguarding both our users and the valuable data they entrust to us.

With this completed we are actively seeking people to participate in beta testing.

ET1 is using Auth2 through GitHub, providing two-factor authentication to end-users of ET1.

FYI; Using dozens of SaaS products during analytics consulting engagements is our skill, building open source solutions from scratch is our specialty, and…

At DEV3LOPCOM, LLC, we have a decade+ of experience beta-testing and deploying numerous authentication tools in advanced production settings (enterprise and GOV). With this solution, I have developed a unique perspective on streamlined login/security and optimized our ET1’s login process.

ps… If you need assistance with Auth2 in your software, let me know

– Tyler Garrett, Founder
tyler@dev3lop.com..

About Authorization

Software authorization is the process of determining what an authenticated user is permitted to do within a software system, such as accessing specific files, performing actions, or using certain features. It is crucial for ensuring security by preventing unauthorized access to sensitive data and functionality, and for maintaining operational control by managing user permissions, tracking usage, and enabling personalized user experiences that enhance customer satisfaction and loyalty. 

About GitHubs OAuth (Auth2)

We did not create auth2, rather we are utilizing auth2! Think of Auth2 like a way to keep your sensitive information safe and secure, we don’t store your password.

This helps you login fast, seamlessly, if you’re already logged into GitHub in another tab – it’s a 1 click login – and this process keeps your solution/data safe.

What is Auth2?

Auth2 is a protective layer we use to help use generate data security per user.

Auth2 is an industry standard when it comes to managing data privacy and security.

People are going to want to add their data into ET1, different kinds of data, and we are working hard to ensure this is not only possible but also the safest it can be. We will not need to recreate the wheel, but instead utilize vetted systems. This enables us to offer hippa compliant storage, soc2 compliant storage, and way more… Without over complicating the UX.

With ET1, we are going a similar direction as our cronjob software Canopys Task Scheduler, and using different under hood tech. Excited to share, founder of dev3lop, Tyler Garrett, created the entire authorization flow. The Login to ET1 with GitHub Authentication is now live for beta testing!

Setting up 2 way auth is VIA GitHub is easier than you think so here’s a link to GitHub Auth Documentation and more importantly it unlocks Google emails. Plus, we like the idea of advocating for a software we love to use.

How to login to ET1

  • Visit et1 [contact-for-beta]/login.html
  • Click Github Login
    • If you don’t have a GitHub account, please create one
    • If you have a github account, login
  • We only request your ’email’, we don’t save your password.

Github Auth and User Data Explained

Here’s a simple, privacy‑first explainer of the users table, plus a short technical brief of “GitHub Auth” for the curious.

Users table (what each column means) Source: 

database-schema.sql → table users

  • id (UUID)
    • A random unique tag the system gives you when you first show up.
    • It’s not your email or username.
    • Think of it like a sticker on a package so it can be tracked without opening it. 🔒
  • external_id (text)
    • A number/string that represents you from GitHub.
    • It’s how the system knows “the same person” across sessions without storing a password here.
    • Marked unique, so there’s only one of you. ✅
  • email (text, optional)
    • Used for “who’s signed in” display or contact. ✉️
  • created_at (timestamp)
    • When your record was first created.
    • Like a “birthday” for your account in this system. 🗓️
  • updated_at (timestamp)
    • When anything about your record last changed.
    • Auto‑updated so there’s an honest trail. 🕒

Why this is privacy‑friendly

  • Minimal data: just an internal id, a GitHub id, and optionally an email.
  • No passwords stored here. Authentication happens through GitHub, so this table isn’t a vault of secrets.
  • Clear timestamps help you audit “when did this get created/updated?”

Short technical brief: GitHub Direct (for the nerds)

  • Flow: Browser requests GitHub OAuth → user consents at GitHub → GitHub redirects back with a code → the backend exchanges code for tokens → identity is read (e.g., user id, email) → app creates/updates users using external_id as the stable key.
  • Why we use “Direct” conversations with GitHub? It talks straight to GitHub’s OAuth endpoints, avoiding extra middle SaaS style layers that can fail, require passwords, and become a single point of failure.
  • Data model: external_id is the anchor. Email is optional data that may change; external_id won’t.
  • Security posture: No passwords stored locally. Use HTTPS, strict redirect URIs, and least scopes (often user:email). Tokens should be short‑lived and stored server‑side with care.

To keep your account secure, you must authenticate before you can access certain resources. When you authenticate, you supply or confirm credentials that are unique to you to prove that you are exactly who you declare to be.*

TL;DR tech stuff

  • You get a private internal id, a “GitHub id”
    • so the system recognizes you, and an email.
  • No password stored here, that would not be safe!
  • GitHub Auth = clean OAuth (Auth2) with GitHub as the identity source.
    • Plus GitHub includes a simple Google Login which is very secure and our preference.

Our history with authorization

Previous software we released, Canopys Task Scheduler, a desktop task schedule for both windows and mac, was a good demonstration of our knowledge with desktop development, creating executable files, and authorization embedded into an electronjs desktop only application. Building native web applications on desktop, using Auth0s authorization, a local SQLite database, not an easy task, however with NodeJS and electronjs we think life is much easier.

Learn more about ET1, contact us for any questions, demo, and access to beta.

ET1.1 Neon Input Node

ET1.1 Neon Input Node

The Neon Input Node is our first managed database access node, and an intuitive approach to giving people access to a serverless PostgreSQL which users are able to manage in Neon Lake.

Data here is safe, and protected by 0Auth (Two way authentication).

As you use ET1.1 csv files, json, and manual tables, this data will automatically flow to the Neon Lake. Making it available, immediately, in the Neon Input Node.

Think of the Neon Input Node as a way to collaborate easier across data development, and a way to begin bringing together flat files lost in the organization – in one node.

The Neon Input lets you access the Neon Lake from any Workflow.

Neon Input Node, enables teams to work together on the same source of truth and helps you to work across workflows with the same data source.

ET1 Neon Input Node requirements

ET1 Neon Input Node is not available in the Bronze Edition of ET1.

  1. Access to ET1.1 – Neon Edition
  2. GitHub account for OAuth Login
    • Login to ET1 with Github Auth2
    • Google Auth built into GitHub OAuth
    • Only accepting company emails

Contact DEV3LOPCOM, LLC for access to ET1 Neon.

How to use Neon Input Node

  • Add Neon Input Node to the canvas
  • Select a data table from the top 5 recent
  • Wild card search to find data in the Neon Lake
    • Search the original name
      • Tracks the origin
    • Search the display name
      • renaming Neon Lake Tables generates a display name
  • Pick the “amount” or “limit” of data passing down stream
    • 5, 50, 50k All
    • Defaulting to 5 rows
  • Send data downstream from this node to other nodes

Promote your Neon Input internally, resulting in a single source of truth!

Each usage of the Neon Input node is tracked in the Neon Lake, improving your journey towards the single source of truth.

Why would anyone limit data before viewing?

It’s a best practice to pull a subset of data and avoid querying “all” of your data if you don’t need to pull “all” of your data.

Pulling 5 rows of data is a good start, and by default we limit Neon Input Node to 5 rows.

Fetching less data means less compute is required and less client side processing.

Thanks for learning more about ET1’s Neon Input Node

We appreciate you using ET1’s Neon Input Node, and know if you have any questions… Please contact us.

We would love to hear about your solutions.

Return to ET1 Overview to learn more.

ET1 Constant Node

ET1 Constant Node

The Constant Node creates a constant value per row in your data pipeline.

This node is extremely handy when transforming data in your ETL processes.

The Constant Node is rather straight forward, two inputs and you’re done.

Using the Constant Node

Add the Constant Node to your canvas, send data downstream to your node and open the settings.

  1. edit the constant column name or keep it default “const”
  2. add a value

The Constant Node highlights the constant column so that you’re able to easily identify the additional column.

Using the Constant Node

Sending the City, State data from the CSV Input Node to the Constant Node and adding “USA” as the Value, and “Country” as the Column header.

Thanks for learning more about ET1’s Constant Node

We appreciate you using ET1’s Constant Node, and know if you have any questions… Please contact us.

We would love to hear about your solutions.

Return to ET1 Overview to learn more.